Skip to content

Releases: OpenC3/cosmos

v5.7.2

16 May 20:44
Compare
Choose a tag to compare

OpenC3 COSMOS 5.7.2 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.7.2!

This is just a minor release primarily to sync Base and Enterprise versions before the upcoming 5.8.0 release. It includes one update to support styling of buttons in COSMOS tool dialogs.

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.7.0

11 May 03:48
Compare
Choose a tag to compare

OpenC3 COSMOS 5.7.0 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.7.0!

DataViewer Components

DataViewer is now customizable with custom components. Add your own DataViewer widgets to display textual data for your targets! See the demo plugin for examples.

SLIP and COBS Protocols

New packet delineation protocols that have historically been used with serial interfaces.

New download_file script method

Allows for easily downloading files from the browser in ScriptRunner.

Metadata Improvements

Viewing, Editing, and Creating Metadata is now greatly improved

Interface Modifiers

Interfaces (and Routers) can now take most of the same configuration options as microservices to allow for customizations such as setting specific environment variables for an interface.

Other Interesting Changes

  1. Graphs now pause when you zoom in
  2. TableManager can now handle files with names different than the definition names
  3. ValueWidgets in Telemetry Screens are now better justified

Important Bug Fixes

  1. ScriptRunner could write over original script with a subscript due to an autosave bug while running
  2. TlmViewer width subsettings fixed

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.6.1

21 Apr 14:10
Compare
Choose a tag to compare

OpenC3 COSMOS 5.6.1 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.6.1!

This is a quick bug fix release to handle an issue users had upgrading from 5.5.x to 5.6.0. Please skip 5.6.0 and upgrade directly to this release. See the 5.6.0 release notes for the major new features in 5.6.x.

Important Migration Note from 5.5.x

TlmViewer widgets had to be updated to support opening screens from ScriptRunner which caused a breaking change for any plugins containing a custom widget. Plugins with a custom widget will need to update their package.json file to use @openc3/tool-common version 5.6.0 (or later), and be rebuilt/reinstalled.

Important Bug Fixes

  1. The migration script from 5.5.x to 5.6.0 was failing
  2. The block widget now works correctly

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.6.0

17 Apr 14:28
Compare
Choose a tag to compare

OpenC3 COSMOS 5.6.0 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.6.0!

This release brings some great new features, and also includes some important bug fixes. Everyone is encouraged to upgrade.

Important Migration Note

TlmViewer widgets had to be updated to support opening screens from ScriptRunner which caused a breaking change for any plugins containing a custom widget. Plugins with a custom widget will need to update their package.json file to use @openc3/tool-common version 5.6.0 (or later), and be rebuilt/reinstalled.

Open Telemetry Screens in Script Runner

You can now open telemetry screens in ScriptRunner! Either existing screens or using the local_screen feature you can define a unique screen right from your script.

display_screen("INST", "ADCS")
wait(3)
clear_screen("INST", "ADCS")
wait(3)
display_screen("INST", "IMAGE")
wait(3)
clear_all_screens()
wait(3)
definition = '
SCREEN AUTO AUTO 1.0

VERTICALBOX "Test Screen"
  LABELVALUE INST HEALTH_STATUS TEMP1
  LABELVALUE INST HEALTH_STATUS RECEIVED_TIMEFORMATTED WITH_UNITS 30
END
'
local_screen("TEST", definition)

Widget Generator

Our plugin generators now support custom widgets. Run with: openc3.sh cli generate widget MyWidget

Diff plugin.txt on Plugin Upgrades

Now if you upgrade a plugin and the plugin.txt file was changed, you will be presented with a diff interface that shows the changes and allows you to pick which lines you want to keep.

Install Plugins and Gems from the command line

The openc3cli command has been updated to support loading plugins and gems from your host machine. You can use like follows:

gem install openc3
openc3cli load /path/to/myplugin.gem
openc3cli unload myplugin.gem__12345667
openc3cli geminstall my.gem
openc3cli gemuninstall my.gem

log_message parameter added to cmd() apis

