Skip to content

Releases: OpenC3/cosmos

v6.5.1

30 Jun 23:20
Compare
Choose a tag to compare

OpenC3 COSMOS Core 6.5.1 - Bug fixes and enhancements

Welcome to OpenC3 COSMOS Core 6.5.1!

Enhancements

  • Allow range argument option to get_object calls

Bug Fixes

  • Add System Health Tool to list of default gems
  • Allow formatting via FORMATVALUE widget on PACKET_TIMEFORMATTED and RECEIVED_TIMEFORMATTED items
  • Fix chromeless and inline URL use

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

Thanks!

Full Changelog: v6.5.0...v6.5.1

v6.5.0

13 Jun 14:55
Compare
Choose a tag to compare

OpenC3 COSMOS Core 6.5.0 - Script Engines and System Health Tool

Welcome to OpenC3 COSMOS Core 6.5.0!

Script Engines

COSMOS has a new plugin type called Script Engines! These allow you to create plugins that allow Domain Specific Languages to run in COSMOS Script Runner. There is a very basic example included in the demo plugin for you to checkout. More documentation and better examples to come!

System Health Tool (Enterprise)

Enterprise has a new System Health Tool that can give you a quick glance of resource utilization and identify any CPU/Memory/Disk exceedances within COSMOS. It also has built in notifications so that users will be notified if things start getting close to the edge on resource utilization.

Improved Docs

Lots of improved docs including new docs on Processors, notes on the Traefik 3 upgrade in COSMOS 6.x, and improved documentation on the stash API.

Ace Diff Moved to Open Source Version

We forked and fixed some issues in the ace-diff npm package, but now OpenC3 is the official maintainer! So instead of including that code in our repos, our changes have now be included into the main ace-diff repo.

Packet Counters Cleared on Undeploy

Whenever you uninstall or upgrade a target plugin, cmd/tlm packet counters are now cleared back to 0.

Bug Fixes

  • Fixed parameters to the SpacerWidget
  • Fixed several issues in the script CLI commands
  • wait lines no longer highlight in Script Runner if instrumentation is disabled

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

Thanks!

Full Changelog: v6.4.2...v6.5.0

v6.4.2

30 May 22:47
Compare
Choose a tag to compare

OpenC3 COSMOS Core 6.4.2 - Code Coverage, Doc Updates, and Bug Fixes

Welcome to OpenC3 COSMOS Core 6.4.2!

Enterprise - Added new Ruby and Python SDKs for Autonomic

We now have SDKs in both Ruby and Python for controlling Autonomic. This can allow for programatic creation of Triggers and Reactions from scripts or your own code.

New Event Message Data Viewer Component

There is a new Event Message Component in DataViewer that can be used to display a set of text strings in a scrolling list. Perfect for FSW events, or any other set of string messages you would like to display over time.

Improved Unit Test Coverage

Thanks to @clayandgen our unit test coverage keeps improving. We are now at approximately ~79% coverage and are continuing to improve.

Improved Docs

Lots of new docs in this release! Our docs now have more diagrams and discussions of the different ways to deploy COSMOS, there is a new docs page on conversions, and a new upgrade guide was added that discusses the necessary versions to hop through when upgrading if you have fallen far behind on versions.

Bug Fixes

  • Fixed several issues with Redis Cluster caused by use of pipeline for Redis
  • Fixed an issue that prevented screen errors from clearing the triangle icon after the errors were fixed
  • Enterprise - Fixed a redirect issue when using Firefox

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

Thanks!

Full Changelog: v6.4.1...v6.4.2

v6.4.1

14 May 18:32
Compare
Choose a tag to compare

OpenC3 COSMOS Core 6.4.1 - Bug fixes

Welcome to OpenC3 COSMOS Core 6.4.1!

Bug Fixes

  • Support for 64 bit ints in COSMOS 6.2.0 broke the handling of floating point values which could potentially lose precision. For more information about which floating point values were affected see description of isSafeNumber
  • Fix issue with next line delay after pausing a script
  • Scripts in COSMOS 6.4.0 that completed quickly (single line scripts) were not appropriately marked as completed

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

Thanks!

Full Changelog: v6.4.0...v6.4.1

v6.4.0

07 May 22:18
Compare
Choose a tag to compare

OpenC3 COSMOS Core 6.4.0 - Script Runner improvements including Goto!

Welcome to OpenC3 COSMOS Core 6.4.0!

Script Runner Improvements

