Skip to content

Commit 7ea2dee

Browse files
Merge branch 'release-4.2' into src. Close #58.
2 parents e5860b7 + 5a8e110 commit 7ea2dee

File tree

1 file changed

+53
-18
lines changed

1 file changed

+53
-18
lines changed

home.md

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,68 @@
11
## News
2-
**Release 3.20 -- 2024-07-07**
2+
**Release 4.2 -- 2025-01-07**
33

4-
We are pleased to announce the release of Copilot 3.20, a stream-based DSL
5-
for writing and monitoring embedded C programs, with an emphasis on correctness
6-
and hard realtime requirements. Copilot is typically used as a high-level
7-
runtime verification framework, and supports temporal logic (LTL, PTLTL and
8-
MTL), clocks and voting algorithms.
4+
We are pleased to announce the release of Copilot 4.2, a stream-based DSL for
5+
writing and monitoring embedded C programs, with an emphasis on correctness and
6+
hard realtime requirements. Copilot is typically used as a high-level runtime
7+
verification framework, and supports temporal logic (LTL, PTLTL and MTL),
8+
clocks and voting algorithms.
99

1010
Among others, Copilot is being used at the Safety Critical Avionics Systems
1111
Branch of NASA Langley Research Center for monitoring test flights of drones.
1212

13-
This release introduces support to upload the values of fields in structs, and
14-
add support for GHC 9.8. We also remove deprecated functions from
15-
`copilot-language` that had been renamed in prior versions for compatibility
16-
with newer versions of GHC.
13+
This release introduces several big improvements to Copilot:
14+
15+
- Specifications can now use the same handler for multiple monitors, provided
16+
that the arguments to those handlers always have consistent types and arity.
17+
This simplifies the code that uses Copilot, since it's no longer necessary to
18+
create multiple boilerplate wrappers around the same handling routines.
19+
20+
- The use of structs has been vastly simplified. Before, it was necessary to
21+
define class instances for structs, whose implementations were, although
22+
repetitive, not intuitive especially for users unfamiliar with Haskell. In
23+
Copilot 4.2, it is now possible to define those methods automatically by
24+
relying on default method implementations that work well for most cases,
25+
although users retain the ability to customize those methods if desired.
26+
27+
- We have increased test coverage in `copilot-core`, reaching full coverage of
28+
the public interface.
29+
30+
The interface of `copilot-core` has also been simplified, deprecating record
31+
fields of an existential type UExpr, which were largely unused outside of
32+
Copilot's internals.
33+
34+
The new implementation is compatible with versions of GHC from 8.6 to 9.10, as
35+
well as with the Stackage Nightly.
36+
37+
This release has been made possible thanks to key submissions from Frank Dedden
38+
(@fdedden), Ryan Scott (@RyanGlScott), and Kyle Beech (@kaBeech), the last of
39+
which is also a first-time contributor to the project. We are grateful to them
40+
for their timely contributions, especially during the holidays, and for making
41+
Copilot better every day. We also want to thank the attendees of Zurihac 2024
42+
for technical discussions that helped find the right solutions to some of the
43+
problems addressed by this release.
1744

1845
Details are available
19-
[here](https://github.com/Copilot-Language/copilot/milestone/27?closed=1),
46+
[here](https://github.com/Copilot-Language/copilot/milestone/30?closed=1),
2047
and
21-
[here](https://github.com/Copilot-Language/copilot/releases/tag/v3.20).
48+
[here](https://github.com/Copilot-Language/copilot/releases/tag/v4.2).
49+
50+
As always, we're releasing exactly 2 months since the last release. Our next
51+
release is scheduled for Mar 7th, 2025.
2252

23-
Current emphasis is on introducing support to update the values of elements in
24-
arrays, improving the codebase in test coverage, removing unnecessary
25-
dependencies, hiding internal definitions, and formatting the code to meet our
26-
new coding standards. We also plan to add extensions to be able to visualize
27-
streams. Users are encouraged to participate by opening issues and asking
28-
questions via our [github repo](https://github.com/copilot-language/copilot).
53+
We want to remind the community that Copilot is now accepting code
54+
contributions from external participants again. Please see the discussions and
55+
the issues to learn how to participate.
56+
57+
Current emphasis is on improving the codebase in terms of performance,
58+
stability and test coverage, removing unnecessary dependencies, hiding internal
59+
definitions, formatting the code to meet our new coding standards, and
60+
simplifying the Copilot interface. Users are encouraged to participate by
61+
opening issues, asking questions, extending the implementation, and sending bug
62+
fixes via our [github repo](https://github.com/copilot-language/copilot).
2963

3064
## License
65+
3166
Copilot is distributed under the BSD-3-Clause license, which can be found
3267
[here](https://raw.githubusercontent.com/Copilot-Language/Copilot/master/LICENSE).
3368

0 commit comments

Comments
 (0)