cmd() can now take an optional keyword argument called log_message that allows you to optionally not have a command be printed into the log messages. This is useful if you are frequently sending a command or at a high rate, and don't want to spam the log messages. Note: All commands are always logged to our packet logs.

TlmGrapher Show Limits Updated

TlmGrapher Show Limits has been updated to color in the background for each section of limits. This makes the limits ranges much easier to see.

CRC8 Code

We now ship code to perform CRC8 calculations, on top of our existing CRC16, CRC32, and CRC64 functionality.

Important Bug Fixes

  1. get_cmd_value and get_cmd_time now work correctly
  2. The details dialog now works correctly with DERIVED items
  3. Script instrumentation now handles more complicated cases with lots of newlines
  4. Fixed run_script and the other script apis from Ruby
  5. TableManager now properly formats binary fields
  6. connect_interface now works correctly when given parameters
  7. inject_tlm now handles packets with a PACKET_TIME
  8. Fix target_index in packet log files

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.5.2

16 Mar 12:20
Compare
Choose a tag to compare

OpenC3 COSMOS 5.5.2 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.5.2!

Enhanced Local Mode

Local mode now captures tools configurations and global settings. These values are loaded into the system during init.
Note that these files are written to the local volume as they are changed, but are only synced back to the server on a run of the init container.

Docker Compose V2

We've updated our scripts to use "docker compose" instead of "docker-compose" by default. On linux it will fall back to "docker-compose" if "docker compose" is not available.

TlmGrapher Show Limits

TlmGrapher can now include horizontal lines indicating the values of limits for a specific item on graphs.

Multiselect Combobox for Scripts

The combo_box() script method can now support multiselect returning an array of selections.

answer = combo_box("This is a multi-select combo box", 'one', 'two', 'three', multiple: true)

Improved Screen Editing Autocomplete

Fixed some issues with autocomplete in the built-in screen editor.

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.5.1

26 Feb 19:41
Compare
Choose a tag to compare

OpenC3 COSMOS 5.5.1 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.5.1!

Download Plugins from the Admin Tool

Now you can download installed plugins!

Traefik changed from Redis to HTTP Endpoint

Traefik Redis support doesn't work with Redis Cluster, so we added an HTTP endpoint to our API to give Traefik dynamic configuration.

Create Suites from Script Runner

New option to create a suite from the Script Runner menu.

Updates to the Secrets Framework to Support a secret_store Key

Some secrets systems have a "container" for a grouping of secrets. Added a new secret_store key to the Secrets framework to support this.

Important Bug Fixes

  1. Multiple TlmViewer Widgets improved and bugs fixed

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.5.0

23 Feb 23:51
Compare
Choose a tag to compare

OpenC3 COSMOS 5.5.0 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.5.0!

Full Support for Bridges with Examples

Bridges are an easy method to give COSMOS access to hardware that doesn't natively speak Ethernet. This release adds full support for bridges and new bridge gems that make them even easier to use. See the docs here: Bridges Documentation

Dynamic Route Support In Traefik

Want to create a plugin that adds a new API to COSMOS and exposes it at a route in Traefik? Now you can. This is implemented using the new ROUTE_PREFIX modifier to MICROSERVICE in plugin.txt. See: ROUTE_PREFIX

Bucket Explorer Upload and Delete Files and Support for Custom Buckets

Bucket Explorer can now upload new files, and delete files from buckets. Also you can add additional buckets to manage by defining environment variables like OPENC3_NAME_BUCKET.

Ruby Websocket Client API

Add a Ruby based client code to access all of our Websocket interfaces. Most importantly the Streaming API can now be accessed directly from Ruby. See: web_socket_api.rb

Command Line Generators for More COSMOS Features

We've expanded our generator code to create scaffolds for more COSMOS features. We now have generators for plugins, targets, microservices, conversions, and limits_responses. See openc3cli generate

Improved TlmGrapher Performance and Support for Reduced Data

TlmGrapher is now much more performant with high rate data. You can also now easily graph reduced minute, hour, and day data!

