Skip to content

Releases: OpenC3/cosmos

v5.18.0

20 Aug 21:53
Compare
Choose a tag to compare

OpenC3 COSMOS 5.18.0 - Multiple variable bit size items in the same packet!

Welcome to OpenC3 COSMOS 5.18.0!

Multiple Variable Bit Size Items

Since the beginning, COSMOS has been able to handle a single variable sized item within packets. Now we can handle multiple! As long as each item has its own associated length field, you can have multiple variable sized items in the same packet.

See the new VARIABLE_BIT_SIZE keyword for packet definitions.

Command Authority (Enterprise)

In COSMOS Enterprise, you can now enable a new mode called Command Authority. In this mode, only one user at a time can command a given target. This can be helpful on multi-operator ops floors to prevent two operators from accidentally sending commands at the same time.

Chromeless mode

Sometimes you would like to open COSMOS up in an IFRAME or a browser tab, and not waste any space with the topbar, navbar, or footer. Well now you can! Just add ?chromeless=true to your urls and check it out.

New Subtitle Setting

There is a new setting in Admin -> Settings, called Subtitle, that allows you to place text under the OpenC3 logo in the Navbar. This can be really useful to differentiate between multiple installations of COSMOS.

Other Improvements

  • Added a new OPENC3_OPERATOR_HOSTNAME environment variable to support pointing to a regular operator while running in Kubernetes (vs the Kubernetes Operator)
  • Updated BucketExplorer to show newest files first by default
  • Changed Calendar (Enterprise) to allow overlapping activities
  • Added a new Signal Strength Widget for TlmViewer
  • Moved some log messages to debug within the operator to quiet down microservice start/stop
  • Added support for Array indexing in TlmViewer LINEGRAPH
  • Added the ability to disable Calendar execution (Enterprise)
  • Blank screen widgets no longer say "Value"
  • Added vim and ps to UBI images
  • Added new playwright.sh to run playwright tests

Other Bug Fixes

  • Fixed a timing issue with the build_cmd api that was causing ack timeouts
  • Fixed TEMPLATE and Accessors for Python
  • Fixed connect() being called twice in Python interfaces
  • Fixed screen SUBSETTING application
  • Fixed Python Websocket API authentication in Enterprise
  • Fixed open_file_dialog in Python scripts
  • Fixed an error that occurred if you backspaced away the full name of a telemetry item in an item chooser
  • Fixed Image Viewer Widget
  • Updated Progress bar to always end at 100% on plugin and package uploads

All Pull Requests in this Release

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: v5.17.1...v5.18.0

v5.17.1

29 Jun 15:25
Compare
Choose a tag to compare

OpenC3 COSMOS 5.17.1 - Rollup Widget, Dependency Update, and Bug Fixes

Welcome to OpenC3 COSMOS 5.17.1!

New ROLLUP Widget

We've added a new ROLLUP widget for TlmViewer that allows you to pick an icon, assign multiple telemetry items to it, and then it will change color based on the overall limits state of those items. Clicking on the icon can also bring up a telemetry screen of your choice.

ScriptRunner now role aware (Enterprise)

The ScriptRunner frontend is now role aware in Enterprise edition, which allows it to make the scripts readonly for users who can't edit scripts, and disable the start button for users who can't run scripts.

VALUE Widgets now support array indexing

You can now select individual array items for display on TlmViewer screens!

IMPORTANT Bug Fix in ScriptRunner

ScriptRunner could save over a file with an old version of the file's contents under certain circumstances when pressing Ctrl-S to save. This required: 1. Leaving ScriptRunner to another tool, 2. Returning to ScriptRunner, 3. Saving the file with Ctrl-S, 4. All without refreshing the webpage. This has been corrected.

Other Bug Fixes

  • ScriptRunner can now properly import python modules with an init.py file.
  • Several fixes with applying Global settings in screens
  • Calendar events are now properly cleaned up and expired over time
  • Python "break" now works in ScriptRunner
  • Plugin Download button on the Admin Plugins tab now works
  • Python range checking given a string no longer crashes
  • Python code now handles limits event notifications
  • Dockerfiles updated to same case FROM and AS statements

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 support@openc3.com.

Thanks!

Full Changelog: v5.16.2...v5.17.1

v5.16.2

23 May 22:23
Compare
Choose a tag to compare

OpenC3 COSMOS 5.16.2 - Python Script APIs and Usability Improvements

Welcome to OpenC3 COSMOS 5.16.2!

