Skip to content

Releases: OpenC3/cosmos

v6.10.4

10 Jan 21:31

Choose a tag to compare

OpenC3 COSMOS Core 6.10.4 - Enhancements and bug fixes

Welcome to OpenC3 COSMOS Core 6.10.4!

We're back with a lot of documentation updates and a few cool new features. The first is the addition of the VARIABLE_DESCRIPTION and VARIABLE_OPTION keywords for plugin.txt. This will allow you to add documentation and drop down selections when VARIABLES are rendered when installing a new plugin. Here's an example from our Demo:

Screenshot 2026-01-10 at 2 30 40 PM

We also added a global setting to use a 24 hour clock chooser instead of the 12 hour AM/PM chooser.

With this release the focus now turns to COSMOS 7! We have a lot of great changes coming up including the use of the QuestDB time series database. We're also making a lot of internal changes to keep up with changing open source software.

As a reminder we made a critical security patch in COSMOS 6.10.2 which is included in this release.

All users regardless of current running version MUST upgrade to 6.10.2+ as soon as possible

Enhancements

  • Add VARIABLE_DESCRIPTION and VARIABLE_OPTION keywords for plugin.txt
  • Add global 24-hour time chooser setting
  • Data extractor log extra in decom
  • Add Force Re-init process
  • Select tgt, pkt, item name text when clicked
  • Various improvements to the Python websockets implementation
  • Config parser updates
  • Document upgrade instructions
  • Document derived item ordering behavior in Telemetry Viewer
  • Document PATH as reserved environment variable name
  • Document credentials and deployment security
  • Document microservices development
  • Document encryption protocols
  • Document read_details and write_details protocol methods

Bug Fixes

  • Fix Ruby JSON encoding to preserve Unicode characters like µA
  • Update ace-diff to fix line merging bugs
  • Remove hard coded tag in upgrade script

What's Changed

Full Changelog: v6.10.3...v6.10.4

v6.10.3

30 Dec 03:11

Choose a tag to compare

OpenC3 COSMOS Core 6.10.3 - Enhancements and bug fixes

Welcome to OpenC3 COSMOS Core 6.10.3!

We've made a number of enhancements and bug fixes as we close out the year and close out development of COSMOS 6. With this release the focus now turns to COSMOS 7! We have a lot of great changes coming up including the use of the QuestDB time series database. We're also making a lot of internal changes to keep up with changing open source software.

As a reminder we made a critical security patch in COSMOS 6.10.2 which is included in this release.

All users regardless of current running version MUST upgrade to 6.10.2+ as soon as possible

Enhancements

  • Upgraded XTCE converted to support 1.2
  • Add limits bar to details dialog for items with limits
  • Data Extractor add Username/Approver to command export
  • Telemetry Viewer file display and file checksum widgets
  • Telemetry Viewer generic tooltip capability
  • Script Runner indicator for tlm overrides
  • Command Sender description is yellow if hazardous parameter
  • Bucket Explorer enforce RBAC in config / logs buckets
  • Improve log sorting in CmdTlmServer log messages
  • Include shard logic in Kubernetes networking
  • Retry JsonDrb and API requests
  • Document cmd/tlm naming conventions
  • Document using target_name in ERB
  • Document Subpackets

Bug Fixes

  • Fix array of strings
  • Fix put_target_file won't accept IO files
  • Fix bracket items in Limits Monitor
  • Fix goto in Python with indentation
  • Fix python packet item ordering
  • Various fixes to QuestDB microservice

What's Changed

New Contributors

Full Changelog: v6.10.2...v6.10.3

v6.10.2

17 Dec 16:29

Choose a tag to compare

OpenC3 COSMOS Core 6.10.2 - Bug Fixes and Critical Security Patch

Welcome to OpenC3 COSMOS Core 6.10.2!

This is patch release to address a critical security issue and it also addresses several bugs.
Details of the security issue will be disclosed in a couple weeks after users have had a chance to upgrade.

All users regardless of current running version MUST upgrade to 6.10.2+ as soon as possible

If you are an OpenC3 customer and unable to upgrade near-term, please reach out to support@openc3.com and we will help with coming up with a patch strategy for older versions.

