/  Yamcs Release Notes  /  Changes in 5.10

Changes in 5.10

Changes in 5.10.9 (2024-12-01)

  • Add stack step to insert arbitrary text

  • Add stack step to insert telemetry verifications

Changes in 5.10.8 (2024-11-21)

  • Bug fix in the parameter archive: when rebuilding intervals with gaps, the gaps would not be properly encoded, causing errors in retrieval. Implemented a consistency check which will inform if the parameter archive is corrupted and will suggest a rebuild of the specific interval.

  • Reorganize command form in collapsible sections

  • Allow privileged users to customize the stream when sending a command

Changes in 5.10.7 (2024-11-12)

  • Fixed IndirectParameterRefEntry bug not referencing the previous parameter id

  • Fixed replays causing memory leaks

  • Added a TimeBinaryEncoder that can encode timestamps into commands supporting time correlation (unlike the pure XTCE time encoding)

  • Reduced the memory usage of the parameter cache by referencing the same object in case of equality for string, binary, array and aggregate parameters.

Changes in 5.10.6 (2024-11-07)

  • Small tweaks and fixes related to: CFDP, web UI, algorithms

Changes in 5.10.5 (2024-10-24)

  • Small tweaks and fixes related to: Parameter Archive, CCSDS frames, web UI, Mission Database

Changes in 5.10.4 (2024-10-15)

  • Changed the custom RocksDB library introduced in 5.10.0 to support CPUs as old as Intel Core 2.

  • Added support for XTCE IndirectParameterRefEntry

  • Fixed the export buttons

  • Fixed the Packet Viewer

Changes in 5.10.3 (2024-10-07)

Version 5.10.3 released 7-Oct-2024

  • The alarm work done in 5.10.2 enabled by mistake the EventAlarmServer which used to be disabled by default. That causes Yamcs not to start in many configurations which used to work (including the quickstart) due to missing the event_alarms_realtime. This version restores back the old behaviour - namely the EventAlarmServer is disabled by default.

Changes in 5.10.2 (2024-10-06)

  • Improvement in command stacks: they are called simply “stacks” and allow interleaving commands with comments and steps allowing the operator to check the live value of defined parameters.

  • Added event filtering.

  • Alarm reloading - when Yamcs restarts it will reload the non-cleared alarms from the database such that they are active again.

  • Smaller tweaks and fixes.

Changes in 5.10.1 (2024-09-01)

Version 5.10.1 released 1-Sept-2024

  • Activities: Execute known script files with (configurable) external program.

  • Small tweaks and fixes related to Yamcs Web.

Changes in 5.10.0 (2024-08-11)

  • Introduced the RocksDB Merge Operator for the Parameter Archive. Archives created with this version will be incompatible with older versions of Yamcs. The Parameter Archive created with older versions of Yamcs will continue working with this version (and they remain backward compatible). The advantage of the Merge Operator is that it requires less memory when filling the Parameter Archive (the maxSegmentSize can be set to low values) without losing retrieval performance in the long run (RocksDB will merge in the background the small segments into larger intervals). To take advantage of this new format, a complete rebuild of the Parameter Archive is required (can be done with yamcs parameter-archive purge, yamcs parameter-archive rebuild)

  • Java 17 or higher is required starting with this version (Java 11 compatibility has been dropped)

  • Fixes an MDB cache issue introduce in recent releases

  • File transfer list was reworked to show all transfers on a single page, with filter capability

  • Various other small tweaks and fixes

Changes in 5.9

Changes in 5.9.11 (2024-10-15)

  • Fixed the export buttons

  • Fixed the Packet Viewer

Changes in 5.9.10 (2024-10-09)

  • The alarm work done in the previous release enabled by mistake the EventAlarmServer which used to be disabled by default. That causes Yamcs not to start in many configurations which used to work (including the quickstart) due to missing the event_alarms_realtime. This version restores back the old behaviour - namely the EventAlarmServer is disabled by default.

Changes in 5.9.9 (2024-10-06)

  • Improvement in command stacks: they are called simply “stacks” and allow interleaving commands with comments and steps allowing the operator to check the live value of defined parameters.

  • Added event filtering.

  • Alarm reloading - when Yamcs restarts it will reload the non-cleared alarms from the database such that they are active again.

  • Smaller tweaks and fixes.

Changes in 5.9.8 (2024-07-09)

  • small tweaks and fixes related to Parameter Archive, Frame valid/invalid counters, command dispatching, parameter link configuration.

  • updated yamcs-maven plugin to work with Java 22.

Changes in 5.9.7 (2024-06-19)

  • Fix event/command text search not matching beyond limit.

  • Fix extra command options not considered when scheduling command or stack.

  • Fix LDAP unauthenticated bind issue when using LdapAuthModule.

  • Add yamcs-web configuration option to allow displaying local times instead of UTC. Default behavior remains UTC.

  • Fix TC cascading when direct mapping was used.