This release adds Python script APIs and addresses a number of tool usability issues.

Potentially breaking changes from 5.15.x

Script wait methods that wait on a condition now return true/false to indicate if the wait condition was successful or not. Previously these wait methods returned the number of seconds actually waited.

Other Improvements

  • Improve Limits Monitor layout with timestamp and more field width
  • Add Data Viewer collapsable header and expand Data Viewer widget width and height
  • Expand Script Runner Message Log pane to take 100% of the bottom half
  • Filter stack trace on installation for easier debugging of config errors
  • Admin Plugins and Packages adds progress bar on upload and visually separates Processes from Plugins
  • Added tooltips for Suite Runner checkboxes
  • Right click a screen keyword to bring up a popup with a link to the documentation
  • Added Python docs and typing by @GerhardOfRivia

Bug Fixes

  • Do not clear interval on Packet Viewer error - this should prevent Packet Viewer from "freezing" and no long updating, especially when updating plugins
  • Remove Notification Open button unless an actual URL destination is given
  • Fix new scope deployment to properly log messages and cleanup
  • Fix python log time in text logs returning 01/01/1970
  • Allow commands in Data Viewer

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 support@openc3.com.

Thanks!

Full Changelog: v5.16.1...v5.16.2

v5.16.1

09 May 12:29
Compare
Choose a tag to compare

OpenC3 COSMOS 5.16.1 - Command Sender History and Playwright Enhancements

Welcome to OpenC3 COSMOS 5.16.1!

This release adds some minor features, fixes the UBI build and improves our Playwright end to end testing.

Potentially breaking changes from 5.15.x

Script wait methods that wait on a condition now return true/false to indicate if the wait condition was successful or not. Previously these wait methods returned the number of seconds actually waited.

Command Sender History

Command Sender now remembers history on a browser refresh. The delete button will clear the history.