See our Upgrade Docs

Enhancements

  • Added a message when microservices shutdown cleanly to indicate why they are shutting down
  • Improved handling of array data and object data in commands
  • Improved docs

Bug Fixes

  • Fixed regular importing of target libraries in ScriptRunner (broken in 6.10.1)
  • Fixed handling of TEMPLATE in python
  • Fixed System.telemetry.value() with the LATEST packet in python

What's Changed

Full Changelog: v6.10.1...v6.10.2

v6.10.1

10 Dec 15:19

Choose a tag to compare

OpenC3 COSMOS Core 6.10.1 - Sub-packets and Structures

Welcome to OpenC3 COSMOS Core 6.10.1!

We're excited to announce several new features in COSMOS 6.10 related to how you can define and use packets.

The first is sub-packets which enable channelized telemetry. Sub-packets come with 2 new keywords: SUBPACKET and SUBPACKETIZER. The SUBPACKET keyword is added to a packet declared in your cmd/tlm definitions. The packet is then not used except via the SUBPACKETIZER for identifying chunks of data as a packet. Additional documentation and examples are coming soon!

The next is structures which allow you to include and automatically flatten structures that use a different Accessor in the middle of the packet. For example, you can insert a JSON structure right in the middle of a binary data packet! The new keyword is STRUCTURE and APPEND_STRUCTURE similar to our ITEM keywords.

To better support JSON we have added additional types including BOOL, ARRAY, OBJECT, and ANY. These are Booleans (true/false), arrays of unknown data type, objects with unknown contents, and a completely unknown data type with ANY.

Enhancements

  • Subpackets provides a process for breaking up packets during decom into subpackets
  • Structure items allow you to include structures with different accessors in a packet
  • Extended types including BOOL, ARRAY, OBJECT and ANY
  • Packet Viewer virtual table instead of pagination
  • Bucket Explorer multiple select and download
  • Interpret environment variable value as boolean instead of string
  • Keep menu open when submenu is clicked
  • Restrict file uploads for plugin installs to gem files
  • Add documentation for open_file_dialog and download_file
  • Add selective UBI builds and air-gapped network support for podman
  • Better error messages on plugin gem file upload
  • Implement missing System Telemetry and System Commands methods in python
  • Ensure python protocols support hex strings for parameters
  • Table Manager usability including File New and File Save workflows
  • Autonomic add buttons to Enable/Disable All Triggers

Bug Fixes

  • Support binary commands in Command Queue APIs and UI
  • Add RESTRICTED keyword to python
  • Fix CTRF download for Script Runner logs
  • Fix ScriptRunner handling of script crashed state
  • Fix screen generator for packet items containing brackets, e.g. ITEM[X]
  • Packet Viewer move tooltip to card header so that it is visible
  • Autonomic fix for listing all reactions for a given trigger
  • Autonomic fix for editing trigger changes value type
  • Autonomic timestamp in the event logs does not respect UTC timezone
  • View-only users can now use Command History and get command data from Data Extractor

What's Changed

Full Changelog: v6.9.2...v6.10.1

v6.9.2

05 Nov 21:22

Choose a tag to compare

OpenC3 COSMOS Core 6.9.2 - Important bug fixes

Welcome to OpenC3 COSMOS Core 6.9.2!

This release includes a few enhancements, a whole host of important bug fixes, and some documentation updates.

Enhancements

  • Bucket Explorer Refresh Interval configurable
  • Add confirmation in Script Runner on modified file navigation
  • Add ability to select queue from Command Sender
  • Add CLI option to create a command validator
  • ZSH autocomplete for openc3.sh
  • More consistent dialog behavior
  • Support pyproject.toml as well as requirements.txt in python plugins
  • Documentation updates for Admin tool, roles and permissions
  • Document openc3.sh and all the options
  • Add vulnerabilities page to docs

