Constellation Preview Release 0.4#

We are happy to announce our biggest release yet, Constellation version 0.4, named Circinus. This release features some minor protocol updates, a new satellite and various improvements to many aspects of the framework.

The following changes to the protocols are included in this release:

  • MR!638: Protocols the CHIRP service identifier to be used where nowhere specified, now they are specified in the corresponding protocols using CHIRP for discovery

  • MR!624: The timestamp in the header of a CDTP message was removed as a minor performance optimization

  • MR!604: CHP messages are now multipart messages also containing a status message

  • MR!578: CMDP now contains a message type called notifications, which can be used to get a list of all monitoring topics

  • MR!469: CSCP commands can now be hidden by adding _ as first letter

The following changes related to satellites are included in this release:

  • MR!618: Introduces the Mattermost satellite, which can be used as a logger connected to a Mattermost channel

  • MR!685: Adds the channel_names and sampling_interval parameters to the LakeShore218 satellite

The following changes related to the user interfaces are included in this release:

  • MR!602: Fix a bug which lead to a crash in Observatory when inspecting messages

  • MR!598/MR!613/MR!611: Improve performance of Observatory when many messages have been logged

  • MR!608: Add per-sender extra subscription settings to Observatory

  • MR!687: Clear senders and topics when clearing messages in Observatory

  • MR!615: Improve the custom command dialog for MissionControl

  • MR!623: Add dialog for satellite details to MissionControl

  • MR!614: The run sequence counter in MissionControl is now always incremented when leaving the RUN state, which ensure consistent run numbers when a failure happens during the run

  • MR!641: Add icons to the context menu in MissionControl

  • MR!699: Explicitly initialize Qt resources to prevent a bug where icons next to buttons are not shown

The following improvements for the C++ version are included in this release:

  • MR!626: Receiver satellites now only check for EORs when interrupting from RUN

  • MR!601/MR!649: Automatically adds BYTES_TRANSMITTED, BYTES_RECEIVED, and FRAMES_TRANSMITTED metrics to all transmitter / receiver satellites

  • MR!648: Receiver satellites can now configure an output file and validate its directory, which registers automatically registers a DISKSPACE_FREE metric

  • MR!621: Satellites now emit status messages via CHP when a state is changed

  • MR!683: Satellites can now request to move to ERROR in background threads via the FSM

  • MR!696: Fix a bug that results in an inconsistent configuration when reading a configuration file with inconsistent casing

  • MR!643: Introduces the manager registry, which improves the initialization and destruction order of static managers

  • MR!531: Catch msgpack exception and throw framework exception

  • MR!617: Load satellite libraries installed when in meson devenv

  • MR!627: On Linux, threads are now named for an improved debugging experience

The following improvements for the Python version are included in this release:

  • MR!622: Fix a bug where function names clashed

  • MR!639: Implement logging from different topics

The following miscellaneous changes are included in this release:

  • MR!633: Add documentation for the the Pxar satellite (external)

  • MR!694: A tutorial for the Observatory UI has been added

  • MR!703: The KDE Flatpak runtime has been updated to version 6.9

  • Pull requests on GitHub are now mirrored to GitLab to run the CI

The software is publicly available under the EUPL-1.2 from the DESY GitLab repository. In addition, the Python version is available on PyPI and the C++ version is available on Flathub for Linux.

It should be noted that this is a preview release and some interfaces and protocols might change until the first official major release.

Screenshot of a Mattermost channel with log messages Screenshot of the Observatory logging interface