Changes in 5.9.6 (2024-05-24)

  • Allow descriptions for aggregate members defined in the spreadsheet

  • Small tweaks and fixes

Changes in 5.9.5 (2024-05-11)

  • Add CSV export for commands

  • Small tweaks and fixes related to CFDP, Parameter Archive, Permissions, replication

Changes in 5.9.4 (2024-04-11)

  • Implemented sparse groups in the parameter archive. This allows faster retrieval and less memory consumed during builtup and retrieval, at the expense of sliglthy higher disk usage

  • Added a processor option to persist the latest parameter values, such that when Yamcs restarts, it remembers the values for all parameters with the persist flag set. In XTCE, all parameters have the flag set by default. For spreadsheets, they have to be marked specifically using the newly added ‘p’ flag.

  • For web-rendered OPI displays, show past values on plots, in addition to realtime values

  • Automatically update plots following completion of a backfill operation

  • For FilePollingTmDataLink, add a lastPacketStream option, so that the last packet on a dump stream could be emitted to the realtime stream (for updating display state of connected clients)

  • On GenericPacketPreprocessor, add a rootContainer option. Previously this could only be done by making a new stream.

Changes in 5.9.3 (2024-03-25)

  • Added a yamcs parameter-archive purge operation to remove completely the parameter archive before rebuilding. Sometimes the rebuild does not properly remove old data resulting in duplicates (this bug will be addressed in a future release) and the purge can be run to overcome the problem.

  • Added system parameters for reporting memory consumed by RocksDB

  • Improve accuracy of Archive Browser display

  • Improve visualization of arrays/aggregates in on-demand packet extraction result

  • Update to Angular 17 - this requires minimum node version 18

Changes in 5.9.2 (2024-03-12)

  • Tweak activity-related UI

  • Fix issue with cancelling of activities

  • Fix issue with verification of commands with non-parameter inputs

  • Fix yamcs-web packaging issue

  • Added an option dataPartitioningByTime to allow partitioning the tm, pp, events, alarms, cmdhistory tables and the parameter archive by time.

Changes in 5.9.1 (2024-03-06)

  • Fixed a bug whereas Yamcs won’t remember after the first restart that it stored the tm,pp and events table in a different RocksDB column family (option introduced in 5.9.0)

Changes in 5.9.0 (2024-03-05)

  • Added activities and procedures services and improved the timeline service

  • Reorganized the archive for improving performance:

    • Parameter Archive is stored on a separate column family “parameter-archive”. The parameter-archive suffers frequent rebuilds and storing data in a different cf will leave other data undisturbed when the parameter archive rebuilds.

    • The tm,pp and events tables are stored on a separate column family “rt_data” - these tables are mostly append only and require “realtimeish” performance.

  • Fix on-demand packet extraction in case of multiple on same timestamp

  • Add CSP 1.x pre/post processors

  • Add UdpTcTmDataLink for both TM and TC on a single socket pair

  • Improve application properties: dashes allowed, nesting allowed, spaces allowed in fallback value

  • Allow mapping verifier onSuccess/onFail/onTimeout from and to XTCE

  • Improve support for returning values from a verifier

  • Refresh OIDC tokens granted by external identity provider

  • Add opt-in OIDC back-channel logout support

  • Redirect to login following invalidation of the auth session

  • Allow seeing arguments inline, directly on command history page

  • Add ParameterListService for storing, and exporting lists of parameters

  • Rework server-side algorithm API to better allow for both system logging, as well as publishing events.

Changes in 5.8

Changes in 5.8.8 (2023-11-03)

  • Add API call to stream MDB items

  • Add API calls to add parameters/parameter types

  • Add API call to load large amounts of parameter values

  • Fixed some directory traversal vulnerabilities (CVE-2023-45278 and CVE-2023-45277)

  • Refactored the XtceDb/Mdb to allow writable (via API) SpaceSystems. Note: this may break plugins using internal Xtce classes.

Changes in 5.8.7 (2023-09-29)

Small tweaks and fixes (see changelog for details)

Changes in 5.8.6 (2023-09-18)

  • Cascading: implemented command mapping such that the commands from downstream can be embedded as binary arguments to upstream commands

  • First prototype for web extensions to allow plugins to add extensions to yamcs-web

  • Various smaller tweaks and fixes

Changes in 5.8.5 (2023-08-02)

  • Fixes auth issue introduced in 5.8.4

  • Various smaller tweaks and fixes

Changes in 5.8.4 (2023-07-28)

  • Group support on LDAP AuthModule

  • Various smaller tweaks and fixe

Changes in 5.8.3 (2023-07-05)

  • Consider config properties in etc/application.properties

  • Fix validation of priorityScheme option

  • Add option to fully disable login form

  • yamcs-web: fix binary argument input not showing

  • Various smaller tweaks and fixes

