Skip to content

Releases: OpenC3/cosmos

v5.10.1

17 Aug 23:15
Compare
Choose a tag to compare

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

Welcome to OpenC3 COSMOS 5.10.1!

Continued Python Development

Python development continues. We have added a lot of the packet processing code now to Python.
See the 5.10.0 Release notes for an overview of current Python support.

Note: Python support is still Beta. In particular there is a known issue in this release where running python scripts in ScriptRunner leaves zombie processes in the openc3-cosmos-script-runner-api container. This is fixed in the next release.

New option to not set bucket policy

A new environment variable named OPENC3_NO_BUCKET_POLICY is now available that prevents the default behavior of setting the tools bucket to public read at startup. (Note: The tools bucket still needs to be public read, but this allows for the bucket being setup manually and COSMOS not having permission to change bucket policy).

Added information for upgrading to Enterprise Edition

Several locations now have information on how to upgrade to Enterprise. Thank you for supporting OpenC3 by being an Enterprise customer! Additionally, Calendar is now limited to 1 Timeline, and Autonomic is limited to 10 triggers in open source edition.

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.10.0

06 Aug 04:01
Compare
Choose a tag to compare

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

Welcome to OpenC3 COSMOS 5.10.0!

Python in Script Runner!

This is our first release that includes Python support! You can now run Python (or Ruby) scripts from ScriptRunner and use most of our scripting APIs from Python.

Whats Ready to Try Out With Python:

  1. openc3 python package published to PyPi
  2. Cmd/Tlm Apis
  3. Wait/Check Apis
  4. Stash Api
  5. Metadata Api
  6. Screens Api
  7. Line by line highlighting in ScriptRunner
  8. Exception catching in ScriptRunner

What's Not Done Yet for Python:

  1. Suite Runner Support
  2. Redis Cluster Support (Enterprise Only Feature)
  3. GCP Bucket Support (Enterprise Only Feature)
  4. Some other APIs like plugins
  5. Python Based Interfaces
  6. Python Based Microservices
  7. Python Based Targets

We consider the current release to be at a Beta level - Full Python support is scheduled to be completed by the end of September. Try it out and let us know what you think!

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.9.1

17 Jul 21:25
Compare
Choose a tag to compare

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

Welcome to OpenC3 COSMOS 5.9.1!

This is a performance focused patch release that improves our API performance, particularly for get_tlm_values which is the primary API used by telemetry screens, and any queries that involve the LATEST packet.

Bug Fixes

  1. Opening a script from a telemetry screen will now properly display suiterunner controls (or not)

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.9.0

07 Jul 19:26
Compare
Choose a tag to compare

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

Welcome to OpenC3 COSMOS 5.9.0!

Autonomic is out of Beta!

Autonomic, our built-in automation tool, is out of beta! Autonomic provides an easy user driven mechanism for defining triggers and reactions. You can easily design a lights out system to handle different events and automatically send a command or run a script in response. For example, whenever a specific telemetry point gets above a certain value, run a script.

Tool Generators - Vue, Angular, React, and Svelte

Our openc3cli generator now supports generating tools across four different frontend frameworks. We have tool templates available for Vue, Angular, React, and Svelte.

Playwright tests are now bundled in the main cosmos repo

This change couples the playwright tests to specific versions and makes going back and testing a version much easier.

New build_command API

A new build_command API has been added that provides a mechanism to have COSMOS build the binary version of a command for you from a script. You can then use this binary data to build command tables or for other purposes.

Enabled Redis IO Threading

We have enabled Redis IO threading in the Redis configuration files. This should provide up to a 2x performance boost for Redis (and COSMOS).

Other Improvements

  1. Added a NotFound component to show on unknown tool routes
  2. Updated load/save configurations between tools to be consistent
  3. Limits Monitor tabs removed and now everything is on a single page
  4. Show spinner while file open dialog is loading
  5. Log messages severity levels mapped to AstroUI levels
  6. Various UI improvements

Bug Fixes

  1. Fixed code not being instrumented properly in scripts with multiple function definitions and multiline strings
  2. Fix TlmGrapher graphs after changing the end_time
  3. Fix limits_bar widget when yellow limit equaled red limit
  4. ScriptRunner buttons are now disabled until the script is fully started
  5. Tlm Screens now better handle errors and show if a screen is broken

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.8.1

30 May 19:38
Compare
Choose a tag to compare

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

Welcome to OpenC3 COSMOS 5.8.1!

Alpine 3.18.0 with Ruby 3.2 and Python 3.11.3

This releases updates the Alpine linux version to 3.18.0. With this comes an upgrade from Ruby 3.1 to Ruby 3.2. Not much changes with Ruby 3.2, but one important detail is that the deprecated Dir.exists? and File.exists? methods have been removed (use Dir.exist? and File.exist? instead). Note also this is our first release that bundles the Python interpreter... more to come soon! Also, ruby's httpclient library was replaced with Faraday, because httpclient is not being maintained.

Greatly improved script instrumentation performance (100x)

Starting scripts including using require_utility and load_utility are now 100x faster than in COSMOS 5.6.0 where we improved the number of cases handled by instrumentation, but introduced a performance regression.

Added the ability to browse volumes in BucketExplorer

Just add an environment variables like OPENC3__name__VOLUME set to the path of the volume. They can then be browsed and modified from BucketExplorer just like buckets!

New new bucket_load library

Allow for custom microservices to require target libraries just like ScriptRunner scripts. This modifies the Ruby require code to look in buckets for files if they aren't found locally.

require 'openc3/utilities/bucket_require'
$openc3_scope = 'DEFAULT' # Required until 5.8.2 release
require 'INST/procedures/utilities/collect.rb'

Other Improvements

  1. The raw dialog is now placed higher to allow for seeing more beneath it
  2. Handbook creator now displays ID values
  3. Screen Errors during plugin installs are now warnings and not fatal
  4. get_limits API now supports LATEST packet name
  5. BufferedPacketLogWriter updated to dump allow contents to files when a new file is created.
  6. New build_command API (only available from Javascript so far).

Bug Fixes

  1. Fix TlmViewer MATRIXBYCOLUMNS layout
  2. Fix Plugin install diffs for changes at beginning and end of file
  3. Changed microservices were formerly killed but not restarted properly

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.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