New NEEDS_DEPENDENCIES keyword for plugin.txt

If your plugin needs access to custom installed gems, but you don't explicitly add them as dependencies in .gemspec (which you probably should...), you can now force access to the /gems volume mount by adding NEEDS_DEPENDENCIES to plugin.txt.

New WriteRejectError Support for Interfaces and Protocols

Want to add a custom protocol the rejects commands but doesn't cause the whole interface to disconnect and then reconnect? Now you can by raising a WriteRejectError exception from your custom Protocol or Interface.

Cleaned Up Environment Variable Support for Scripts

Script Environment variables were a little confusing before, but now we've clarified and improved how they work. You can set global environment variables that are available to all scripts, and you can set individual environment variables for individual script runs.

Environment Variable Support For Not Installing Default Tools

We also added some new environment variables to prevent the installation of the standard tools. You can use these if you have customized one of the tools or simply don't need one of our default tools.

Important Bug Fixes

  1. Fixed a bug causing poor performance as soon as you had more than 1000 files in Minio
  2. Fixed an issue where the first script run wouldn't show up in Completed Scripts
  3. Telemetry items are now case-insensitive in TlmViewer Screens
  4. Several bug fixes in DataExtractor for large queries
  5. Starting using Ruby resolv-replace to remove DNS errors in Alpine

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.4.2

04 Feb 15:51
Compare
Choose a tag to compare

OpenC3 COSMOS 5.4.2 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.4.2!

Important Upgrade Notes

We've made a lot of changes in this release to ensure that the user running in the containers is the same user the starts the containers on the host when using Docker Compose. This should solve all permissions issues with local mode. However, if you are upgrading from an earlier version, your existing permissions are now probably incorrect. The easiest fix is to do an openc3.sh cleanup, and then restart. However, if you need to keep existing log files, you should "docker exec --user root -it sh" into the operator container and then run "chmod -R 777 /src", "chmod -R 777 /plugins", and "chmod -R 777 /gems". After that everything should work again.

Patch Release 2

Scripts Now Can List Set Overrides and Warn if Running with Telemetry Overrides
Fixed Regression in Minio Console
Command Only Targets Are Now Supported
Added a force option to openc3.sh cleanup to bypass the are you sure prompt

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.4.1

03 Feb 14:41
Compare
Choose a tag to compare

OpenC3 COSMOS 5.4.1 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.4.1!

Patch Release

Add proper permission on linux to the openc3.sh cli command.
Fix for Suite Runner, internal suite detection

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog

v5.4.0

02 Feb 05:19
Compare
Choose a tag to compare

OpenC3 COSMOS 5.4.0 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.4.0!

Bucket Explorer

COSMOS now comes with a new tool called Bucket Explorer that allows browsing files in whatever bucket technology is being used. This provides a cross-cloud solution with a Minio Console-like interface.

Metrics

The CmdTlmServer Status tab now includes a curated list of metrics that can be useful to monitor the health of COSMOS. Includes various counters and latency measurements.

Navigation Categories

The Navigation bar can now be organized into Categories that can be collapsed and expanded.

Permissions Updates to Better Support Local Mode on Linux

Updates to openc3.sh and compose.yaml to better support permissions when running using local mode on linux. This supports running from user ids other than 1000, and makes sure that files written to the host filesystem have the same user id as the user who is running COSMOS.

Better Plugin Installation Errors

Plugin installation errors now include line numbers, and attempts to capture all installation errors, rather than just the first.

Trivy, ClamAV, and CodeQL Scans

Our CI/CD process now includes Trivy scans for finding CVE vulnerabilities and ClamAV scans to check for Malware.

Other Highlighted Improvements In This Release

  • DataExtractor updated to handle very large lists of items
  • CmdSender nows lists parameter ranges
  • Several tools now remember pagination settings
  • Always force an install of plugins if using the GUI
  • Enabled/Disable limits from Details dialog

Key Bug Fixes

  • Removed UNKNOWN from CmdSender target list

All Pull Requests in this Release

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 [email protected].

Thanks!

Full Changelog: Changelog