Changes in 5.8.2 (2023-06-12)

  • Add packet detail page, showing on-demand extraction result

  • Allow validation of link arguments, activated for all default links.

  • Serve static web UI files from root instead of /static

  • CFDP: allow to disable file listing and triggering file download from the yamcs-web. It requires setting two parameters in the CFDP configuration, please check the docs.

  • Various tweaks and fixes

Changes in 5.8.1 (2023-05-02)

  • Contains fixes from 5.7.13 (developed separately from 5.8.x)

  • Restore link enabled state and queue state across restarts

  • Add configuration option to show custom logo on the yamcs-web

  • Documentation improvements

  • Various tweaks and fixes

Changes in 5.8.0 (2023-04-03)

  • Upgraded to Rocksdb 7 (required for Apple ARM64 support). The new version should be backwards compatible but please make an extra backup of your data before upgrading.

  • Added support for Apple ARM64 (Apple M1 and M2 chips)

  • TSE (test support equipment): added support for UDP targets

  • Implemented more fine grained permissions for the yamcs-web Admin and File Transfer pages

Changes in 5.7

Changes in 5.7.13 (2023-04-18)

  • Fixed replay of packets when the MDB contains multiple roots

  • Fixed algorithm override not working

  • Fixed TcpTcTmDataLink detail