Bug Fixes

  • Add scrolling on list of modified files in the Plugins Tab
  • Fix Plugin tab state handling causing failed App-Store installs
  • Fix Script Runner log scrolling
  • Fix Script Runner stuck in readonly with only custom roles
  • Fix Telemetry Grapher "Value Type," "Reduced," and "Reduced Type" dropdowns
  • Fix Telemetry Grapher pause button positioning
  • Fix Telemetry Grapher pointsSaved (truncate the saved points)
  • Fix Data Extractor binary output
  • Telemetry Viewer update screens on target change and better handle target deletion
  • Fix tool generators to create working package.json files
  • Fix __name__ in Python scripts
  • Fix python router logic
  • Obfuscate pw / token in logs
  • Start queue_microservice with existing state (HOLD / RELEASE / DISABLED)

What's Changed

New Contributors

Full Changelog: v6.9.1...v6.9.2

v6.9.1

05 Oct 18:35

Choose a tag to compare

OpenC3 COSMOS Core 6.9.1 - Queue updates, docs, and bug fixes

Welcome to OpenC3 COSMOS Core 6.9.1!

We added queue_remove to the queue scripting APIs and fixed sending commands from the Command Queue (Enterprise) tool. We also changed several of the queue api parameters from index to id to better represent the usage.

Docs were updated and a few bugs fixed. This was a quick release from 6.9.0 as we continually improve the COSMOS experience.

Enhancements

  • Add queue_remove to scripting API
  • Updated Calendar docs
  • Updated CmdTlmServer docs
  • Limits Monitor wider item column

Bug Fixes

  • Fix default tab in CmdTlmServer
  • Fix connecting to running Script Runner Test Suite

All Pull Requests

Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+

To Run:

Please see our documentation at https://openc3.com

Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.

Thanks!

Full Changelog: v6.9.0...v6.9.1

v6.9.0

05 Oct 18:02

Choose a tag to compare

OpenC3 COSMOS Core 6.9.0 - Interface Data Flows & Protocol Details

Welcome to OpenC3 COSMOS Core 6.9.0!

We've added a new tab to the Command and Telemetry Server called Data Flows. This shows a diagram of all the COSMOS processing, Interfaces, and Targets and their connections. You can now dynamically remove and reassign connections between interfaces and targets. This also adds the ability to view individual protocols assigned to targets as well as their raw data processing. Using and debugging Interfaces and Protocols has never been easier!

For COSMOS Developers: We've switched from yarn to pnpm for our frontend package manager. We've committed the pnpm-lock.yaml files and will install via the frozen lock files. We've also implemented the new minimumReleaseAge: 1440 # 1 day option to prevent hacked packages from being immediately installed (if you're building from source). These changes require you to delete your local yarn.lock files and node_module directories. NOTE: This only applies if you're building from source. Most users should be using the cosmos-project to run COSMOS.

Enhancements

  • Edit commands in Script Runner with new dialog
  • Add DataFlows and Interface/Protocol Details User Interface
  • Switch to pnpm to protect against supply chain attacks
  • Ability to set default language for scripts (Python)
  • Allow Script Runner debugger to print object properties
  • Make plugin instance names repeatable
  • Python Bridge docs
  • Add the getting started video to the docs

Bug Fixes

  • Fix Python download_file API
  • Fix Python suite analysis by adding gem lib dir
  • Import Python's datetime as cdatetime to avoid conflicts
  • Handle LATEST with never received

All Pull Requests

New Contributors

Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+

To Run:

Please see our documentation at https://openc3.com

Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.

Thanks!

Full Changelog: v6.8.1...v6.9.0

v6.8.1

13 Sep 17:05

Choose a tag to compare

OpenC3 COSMOS Core 6.8.1 - Bug fixes

Welcome to OpenC3 COSMOS Core 6.8.1!

We fixed a few bugs discovered in COSMOS 6.8.0 around the new Queue feature as well as a Telemetry Grapher timezone issue. Everyone is encouraged to update and read the full 6.8.0 release notes for all the changes in COSMOS 6.8!

Enhancements

  • Move the raw-dialog to the top of the app window if dropped above it

Bug Fixes

  • Fix releasing commands when OPENC3_DEFAULT_QUEUE is set
  • Check for existing queue upon initialization if OPENC3_DEFAULT_QUEUE is set
  • Fix TlmGrapher timezone crash
  • Fix z-index of raw dialogs in CmdTlmServer