Script Runner gained a bunch of new features. It can now Goto an arbitrary line using the right click menu as well as using goto X in scripts. It can execute a selection of script while paused to help debugging. We added a bunch of additional states to script status:

  • spawning - Not running yet
  • init - Initializing
  • running - Running
  • paused - Paused
  • waiting - Waiting (either for a wait or a prompt)
  • error - Paused with an error
  • breakpoint - Paused with a breakpoing
  • crashed - Complete after crashing with an exception
  • stopped - Prematurely stopped
  • completed - Completed successfully
  • completed_errors - Completed but errors occurred while running
  • killed - Forcefully killed

You can get this new information from the get_script(<ID>) API method. This will also be coming to the CLI soon! Finally we changed the environment button and better indicate when env vars are set.

Potentially Breaking Changes

  • The internal methods reduce_to_single_packet and identify_and_finish_packet within Python protocols no longer take an extra argument and instead use an extra instance variable to match the Ruby code.

Other Improvements

  • UBI containers updated to UBI9
  • Updated tooltips to add delay and remove unnecessary tooltips
  • Allow PreidentifiedProtocol to process old COSMOS 4 bin files
  • Added FileInterface documentation
  • Updated NASA cFS documentation
  • Updated SSL/TLS documentation
  • Added cmd-tlm-api and script-api controller tests

Bug Fixes

  • Fix root redirect to avoid 404 errors
  • Python UDP sockets handle disconnect / reconnect
  • Fix TlmGrapher graph widths to allow display side by side
  • Allow TlmViewer widget settings to override global settings
  • Fix TlmViewer's FormatValue widget size and alignment

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

Thanks!

Full Changelog: v6.3.0...v6.4.0

v6.3.0

05 Apr 04:33
Compare
Choose a tag to compare

OpenC3 COSMOS 6.3.0 - Lots of Improvements!

Welcome to OpenC3 COSMOS 6.3.0!

Potentially Breaking Changes

  • Alpine upgraded to version 3.21
  • Ruby upgraded to version 3.3
  • Python upgraded to version 3.12

Ruby Script Instrumentation Now Uses Prism

Ruby 3.3 dropped support for the Ripper library so we rebuilt our Ruby script instrumentation using the modern and supported Prism library. Look for a talk at the Space Software Summit from our own Jason Thomas on this update!

UBI based images are now published

We now will be publishing our standard Alpine based images, as well as a set of images based on the IronBank UBI base image. This is the first release with these published. We will improve their ease of use and add security scans in an upcoming release. Note UBI is not fully functional. Expect a fully functional version in the next release.

Graph LATEST packet

You can now graph the LATEST packet in TlmGrapher (and in Grafana in our Enterprise Editon). This allows for graphing items with the same name across multiple different packets.

Python Dynamic Packet Support

Python now has support for dynamically defining packets at runtime. New docs are available for this feature here: Dynamic Packets

Greatly Improved File Open Performance

The Vuetify Tree Widget was causing performance issues for several of our customers so we replaced it with a much more performant implementation. Let us know if this greatly improves selecting files in ScriptRunner!

Limits Monitor Updates

Limits Monitor has been rewritten to use a Vuetify Data Table. This provides sorting, searching, and a much nicer presentation.

ScriptRunner Vim Mode

All you Vim lovers out there can now put ScriptRunner into vim mode to edit your scripts!

Playwright test performance improvements

Our Playwright tests have been refactored to support running several of the tests in parallel. This improves our total time to run our end to end test suite saving us CI/CD time every commit.

Python Table Code

Python now has the code necessary to create, build, and edit tables.

Offline Access Token Generation

For our enterprise customers, we have added api methods to generate offline access tokens without having to access the GUI. This allows for much easier CI/CD test support on enterprise. Just run initialize_offline_access() before calling script_run().

Other Improvements

  • Lots of dependency updates
  • Details dialog added to LedWidget
  • Renamed hash variables in Python to avoid overloading keyword

Bug Fixes

  • DISABLE_DISCONNECT keyword now works
  • Packet Receive Counts now works for packets that can be received across multiple interfaces
  • Graph without overview graph fixes
  • Fixed a websocket issue with multiple subscriptions on the same cable

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

Thanks!

Full Changelog: v6.2.1...v6.3.0

v6.2.1

07 Mar 04:05
Compare
Choose a tag to compare

OpenC3 COSMOS 6.2.1 - Bug fixes

Welcome to OpenC3 COSMOS 6.2.1!

