Skip to content

v7.4.0

Latest

Choose a tag to compare

@jmthomas jmthomas released this 11 Sep 02:23
· 5 commits to main since this release

OpenC3 COSMOS Core 7.4.0 - Base containers now Debian (vs Alpine), preview of new Bridge

Welcome to OpenC3 COSMOS Core 7.4.0! We've made a ton of enhancements and bug fixes in this release. The biggest is the foundation for an exciting new Bridge concept. This will enable direct to the host control of attached hardware through a fully secure network channel. While the foundation is laid, we're not ready to declare this as feature complete so stay tuned!

We've added a cool new ability to set various settings via the environment variables. This layers on the new compose.override.yaml support in 7.3.0. Now you can add OPENC3_SETTING_TIME_ZONE=UTC in the openc3-cosmos-init container environment to always start with UTC time (for example).

There were numerous enhancements to the documentation and many more to our testing system. This is all preparing us for an exciting 4th quarter headlined by our Space Software Summit. We're also already preparing ideas and issues for COSMOS 8. Finally if you haven't checked out the OpenC3 Store make sure to check out all the new additions!

Migration Notes

With the addition of the compose.override.yaml and .env.local (first in 7.3.0) you should move all of your compose.yaml and .env updates into these new files. Rename your existing compose.yaml to compose.override.yaml and .env to .env.local. Get the newly released compose.yaml and .env files from the release. Then diff with these files to determine your project specific modifications and remove any defaults or other settings that you're not explicitly overriding. This will make upgrading much easier going forward because you don't have to sync with our defaults.

🛑 Breaking Changes from 6.x

  • S3 Backend Migration: Migrated from MINIO to versitygw.

See the COSMOS 7.0.0 release notes for all the amazing new features in COSMOS 7!

🛠 Enhancements

  • Switch base images from Alpine to Debian Slim
  • New bridge concept with new keywords BRIDGE, BRIDGE_OPTION, BRIDGE_PROTOCOL, BRIDGE_SECRET
  • Named widgets accessed by getNamedWidget are case insensitive
  • Update playback button spacing in Telemetry Viewer
  • Clarify documentation about string quoting
  • Document grafana roles
  • Add received_time to inject_tlm
  • Refactor Web socket API to reduce duplication, normalize URL generation, and tighten protocol/error-handling behavior
  • Update Script Organization wording to clarify target requirement
  • Add secrets guide covering kubernetes and vault
  • Add guide on Packet Structure Changes
  • Improve binary processing and native CRC performance
  • Make Content Security Policy (CSP) more permissive and configurable
  • Update migration docs and mcp-server
  • Improve scriptRunner performance for lines and output, and add batching to events
  • Set OPENC3_LOG_LEVEL to control log levels in all containers
  • Telemetry Grapher now implements smooth scrolling
  • Update start and load_utility documentation
  • Update Data Viewer documentation
  • Prevent token errors on startup
  • Improve interface details implementation and documentation
  • Seed settings from OPENC3_SETTING_* env vars
  • Allow DetailsDialog to scroll
  • Numerous enhancements to unit tests and Playwright tests (thanks @EmilyRagan!)

🪲 Bug Fixes

  • Various fixes to the Python venv behavior including using it for Suite analysis
  • Emit schema-valid XTCE 1.2 from both Ruby and Python exporters
  • Fix QuestDB TTL alter syntax
  • Fix write protocols layout in the Data Flow visualization
  • Deconflict time module in user scripts
  • Disable fields while loading the Admin settings to prevent race condition
  • Fix malformed note blocks in documentation
  • Fix ulimit documentation
  • Fix classification banner to respect height option
  • Prevent update_news auth bypass from broad rescue
  • Perform autonomic input validation
  • Validate suiteRunner values as identifiers not code
  • Scope auth rate limit counters per client
  • Fix script runner file Save As to remove * from filename
  • Fix processor documentation
  • Prevent double underscores in scope names
  • Fixes to UDP interfaces supporting receiving from any port
  • Gate cmd_tlm overlay writes at every writer
  • Fix env.local not sourced by various openc3.sh commands
  • Contain read_file paths to config directory when parsing cmd/tlm files
  • Allow custom RUBYGEMS_URL for build and runtime plugin gem installs
  • Call queue size methods in as_json
  • Fix Python TcpipSocketStream to honor read_timeout
  • Bound protocol accumulation buffer size (mostly affects Length and Terminated protocols)
  • Make connect_interface a no-op when already connected
  • Fix Secret file path validation
  • Flag and read CBOR extra on RAW_PACKET entries
  • Fix error reporting in Telemetry Viewer when parsing screens with errors
  • Fix unreserve to release the reservation in BucketFileCache

What's Changed

New Contributors

Full Changelog: v7.3.0...v7.4.0