All Pull Requests

Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+

To Run:

Please see our documentation at https://openc3.com

Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.

Thanks!

Full Changelog: v6.8.0...v6.8.1

v6.8.0

12 Sep 02:11

Choose a tag to compare

OpenC3 COSMOS Core 6.8.0 - Queue API and Python Bridges

Important - TlmGrapher is broken in this release if a Time Zone is not explicitly set in Admin->Settings.
To workaround, goto Admin->Settings and hit Save on the Time Zone setting. Fixed in 6.8.1.

Welcome to OpenC3 COSMOS Core 6.8.0!

We laid the foundation for 2 new Enterprise Tools: Command Queue and Log Explorer. The Queue APIs are present in Core COSMOS and can be used to queue commands and execute them. We've ported the bridges to Python with new serial port support.

We've included a lot of quality of life and bug fix improvements as we march forward towards COSMOS 7!

Enhancements

  • New Enterprise tool Log Explorer
  • New Queue API
  • Python serial bridges with serial interface
  • Add formatting on byte column for Bucket Explorer
  • Add pretty-print feature to Admin / Redis tab
  • Improve handling of long file names in Script Runner
  • Reduce script log messages when interacting (pause, resume, etc)
  • Add Disable Command Validation in Command Sender
  • Improve search-ability on docusaurus
  • Add CTRF test report output

Bug Fixes

  • Custom x-axis item fixes
  • Fix issue where linking to tlmgrapher doesn't respect set timezone
  • Update InterfaceModel when changing params such as calling connect_interface
  • Fix flashing 404 page on slow connections
  • Do not disable command chooser when command name is null
  • Handle API error on Script Runner page load
  • Fix indentation for python test suites
  • Fix uploaded filename in script
  • Convert db column to correct type in TSDB

All Pull Requests

Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+

To Run:

Please see our documentation at https://openc3.com

Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.

Thanks!

Full Changelog: v6.7.0...v6.8.0

v6.7.0

05 Aug 02:56

Choose a tag to compare

OpenC3 COSMOS Core 6.7.0 - App Store & Screen Playback

Welcome to OpenC3 COSMOS Core 6.7.0!

We've launched several big features including integration with our new App Store! The Admin Plugins tab now has the ability to browse plugins directly in the App Store. The App Store will be adding features and plugins over the next few months as we build out this exciting new capability.

Telemetry Viewer now has the ability to playback stored telemetry to screens. This is enabled by a new container called openc3-tsdb (Time Series Database) powered by QuestDB. For now you have to manually enable this in our compose.yaml and .env files as it will cause data duplication into the database. We're very excited about the possibilities provided by this database and it will be a key piece of the future COSMOS 7.0.0 architecture.

We added a new Context Tag to the top right of the navigation bar. This will be configurable like the classification bar or the sub-title.

The CLI now has options to run Test Runner suites, groups, or scripts. This will make it much easier to execute your Test Runner scripts in a CI/CD pipeline.

Telemetry Grapher now has the ability to set a different value for the x axis. PACKET_TIMESECONDS is still the default but you can select RECEIVED_TIMESECONDS or anything else numeric and the graph will adjust accordingly.

Configuration Changes

The fix for traefik routing for items with periods requires updating your traefik config files. Follow the new upgrade process to make applying these changes easy.

Enhancements

  • New documentation for interface options, generic conversions, command validation, critical commanding, command authority, protocols, troubleshooting, and upgrading
  • Updated documentation to differentiate Ruby vs Python examples
  • Allow hex strings for array sizes, states, bit offsets, and bit sizes
  • Differentiate RAW widget settings so multiple RAW settings can be used

Bug Fixes

  • Cleanly shutdown packet logs
  • Fix python fixed size calculation to avoid log errors
  • Fix file handling for cli load
  • Fix variable bit size array items
  • Fix Classification-Banner and Snackbar relationship
  • Fix traefik routing for items with periods in the name

All Pull Requests

Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+

To Run:

Please see our documentation at https://openc3.com

Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.

Thanks!

Full Changelog: v6.6.0...v6.7.0