Changes in 5.7.12 (2023-03-21)

  • Fixes web query parameters stringify responsible for breaking the parameter plots (issue #768)

Changes in 5.7.11 (2023-03-20)

  • Fixes in the file transfer GUI: the local directory was not remembered in the preference store, and the show/hide bucket size toggle was broken

Changes in 5.7.10 (2023-03-14)

  • CFDP improvements: download via proxy request, file listing

  • Command Stack improvements: allow delay in between commands, allow specifying which acknowledgmetn to wait for

  • various tweaks and fixes

Changes in 5.7.9 (2022-10-28)

  • Added “cascading” feature: one Yamcs downstream server connects as a client to an upstream Yamcs server and receives TM packets, parameters, events and can send commands. It works best when the two servers share the same MDB. One common case in which the upstream server contains a partial command definition (perhaps only the headers) and the command from the downstream server is injected as the data part of that command, is not yet supported (but it will be soon!)

  • Improved the replay capabilities in yamcs-web

  • Various tweaks and fixes

Changes in 5.7.8 (2022-10-05)

  • Fix for CFDP service configured with enableAtStartup: false. Before the fix, the service was still processing incoming PDUs.

Changes in 5.7.7 (2022-10-03)

  • some fixes in the CFDP implementation:

    • when the FIN ACK is lost: the sender will keep sending FIN ACK for each FIN packet received (even if the transaction from the sender point of view is completed)

    • when the receiver is dead (or it does not acknowledge the EOF case). In that case Yamcs wanted to cancel the transaction but it got stuck

    • when the service is stopped, do not process incoming packets

  • add support for (variable length) array command arguments (only one-dimensional arrays supported for now)

  • various tweaks and fixes

Changes in 5.7.6 (2022-07-27)

  • added a low priority option when subscribing via websocket. This allows the yamcs-web to keep connected if there is high incoming data rate, at the expense of some of the messages not displayed.

  • bug fix parameter archive retrieval end conditions (sometimes it would send data that was past the stop time of the request)

  • allow java algorithms to specify their input list (if for any reason is not available in the xtce definition)

  • yamcs-web: Persist command stack options

  • Various tweaks and fixes

Changes in 5.7.5 (2022-07-24)

CFDP fixes

  • the pendingAfterCompletion parameter can be specified. previously it was not accepted in the configuration file.

  • fixed the number of pending downloads used to compare with the maxNumberDownloads parameter. Previously it would count also the already finished downloads and also the uploads.

Changes in 5.7.4 (2022-06-15)

  • added an option to the /api/stream-archive/{instance}:streamParameterValues (which extracts parameters using replays) to filter the packets based on the tm links
    on which they have been originally received. For example typically a different link is used to receive dump (recorded on-board) packets; This option can be used to extract parameters only from those. Or could be used to retrieve only from the realtime packets skipping the dump.

Changes in 5.7.3 (2022-06-09)

  • CCSDS TM/TC randomizer: fixed the interpretation of offset/length arguments (may affect custom encoders which want to randomize/derandomize only parts of the frames).

  • Allow custom (Java) algorithms to provide the list of output parameters at runtime (rather than in the MDB definition) such that those algorithms are not skipped at replay time if no output parameter has been declared in the MDB.

  • MDB: added internal support for ToString allowing to define how to display the values of parameters (will be implemented in the future in yamcs-web and Yamcs Studio)

  • yamcs-web:

    • Show favicon badge when there is an alarm

    • Add group action for queues

    • Show process tree on system page

    • Add Command detail page

Changes in 5.7.2 (2022-06-03)

  • yamcs-web: fix render issue with enumerated and command aggregate arguments

Changes in 5.7.1 (2022-05-30)

  • Allow 200 aliases in the yaml configuration files (the default was 50). The number can be configured via the java property org.yamcs.yaml.maxAliases

  • yamcs-web: Show detail field on links page

  • yamcs-client: fix generation of command source for command with binary arguments

  • fixed units in the data links synthesized parameters (e.g. /yamcs//tm_realtime/packetRate)

Changes in 5.7.0 (2022-05-28)

  • Renamed several java packages to avoid having the same package in different jars (this practice has been discouraged since the introduction of java modules) The “org.yamcs.xtceproc” and “org.yamcs.xtce” in yamcs-core has bene renamed to “org.yamcs.mdb”. May require update of custom plugins if they use classes from those packages.

  • Fixed a memory leak in relation to rocksdb snapshots (snapshots taken during parameter archive buildup were never released) and iterators (iterators were not closed when the replay was stopped before reaching the end)

  • Various tweaks and fixes

Changes in 5.6

Changes in 5.6.2 (2022-04-13)

  • Added support for Java 17 by using Nashorn javascript engine as a module

  • Removed support for Java 1.8 - 19

  • Various tweaks and fixes

Changes in 5.6.1 (2022-04-04)

  • Replication: detect and recover dead replication links

  • Replication: allow to synchronize the mission time across replication

  • Buckets: allow configurable limits for total size and number of objects in a bucket

  • Various tweaks and fixes

Changes in 5.6.0 (2022-03-02)

  • Keep a log of admin, link, queue and alarm activity

  • Add support for folder creation within buckets

  • Upgrade of protobuf dependency

  • Allow customizing message decoding of UdpParameterDataLink through extension

  • Add toggle to switch between hex/decimal input for unsigned integer arguments

  • API updates:

    • Link actions are now separate (one method per action)

    • Queue actions are now separate (one method per action)

    • Alarm actions are now separate (one method per action)

    • Old-style websocket is now fully removed (use new-style)

    • Tags are gone (use timeline)

  • Various tweaks and fixes

Changes in 5.5

Changes in 5.5.7 (2022-02-03)

  • restored backward compatibility for GenericPacketPreprocessor time decoding (in version 5.5.6 it was using the CUC decoder by default instead of using the FIXED decoder)

  • allow raw frame decoding using Reed-Solomon and de-randomization.

  • allow enabling errorDetection for uplink at virtual channel level.

  • fixed bug in FilePollingTmDataLink which was double counting the packets

Changes in 5.5.6 (2022-01-30)

  • allow algorithms to use parameter and processor times

  • allow disabling randomization for specific virtual channels

  • various tweaks and fixes

Changes in 5.5.5 (2021-10-20)

  • yamcs-web: fixed display of command arguments in the command history

Changes in 5.5.4 (2021-10-20)

  • Fixed the CLTU randomization sequence to conform to CCSDS 231.0 issue 4 when LDPC coding is enabled.

  • Accept numeric value of an enumeration command argument

  • Fixed lost frame count calculation

  • Allow DataSource=ground for parameters

  • Fixed CFDP reliable option not showing

  • Fixed duplicate data in the parameter archive

  • Allow specification of generation time in set parameter value requests

  • Allow configuring the number of threads serving HTTP requests

  • minor tweaks and fixes

Changes in 5.5.3 (2021-07-30)

  • first version of the Yamcs Timeline

  • various tweaks and fixes

Changes in 5.5.2 (2021-06-22)

  • Fixed XTCE reference solver of types para->Type->BaseType which were defined in reverse order in different files.

  • Fixed parameter archive retrieval of raw values only.

  • yamcs-web: fixed replication page not showing info.

Changes in 5.5.1 (2021-06-08)

  • Fixed (again) the name of the packets shown on yamcs-web front page (TM statistics)

  • Fixed an XTCE reference solving bug

  • Fixed the retrieval from parameter archive with the option useRawValue=true

Changes in 5.5.0 (2021-06-03)

  • Added algorithm status and tracing (currently only working for global algorithms)

  • Added support for XTCE transmission constraints and verifiers (using MatchCriteria, BooleanExpression…)

  • Added java-expression algorithms

  • Added types to system parameters

  • Fixed the realtime parameter archive - it can now be used as a preferred configuration for all systems receiving only realtime data (e.g. testing in an EGSE/Lab setup)

  • CCSDS Frame Processing: allow plugging user defined virtual channels handlers

  • Fixed the Parameter Archive to reconstruct aggregate and array parameters out of their components

  • minor tweaks and fixes

Changes in 5.4

Changes in 5.4.5 (2021-04-05)

  • Fixed a bug causing the rejection of aggregates with enumeration members when used as command arguments

Changes in 5.4.4 (2021-04-02)

  • Fixed a bug in the TM partitioning flags causing the homepage of Yamcs to not display the packets beyond the top level.

  • Fixed a typo in reading the TCO configuration causing the defaultTof option to be ignored.

Changes in 5.4.3 (2021-03-16)

  • added some REST calls for getting more detailed information about parameter archive (can be used to investigate problems of missing data).

  • added possibility to trace algorithm executions.

  • minor tweaks and fixes

Changes in 5.4.2 (2021-03-09)

  • Fixed the container name used as partition in the tm table. XtceTmRecorder will only use as partition (pname column in the tm table) the containers directly inherited from the root container defined on the stream on which the TM packet is received. Previously, if a container included another container inside, this last one would have been used as partition and also appear as the name of the packet in the home page of yamcs-web.

  • Added a maxValues parameter to the parameter range request

  • Added an API for instance reconfiguration - the instances created from templates can now be updated following template changes, or with modified template variables.

  • Allow aggregate values (not only members) to be used in Java algorithms (not yet available in Python or Javascript algorithms - these have to make reference to aggregate members)

  • minor tweaks and fixes

Changes in 5.4.1 (2021-02-17)

  • CFDP: allow to configure the inactivityTimeout

  • changed yamcs systemd script to not depend on bash being the system shell

  • add support for web response filtering

  • added a minRange option to the parameter range request allowing to limit the number of ranges returned. This is done by aggregating data into multi value range.

Changes in 5.4.0 (2021-02-10)

  • Generalized file transfers: allow different than CFDP file transfer services to be implemented offering the same external API.

  • Added displayName/email attribute support to YamlAuthModule

  • Added queueing support to CFDP - files can be queued for later upload

  • Allow multi-purpose links (e.g. both TM and TC)

  • Added a perftest example useful to asses the performance of Yamcs

  • Added a bidirectional TCP TM/TC link

  • Save the link name in the tm table - this allows later to find out packets received via a certain link

  • The usage of time of flight estimatro (TOF) in the time correlation service (TOC) has been made optional (a config setting can be used to set the tof to a fixed value)

  • yamcs-web: show an view of the replication status

  • yamcs-web: moved the buckets out of the admin area

Changes in 5.3

Changes in 5.3.5 (2020-12-20)

  • Fixed a bug related to CFDP records storage in archive - the entity id was not saved for the incoming transfers causing a NPE when retrieving the list of transfers

  • Changed the incoming CFDP transfers to use the object name specified in the metadata rather than an artificially created name.

Changes in 5.3.4 (2020-12-17)

  • Fixed a bug in replication introduced in version 5.3.2 when allowing tuples to contain null values.

  • Improved XTCE support for command verifiers, demonstrated with the PUS simulator.

Changes in 5.3.3 (2020-12-14)

  • Added a simple PUS simulator to exemplify the usage of the time correlation (TCO) service with a free running on-board clock.

  • Save the OBT (value of the free running on-board clock) in the tm table.

  • TCP and UDP packet links populate the ERT (Earth Reception Time) field of the TM packets with the local mission time as this is required by the TCO service.

Changes in 5.3.2 (2020-12-11)

  • Reorganized the service creation and initialization such that data links can have access to services before they are initialized. Otherwise for example if a pre-processor wanted to use a time correlation service, it was not possible to check that the service exists when the pre-processor was created.

  • CfsPacketPreprocessor can optionally use the time correlation service to verify the time extracted from the packet.

  • Removed the clock name from the time correlation service, use the serviceName instead.

Changes in 5.3.1 (2020-12-08)

  • CFDP improvements:

    • allow multiple services and multiple local and remote entities per service

    • allow to define fault handlers (i.e. suspend a transaction in case of error so it can be resumed)

  • minor tweaks and fixes

Changes in 5.3.0 (2020-11-25)

Version 5.3.0 released 25-Nov-2020

  • Added a bulk load option to be used by the command yamcs tables load. It does not update the histograms and also disables the RocksDB WAL (write ahead log) resulting in faster loads. the histograms have to be rebuilt manually after this.

  • Introduced a table format V3 which sorts properly the negative numbers and also the strings

    • most Yamcs tables use a timestamp as primary key and the timestamps before 1970 are represented as negative numbers and thus were not sorted properly

    • the old format V2 is still supported but new tables created with this Yamcs version will not be readable by a previous Yamcs vsersion.

  • Preview feature: secondary indices on tables; not used for regular Yamcs tables (tm, events, cmd_history, etc) but it will be used for the soon to come Yamcs timeline.

  • Preview feature: time correlation service; can be used to correlate a free running on-board clock with the ground time.

    • in case the on-board time is correlated using other means (e.g. on-board GPS receiver), the service can still be used for verifying the synchronization.

  • Yamcs-web:

    • show a preview of the evaluation of transmission constraints before sending a command

    • tables/streams are moved to admin section, and a web-based DB-shell is added

    • packets can now be individually exported or copied to clipboard

Changes in 5.2

Changes in 5.2.1 (2021-01-08)

YamlAuthModule: added a default role used when the user has no role assigned

Changes in 5.2.0 (2020-10-13)

  • allow all TM data links to update a simulation time if configured

  • allow the XTCE loader to load multiple files using a glob pattern or a list

  • added support for absolute time command arguments

  • added more options for time decoding of Cfs and Pus packet preprocessors.

  • added support for command arguments of type aggregate

  • minor tweaks and fixes

Changes in 5.1

Changes in 5.1.4 (2020-11-12)

  • fix serialization of integers in table load (used when importing previously exported data with yamcs tables load command)

Changes in 5.1.3 (2020-09-09)

  • minor tweaks and fixes

Changes in 5.1.2 (2020-08-28)

  • add support for variables when creating instances from templates

  • Add RemoteUserAuthModule for proxied authentication (API only)

  • Fix retrieval of single packets

  • minor tweaks and fixes

Changes in 5.1.1 (2020-08-02)

Fixed the GenericCommandPostprocessor to work with errorDetection: NONE (which is also the default if no errorDetection is specified)

Changes in 5.1.0 (2020-08-02)

  • moved the simulator into its own package out of the examples (such that the examples are independent of eachother)

  • changed the errorCorrection into errorDetection for TC frames (for consistency with TM links and also to documentation)

  • added a parameter on CfsCommandPostprocessor to allow swaping between checksum and command code (necessary on little endian systems with older versions of cFS)

  • added the possibility to specify patterns for the TC streams to define which command goes into which stream (before the way to do this was using some sql statements)

  • various bugfixes

Changes in 5.0

Changes in 5.0.0 (2020-07-03)

  • migrated the .def table definitions into the rocksdb. WARNING: the migration is automatic but once migrated the version 4 will not be able to read the data anymore! (the data in the database is not changed, if absolutely necessary we can make a version 4.10.x that can read it)

  • split Event and ParameterValue protobuf messages into internal and external. The internal messages use Yamcs timestamps whereas the external messages use protobuf timestamps.

  • changed the link configuration to be more consistent: removed the “args” parameter; all the properties should be moved one level up.

  • added a status bitfield on all packets where pre-processors can set specific flags such as: packet invalid local time used instead of spacecraft generation time extracted from packet do not archive

  • implemented a replication service

  • removed default yearly partitions for tm/pp data (can still be done by creating manually the tables)

  • added an option to send raw frame data over streams (such that they can be monitored externally or saved into tables)

  • CfsEventDecoder: added an option to specify byte endianess with default to big endian (used to be hardcoded to little endian) added also an option for the charset used to decode the text string, default to US-ASCII

  • removed yamcs-artemis (since it was used mainly for replication)

  • removed the IndexServer: The CCSDS completeness index functionality is provided now by the CcsdsTmIndex service. The histograms do not require definition of any extra service.

  • yamcs-xtce: all parameter and argument types need to be constructed through builders. all data encodings need to be constructed through builders. support the baseType XTCE property which allows a type to inherit properties from another type. AbsoluteTimeParameterType uses java Instant as initial value (rather than Yamcs times)

  • remove the yamcs-simulation rpm. Simulation is one of the examples along others.

  • updated RocksdDB to a newer version such that Yamcs can be run now on Windows 64bits and Linux ARM64 (e.g. Rasbperry Pi 4)

Changes in 4.10

Changes in 4.10.9 (2020-04-25)

  • reorganized the links by removing the DataLinkInitializer and creating a LinkManager that has more functionality, like for example being able to negatively acknowledge commands if all the TC links are disabled.

  • add a filter box to Packet Viewer (thanks to QinetiQ Space)

  • minor other tweaks and fixes

Changes in 4.10.8 (2020-02-28)

  • Fixed a shutdown issue with RealtimeArchiveFiller (#377)

  • Link activity is now protected by the ReadLinks privilege

  • Fixed an issue with completion of TSE commands

  • Minor other tweaks and fixes

Changes in 4.10.7 (2020-02-19)

  • added command stacks on the yamcs-web

  • added command clearance functionality

  • allow to specify command options (such as enabling/disabling pre-transmission constrains and post-transmission command verifiers) when sending commands

Changes in 4.10.6 (2020-02-13)

  • allow to save invalid packets into a stream/table for later retrieval

  • several improvements to CFDP

  • allow to configure CLTU start and tail sequence

  • added COP1 status subscription via websocket

  • other small fixes and improvements (see detailed git log for a list)

Changes in 4.10.5 (2019-11-25)

  • small random fixes and improvements (see detailed git log for a list)

Changes in 4.10.4 (2019-11-05)

  • made the command acknowledgments more uniform

  • cancel the pending verifiers on command completion

  • improvements into the command queue definition

  • added CCSDS TC Data Link protocol including COP1

  • allow links to set an Earth Reception Time on TM packets (used by the SLE link to set the time as received from the ground station) - useful for spacecraft/ground time synchronization purposes

  • various changes in the web interface

  • various bugfixes

Changes in 4.10.3 (2019-09-24)

  • changed the alarms to follow more closely the ISA-18.2 standard

  • added a user management module in the web interface

  • improved validation of yaml configuration files

  • many improvements in the web interface

  • various bugfixes

Changes in 4.10.2 (2019-07-17)

  • various bugfixes

Changes in 4.10.1 (2019-07-08)

  • fixed bug with TSE driver not recovering from connection reset

  • allow specific buckets to map to the file system instead of rocksdb (previously it was all or nothing)

Changes in 4.10.0 (2019-06-14)

  • added a UDP TC data link

  • added pre/post processors for cFS

  • added initial CFDP support

Changes in 4.9

Changes in 4.9.5 (2019-05-08)

  • fixed bug in 4.9.4 that causes the websocket packet subscriptions to fail (meaning that Packet Viewer was not working)

Changes in 4.9.4 (2019-05-07)

  • fixes replay with multiple XTCE root containers

  • added support for HTTPS

  • added the Enumerated parameter value type (previously, the values for the XTCE Enumerated parameter types were represented as parameter values with String engineering value and Integer raw value)

Changes in 4.9.3 (2019-04-03)

  • fixes command queues displays

Changes in 4.9.2 (2019-04-01)

  • allow to set (via REST) individual members of aggregates and elements of arrays

  • better support for XTCE initial values

  • various bugfixes

Changes in 4.9.1 (2019-03-24)

  • allow to get and subscribe individual members of aggregates and elements of arrays

  • various bugfixes

Changes in 4.9.0 (2019-02-19)

  • added support for CCSDS TM frame protocols (TM, AOS and USLP frames)

  • various improvements in yamcs-web

Changes in 4.8

Changes in 4.8.1 (2019-01-28)

  • allow multiple TSE commands in one telecommand

  • various bugfixes

Changes in 4.8.0 (2019-01-28)

  • allow to create instances on the fly from templates

  • added a generic packet input stream (for spiting tcp stream into packets)

  • added a generic packet preprocessor that reads timestamps in UNIX millisec format and sequence count from user defined offsets

Changes in 4.7

Changes in 4.7.3 (2018-11-26)

  • allow to online (i.e. without modifying the MDB) change calibrations and alarms for parameters part of a running processor

  • various bugfixes

Changes in 4.7.2 (2018-10-30)

  • various bug fixes

Changes in 4.7.1 (2018-10-12)

  • small bug fixes

Changes in 4.7 (2018-09-28)

  • implemented interface to Test Support Equipment (power supplies, osciloscopes, …)

  • several changes in instance state - allow offline instances

  • implemented step by step replay

  • allow same DataLink to be IN and OUT

  • added some options in the simulator to allow performance testing

  • create a new rpm for yamcs-client containing the java swing clients. Most of the functionality is already available in the Yamcs Web so this package will be discontinued in the future.

Changes in 4.6

Changes in 4.6.3 (2018-08-28)

  • limit the number of parameters that can be stored in one segment of the parameter arhchive to avoid OOM errors

  • various small bugfixes

Changes in 4.6.2 (2018-07-25)

  • implemented better cleanup after instance shutdown and restart

  • store CCSDS TM Index also in the tablespace (rahter than in a separate rocksdb database)

Changes in 4.6.1 (2018-07-18)

  • added support for XTCE IndirectParameterRefEntry

  • added EXTERNAL data sources to better support writable parameters not managed by yamcs

Changes in 4.6.0 (2018-07-11)

  • introduced aggregate and array data types (not yet fully working with the parameter archive)

  • introduced a V7 spreadsheet loader that makes a distinction between parameters/arguments and their data types

  • added support for MIL-STD-1750A floating point encoding (32 and 48 bits)

  • added a ECSS/PUS packet preprocessor

  • added a CCSDS Unsegmented Time Code decoder

  • config: Deprecate webConfig in favour of args under HttpServer

  • archive: Add File System-based bucket implementation

  • web: Add file browser for quickly accessing displays in standalone mode

  • web: Add full-screen support for both displays and layouts

  • web: Add parameter table viewer

Changes in 4.5

Changes in 4.5.0 (2018-06-26)

  • added a simple object storage API (buckets)

  • security improvements - it is possible now to stack multiple AuthModules to provide authentication/authorization from diferent sources.

  • added a Kerberos/Spnego authModule

  • Introduced YamcsService as a required interface for global and instance services

  • Show contextual calibrators in web interface

  • Added various CLI commands (for buckets, processors, clients)

  • General clean-up of Yaml configuration files to match closer to the upcoming Server manual

  • added a last value cache that is present all the time.

Changes in 4.4

Changes in 4.4.2 (2018-05-23)

  • yamcs-web: support multiple series plots

  • TmLink: added the posibility to specify the checksum type in the Columbus pre-processor and added an option to drop corrupted packets.

Changes in 4.4.1 (2018-05-14)

  • added the possibility to exclude parameter groups from replays

  • yamcs-web: added a view for the archive index

  • yamcs-web: support replays

  • fixed the retrieval of static files when zeroCopy was disabled

  • bugfix: in /api/instances do not reload the XtceDb from disk, instead provide information about the db already loaded

  • bugfix: when an instance fails to init - force it to the FAILED state (rather than NEW), also do not store the instances that failed to init in the instance list

Changes in 4.4.0 (2018-05-07)

  • added support for context calibrators

  • added support for XTCE MathOperationCalibrator

  • fixed the names in the spreadsheet such that additional columns can be inserted without loosing compatibility.

  • added support for XTCE MathOperation algorithms

  • various XTCE parser fixes

Changes in 4.3

Changes in 4.3.1 (2018-04-25)

  • parameter archive: fixed encoding of boolean segments

  • XTCE parser: fixed parsing container references in command definition

  • yamcs-web: allow to set software parameters and display information about time parameters

Changes in 4.3.0 (2018-04-23)

  • implemented IncludeCondition for container and parameter entries as per XTCE spec

  • server support for access token generation based on password credentials

  • updates to yamcs-web to support authentication and privilege checking (using access tokens)

  • fixed the parameter archive for boolean parameters

  • fixed the processing of XTCE absolute time parameters

Changes in 4.2

Changes in 4.2.2 (2018-04-17)

  • partially fixed the parameter archive for boolean parameters

Changes in 4.2.1 (2018-04-17)

  • send events when an algorithm execution fails

  • read commands from XTCE XML files compatible with CCSDS green book

Changes in 4.2.0 (2018-04-06)

  • various web improvements - alarm detail, plots improvement, event downloads…

  • added parameter ranges API

  • allow to filter stream data on protobuf message properties

  • better enforcements of privileges on table/stream downloads/uploads and other REST calls

Changes in 4.1

Changes in 4.1.2 (2018-03-14)

  • fixed bug in the parameter archive encoding of large integer numbers

  • fixed the handling of expiration of parameters when the processor is running with a simulated clock

  • Events significance: added the XTCE significance levels for Events produced from the MDB algorithms

Changes in 4.1.1 (2018-03-07)

  • added an alternative Parameter Cache that consumes less memory by using array of primitives to store parameter values

  • refurbished yamcs-web

  • support multiple parameter subscriptions via the websocket

  • serialized XTCEDB use now a filename which is a SHA-1 of the old filename (which is made of the list of individual components of the XtceDB). This avoids problems with too long filenames.

Changes in 4.0

Changes in 4.0.1 (2018-02-05)

  • fixed Artemis data links to acknowledge the messages (otherwise they are kept indefinitely on the server)

  • the parameter select dialog from the Archive Browser will show now also parameters that are not part of containers

Changes in 4.0.0 (2018-01-10)

  • fixed the version 6.0 in refmdb.xls and the changelog (it was mistakenly written as version 5.7 not matching the SpreadsheetLoader)

  • TcpTcDataLink: the configuration can be made in the service declaration in yamcs..yaml, not necessary to have the tcp.yaml anymore

  • changed algorithms to work as functions such that they can coexist in the same scriptEngine (to improve performance)

  • allow java-expressions to be used for command argument reverse calibrations (eng->raw value conversion)

  • Spreadsheet Loader: allow to better specify the encoding in the command arguments

  • Introduced tablespaces to

    • use less rocksdb databases for one yamcs instance

    • allow to share the same rocksdb databae for multiple instances (useful in case of short lived instances such as simulation/test sessions)

    • improve starting performance - no more need to scan all the databases at startup

  • renamed yprocessor.yaml to processor.yaml and replaced “tmProvider”, “commanReleaser”, “parameterProviders” with generic “services”

  • changed WebSocket parameter unsubscribe all to unsubscribe both the “all” subscription as well as the individual subscriptions (if any). Fixes issue #210 in github.

  • Introduced two components part of the TM Packet Data Link:

    • packet input stream - responsible for chopping up a stream into packets

    • packet preprocessor - responsible for extracting basic information (time, seq count) from a packet