This release is primarily bug fixes and an enhancement to Packet Viewer to allow search on packets that have never been received.

Bug Fixes

  • Add yarn built dist folder to release
  • Force anycable to use 127.0.0.1
  • Fix python try except instrumentation

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

Thanks!

Full Changelog: v6.2.0...v6.2.1

v6.2.0

01 Mar 23:46
Compare
Choose a tag to compare

OpenC3 COSMOS 6.2.0 - Microservice Control, CONNECT_CMD

Welcome to OpenC3 COSMOS 6.2.0!

Microservice Control

In the Admin Microservices tab you can now restart, stop, and start microservices. This can be useful for debugging and simulating failures. (Note: stopping microservices will break things!)

CONNECT_CMD OPTION for Interfaces

This new option allows for sending commands on initial connection of an interface.
Read more here

Other Improvements

  • Limits responses now run in a thread to prevent blocking decom while they are running
  • Improve TableManager file lookup
  • Scopes now have configurable retain times for script logs and other logs

Bug Fixes

  • Fixed 64-bit integer support on the frontend in CmdSender / PacketViewer / TlmViewer
  • Handle news not being available in offline environments
  • Fix title widget centering
  • Fix time case sensitivity in frontend
  • Fix multiline generic conversions in Python
  • Fix exception in Python TcpipServerInterface due to DNS lookup failure
  • Fix ScriptRunner leaving zombie processes
  • Fix python ScriptRunner output thread
  • Correct numerous Sonarqube findings
  • Improve some playwright test flakiness (more to be done)
  • Fix LIMITSCOLUMN and LIMITSCOLOR examples
  • Now using consistent colors for limits everywhere
  • Fixed missing dist folders in javascript libraries
  • Fix parsing hex and binary ID items
  • Fix displaying hazardous description in popup dialog
  • Fix python identify_packet

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

Thanks!

Full Changelog: v6.1.0...v6.2.0

v6.1.0

05 Feb 14:06
Compare
Choose a tag to compare

OpenC3 COSMOS 6.1.0 - AnyCable and News

Welcome to OpenC3 COSMOS 6.1.0!

Potentially Breaking Changes

The change from ActionCable to AnyCable requires you to update your Docker compose.yaml file to add ANYCABLE_REDIS_URL, the openc3-redis/users.acl to add &__anycable__ and the openc3-traefik/traefik.yaml to add 2 new services: service-api-cable and service-script-cable. Please update your compose.yaml, users.acl, and traefik.yaml config files with the latest changes from cosmos-project.

Improvements

  • Switched from Rails ActiveCable to AnyCable. AnyCable has much better performance and reliability than ActionCable and should help improve performance for all our websockets including the Streaming API.
  • New News Feed in the User Menu which will primarily include information about releases
  • Blur LED widget when telemetry goes stale
  • Python instrumentation now supports try/except, can import future, and supports globals() and locals() in check_expression
  • Created new Table APIs for creating binaries and reports
  • Fully documented the Script APIs
  • Created new ARRAYPLOT widget for graphing large static blocks of data (o-scope values) rather than individual telemetry points

Bug Fixes

  • Fix graph layout grid in TlmGrapher
  • FIx pip uninstall in the Admin packages
  • Fix python UDP interface
  • You can now create a WRITE_CONVERSION which converts a STRING to a UNIT. Read more at WRITE_CONVERSION.

Security

  • Disallow parent dir path in sanitize_params
  • Check file path prefixes
  • Updated MINIO to close several CVEs

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

Thanks!

Full Changelog: v6.0.2...v6.1.0

v6.0.2

09 Jan 23:41
Compare
Choose a tag to compare

OpenC3 COSMOS 6.0.2 - Bug fixes and enhancements

Welcome to OpenC3 COSMOS 6.0.2!

At OpenC3, we work with independent security consultants to elevate our security posture across our products. As part of this ongoing campaign, this release includes multiple security improvements.

Potentially Breaking Changes

See the release notes for COSMOS 6.0.0!

Improvements

  • Added an alert for unsupported browsers
  • Improved documentation
  • Better handling of Python package installation
  • Updated Traefik and Alpine versions

Bug Fixes

  • Fixed open_file_dialog() in Script Runner not letting you select a file (regression in 6.0.0)
  • Packet Viewer now remembers your last viewed packet

Security

  • Patched XSS attack vectors in the Iframe widget and Documentation tool
  • Patched potential credential leak via Script Runner
  • Prevent the login page from accepting the backend service password

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: v6.0.1...v6.0.2