Hi café!

We are really excited to announce Copilot 4.6.1 [1, 2]. Copilot is a
stream-based EDSL in Haskell for writing and monitoring embedded
systems, with an emphasis on correctness and hard realtime
requirements. Copilot is typically used as a high-level runtime
verification framework, and supports temporal logic (LTL, PTLTL and
MTL), clocks and voting algorithms. Compilation to Bluespec, to target
FPGAs, is also supported.

Copilot is NASA Class D open-source software, and is being used at NASA
in drone test flights. Through the NASA tool Ogma [3] (also written in
Haskell), Copilot also serves as a programming language and runtime
framework for NASA's Core Flight System, Robot Operating System (ROS 2)
and FPrime (the software framework used in the Mars Helicopter). Ogma
now supports producing flight and robotics applications directly in
Copilot, not just for monitoring, but for implementing the logic of the
applications themselves.

This release improves the Bluespec backend, fixing corner cases related
to the generation of Bluespec (and thus Verilog). The release also
introduces some general maintenance improvements.

Copilot is compatible with versions of GHC from 8.6 to 9.12.

This release has been made possible thanks to Chris Hathhorn (Galois)
and Trevor Kann (Galois). The team also benefited from discussions with
Ryan Scott (Galois). We are grateful to all of them for their
contributions, and for making Copilot better every day.

For details on this release, see [1].

As always, we're releasing exactly 2 months since the last release. Our
next release is scheduled for Mar 7th, 2026.

We want to remind the community that Copilot is now accepting code
contributions from external participants again. Please see the
discussions and the issues in our Github repo [4] to learn how to
participate.

Current emphasis is on using Copilot for full data processing
applications (e.g, system control, arduinos, rovers, drones), improving
usability, performance, and stability, increasing test coverage,
removing unnecessary dependencies, hiding internal definitions, and
formatting the code to meet our coding standards. Users are encouraged
to participate by opening issues, asking questions, extending the
implementation, and sending bug fixes.

Happy Haskelling!

Ivan

--

[1] https://github.com/Copilot-Language/copilot/releases/tag/v4.6.1

[2] https://hackage.haskell.org/package/copilot

[3] https://github.com/nasa/ogma

[4] https://github.com/Copilot-Language/copilot