github OpenC3/cosmos v7.0.0-rc3

latest release: v7.0.0
28 days ago

OpenC3 COSMOS Core 7.0.0 Release Candidate 3 - Welcome to the future of COSMOS!

Welcome to OpenC3 COSMOS Core 7.0.0 Release Candidate 3!

We're super excited to announce the third release candidate of COSMOS 7.

Important
If updating from RC1 you should first do a "openc3.sh cleanup" as all the TSDB table names changed to now include the SCOPE. Note: Cleanup drops all logged data.

Key Changes since RC3:

  • Fix the streaming api pulling data from the TSDB. This fixes Data Extractor, Data Viewer, and Telemetry Grapher.
  • Fixes to the new python uv installation process
  • Various security and login enhancements

This release is months in the making and builds upon all the changes we made to COSMOS 6. Note that this is a Release Candidate and thus should not be used for Production deployments at the moment. We want to allow time for testing and exploration before we announce a final release.

The headline feature of COSMOS 7 is our new time series database (TSDB) powered by QuestDB! This database allows us to speed up our data retrieval times by an order of magnitude and enables optimizations like the removal of the reducer microservices and associated data. This is going to enable a host of new integrations and use-cases. I invite you to enable the QuestDB console and experiment with SQL access to your data!

We've also changed our License from the AGPL to the new COSMOS Builder's License. This gives you the same rights but is more compatible with our new App Store. It explicitly does not allow providing COSMOS as a hosted or managed service.

Breaking Changes

  • Migration from MINIO to versitygw as a S3 backend. See upgrading.md for more information.
  • Removed plaintext password support for API. See upgrading.md for more information.

New Behavior

  • Remove WITH_UNITS as type. Note that existing with_units APIs (tlm_with_units, check_with_units, etc) are deprecated and will simply return the formatted value.
  • get_target_file now returns None/nil when file is not found
  • Return nil/None for items outside buffer bounds in undersized packets. Previously this would return 0. This allows for sparsely populated packets.

Known Issues

The migration script is currently hard coded to use the logs and config bucket names. If you have renamed these using the .env file OPENC3_LOGS_BUCKET or OPENC3_CONFIG_BUCKET this will not take effect. This will be fixed in the final release.

Enhancements

  • Detailed logs around Scope/Settings changes
  • Ability to hide Legend on Telemetry Grapher
  • Allow manually entered values for states on Command Sender
  • New OPENC3_ALLOW_HTTP env var to make it easier to allow http
  • Filter Limits Monitor items by state
  • UI theming support - check the Admin Settings to change COSMOS colors
  • New TEMPLATE_BASE64 keyword for binary templates in the config files
  • Queue interface packets by default with update at 0.1s
  • Add hover tooltip, context menu, and stale overlay to LIMITSCOLOR widget
  • App store API updates
  • Optimize command and telemetry decom performance in Ruby and Python
  • Add hint to admin console about setting k8s secrets
  • New API for scripts and screens to open a browser tab
  • Make Command Parameter list scrollable for Command Editor
  • Validate SCREEN params and make options dialogs consistent throughout
  • Bucket Explorer delete directory
  • Telemetry Grapher select graph button
  • Migrate Python package from Poetry to UV
  • Workflow to restart microservices for a plugin
  • Warn when packets are defined without ID_ITEMs
  • Add UUID to Script Runner temp files to prevent name collision
  • Update to Vite 7
  • Update to Rails 8
  • Switch from Redis to Valkey
  • Switch from Vuex to Pinia
  • Switch password hashing algorithm to argon2

Bug Fixes

  • Fix Script Runner autocomplete when using LATEST
  • Fix Command Sender Mode -> Disable Parameter Conversion checkbox
  • Fix limits bar when displaying the value 0
  • Fix FORMATVALUE widget for 64-bit integer values
  • Fix Python Suite Runner to preserve add_script insertion order
  • Fix plugin downloads
  • Fix tools bucket routing in standalone EC2 deployment to S3 buckets
  • Fix Python TcpipSocketStream write look lockup
  • Fix interface disconnect loop when deleting packets from a plugin
  • Fix xtce_converter CLI crash
  • Fixes for STRUCTURE use
  • Fix TSDB with Python conversions
  • Fix Python custom microservices
  • Fix Python script syntax check and CheckError display
  • Fix screen overlay in Command Sender and clear transient screen errors in Telemetry Viewer
  • Fix secret unpacking in Python
  • Fix time picker to remove milliseconds
  • Fix Python JSON telemetry performance (10x increase in speed)
  • Fix Packet Viewer initial refresh
  • Fix Python http client to close the socket on disconnect
  • Fix recurring activities on Calendar (Enterprise)
  • Fix variable_bit_size command corruption. If a command has more than one VARIABLE_BIT_SIZE declaration it would not be created correctly.
  • Fix Script Runner mnemonic checker crashes and false positives
  • Fix Telemetry Viewer Textfield input bug in float mode
  • Fix Script Runner bug with no scrollbar in message dialogs
  • Fix Telemetry Grapher performance with large historical data
  • Fix zoom in Data Flow Diagrams
  • Fix wait_check blocking on user input when sleep_time is 0

What's Changed RC3

What's Changed RC2

What's Changed RC1

Full Changelog: v6.10.4...v7.0.0-rc3

Don't miss a new cosmos release

NewReleases is sending notifications on new releases.