Other Improvements

  • Limits Monitor clear all ignored items
  • Code completion works with Python fstrings, e.g. cmd(f"INST

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 support@openc3.com.

Thanks!

Full Changelog: v5.16.0...v5.16.1

v5.16.0

08 May 22:01
Compare
Choose a tag to compare

OpenC3 COSMOS 5.16.0 - Dependency Updates and Bug Fixes

Welcome to OpenC3 COSMOS 5.16.0!

This is primarily a bug fix and dependency update release. Interesting changes are documented below.

Potentially breaking changes from 5.15.x

Script wait methods that wait on a condition now return true/false to indicate if the wait condition was successful or not. Previously these wait methods returned the number of seconds actually waited.

IGNORE_OVERLAP for entire packet

IGNORE_OVERLAP can now be declared on an entire packet allowing items within to overlap without requiring adding the OVERLAP flag to every individual item.

Calendar now support recurring activities (Enterprise Only)

You can now have calendar activities automatically repeat at any desired interval.

Other Improvements

  • In Enterprise, the user who started a script is now shown in the execution status display
  • Item names are now sorted alphabetically in the chooser rather than in order of definition
  • Info limits messages (displayed green) are now suppressed on initial packet received
  • New openc3cli list command to list installed plugins
  • Dependencies updated to reduce CVEs

Bug Fixes

  • Fix jumping between two running scripts if a second is opened and started in the same ScriptRunner
  • Numerous python related fixes

All Pull Requests in this Release

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: v5.15.2...v5.16.0

v5.15.2

01 Apr 13:09
Compare
Choose a tag to compare

OpenC3 COSMOS 5.15.2 - script notifications and bug fixes

Welcome to OpenC3 COSMOS 5.15.2!

This release adds to the notifications icon the number of running scripts. It fixes bugs in the Python storage API and suite API. It also fixes a bug in the serial driver preventing clean disconnects.

Breaking Changes and Upgrade Notes since 5.14.2 - Please Read

  • The internal Traefik port was changed to 2900 to match our standard external port and to better support unprivileged runtime environments
  • The change requires updating .env, compose.yaml and the traefik configuration files.
  • Stop the previous release, update the files, and restart

Other Improvements

  • Add the number of running scripts to the Notifications icon
  • Update JsonAccessor to support binary data
  • Add OPENC3_BUCKET_URL to .env file (defaults to http://openc3-minio:9000)
  • Script Runner automatically detects files using f-strings as Python

Bug Fixes

  • Fix Python get_target_file
  • Fix the ability to run Python Groups and Suites in Script Runner
  • Fix serial port disconnect

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 support@openc3.com.

Thanks!

Full Changelog: v5.15.1...v5.15.2

v5.15.1

15 Mar 22:20
Compare
Choose a tag to compare

OpenC3 COSMOS 5.15.1 - target file API fixes and disabled commands

Welcome to OpenC3 COSMOS 5.15.1!

This release fixes the download_file, get_target_file, and put_target_file APIs. It implements the DISABLED keyword and adds API methods to enable_cmd and disable_cmd (admins only).

Breaking Changes and Upgrade Notes since 5.14.2 - Please Read

  • The internal Traefik port was changed to 2900 to match our standard external port and to better support unprivileged runtime environments
  • The change requires updating .env, compose.yaml and the traefik configuration files.
  • Stop the previous release, update the files, and restart

Bug Fixes

  • Implement the DISABLED keyword
  • Fix redis cluster in COSMOS Enterprise
  • Fix download_file, get_target_file, put_target_file in Ruby and Python

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 support@openc3.com.

Thanks!

Full Changelog: v5.15.0...v5.15.1

v5.15.0

11 Mar 03:33
Compare
Choose a tag to compare

OpenC3 COSMOS 5.15.0 - Interface Throughput Improvements

Welcome to OpenC3 COSMOS 5.15.0!

This release brings major improvements to interface throughput with a new strategy of batching writes to Redis and an additional option to interfaces to even further improvement throughput at the cost of slightly higher processing latency. If you have interfaces receiving data at greater than 10Hz, try adding OPTION OPTIMIZE_THROUGHPUT 0.1 to your interfaces.

Breaking Changes and Upgrade Notes - Please Read

  • The internal Traefik port was changed to 2900 to match our standard external port and to better support unprivileged runtime environments
  • The change requires updating .env, compose.yaml and the traefik configuration files.
  • Stop the previous release, update the files, and restart

Greatly Improved TlmViewer Code Completion in Screen Editor

The screen editor is now fully aware of the telemetry database, making it even easier to quickly build out telemetry screens!

Other Improvements

  • Item background colors now alternate in Admin lists
  • ScriptRunner Suite report filenames now indicate what was run
  • Grapher nows goes to using scientific notation for labels with very large and very small numbers
  • Grapher can now add user configured horizontal lines
  • Bucket Explorer can now create files in new folders

Bug Fixes

  • Fixed python target file loading APIs
  • The HIDDEN command keyword is now supported
  • Generating presigned urls now checks targets_modified as well as the targets folder
  • Fixed importing pandas in Python scripts
  • Renewed support for item names that include square brackets
  • Fixed cycle time support for low data rate targets
  • Fixed upgrading plugins when multiple of the same plugin are installed

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 support@openc3.com.

Thanks!

Full Changelog: v5.14.2...v5.15.0

v5.14.2

11 Feb 15:52
Compare
Choose a tag to compare

OpenC3 COSMOS 5.14.2 - Python Bug Fix Release

Welcome to OpenC3 COSMOS 5.14.2!

This release mainly fixes issues with our new Python support. Thanks to everyone who is trying it out and submitting tickets!

Python Bug Fixes

  • Custom Conversions, Limits Responses, etc our now imported successfully
  • Generators now support --python fully
  • UBI pip3 is now symlinked to pip
  • Pip will now retry with --no-index if the attempt at an online install fails
  • Handle String edge case that was breaking INST2 ASCIICMD

Other Improvements

  • openc3.sh cli rake will now fail with a warning if no Rakefile is found
  • The Raw dialogs in CmdTlmServer are now non-modal, allowing multiple to open and be moved around
  • CmdTlmServer now has a Clear Counters option

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 support@openc3.com.

Thanks!

Full Changelog: Changelog

v5.14.1

27 Jan 15:46
Compare
Choose a tag to compare

OpenC3 COSMOS 5.14.1 - Bug Fix Release

Welcome to OpenC3 COSMOS 5.14.1!

Important Bug Fixes Release for ScriptRunner

We squashed a couple bugs that could cause ScriptRunner to write over the contents of the running script with the contents of another file. Pressing Ctrl-S while running in a different file than original started or some cases where after stopping a different file was still shown could cause the original file to be overwritten. These have all been corrected and all users are encouraged to upgrade.

Further Enhancements to Dynamic Packet Creation

Dynamic packet creation in Ruby now works fully including logging and decom picking up the new packets.

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 support@openc3.com.

Thanks!

Full Changelog: Changelog