- Changes in 5.10
- Changes in 5.10.9 (2024-12-01)
- Changes in 5.10.8 (2024-11-21)
- Changes in 5.10.7 (2024-11-12)
- Changes in 5.10.6 (2024-11-07)
- Changes in 5.10.5 (2024-10-24)
- Changes in 5.10.4 (2024-10-15)
- Changes in 5.10.3 (2024-10-07)
- Changes in 5.10.2 (2024-10-06)
- Changes in 5.10.1 (2024-09-01)
- Changes in 5.10.0 (2024-08-11)
- Changes in 5.9
- Changes in 5.9.12 (2024-12-10)
- Changes in 5.9.11 (2024-10-15)
- Changes in 5.9.10 (2024-10-09)
- Changes in 5.9.9 (2024-10-06)
- Changes in 5.9.8 (2024-07-09)
- Changes in 5.9.7 (2024-06-19)
- Changes in 5.9.6 (2024-05-24)
- Changes in 5.9.5 (2024-05-11)
- Changes in 5.9.4 (2024-04-11)
- Changes in 5.9.3 (2024-03-25)
- Changes in 5.9.2 (2024-03-12)
- Changes in 5.9.1 (2024-03-06)
- Changes in 5.9.0 (2024-03-05)
- Changes in 5.8
- Changes in 5.7
- Changes in 5.7.13 (2023-04-18)
- Changes in 5.7.12 (2023-03-21)
- Changes in 5.7.11 (2023-03-20)
- Changes in 5.7.10 (2023-03-14)
- Changes in 5.7.9 (2022-10-28)
- Changes in 5.7.8 (2022-10-05)
- Changes in 5.7.7 (2022-10-03)
- Changes in 5.7.6 (2022-07-27)
- Changes in 5.7.5 (2022-07-24)
- Changes in 5.7.4 (2022-06-15)
- Changes in 5.7.3 (2022-06-09)
- Changes in 5.7.2 (2022-06-03)
- Changes in 5.7.1 (2022-05-30)
- Changes in 5.7.0 (2022-05-28)
- Changes in 5.6
- Changes in 5.5
- Changes in 5.4
- Changes in 5.3
- Changes in 5.2
- Changes in 5.1
- Changes in 5.0
- Changes in 4.10
- Changes in 4.10.9 (2020-04-25)
- Changes in 4.10.8 (2020-02-28)
- Changes in 4.10.7 (2020-02-19)
- Changes in 4.10.6 (2020-02-13)
- Changes in 4.10.5 (2019-11-25)
- Changes in 4.10.4 (2019-11-05)
- Changes in 4.10.3 (2019-09-24)
- Changes in 4.10.2 (2019-07-17)
- Changes in 4.10.1 (2019-07-08)
- Changes in 4.10.0 (2019-06-14)
- Changes in 4.9
- Changes in 4.8
- Changes in 4.7
- Changes in 4.6
- Changes in 4.5
- Changes in 4.4
- Changes in 4.3
- Changes in 4.2
- Changes in 4.1
- Changes in 4.0
Yamcs Server Manual
Yamcs HTTP API
Source Code Documentation
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.12 (2024-12-10)¶
Cascading: allow specifying a post-processor to be used by the embedded binary commands
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 alastPacketStream
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 arootContainer
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
privilegeFixed 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