v5.9.0
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
- Added a NotFound component to show on unknown tool routes
- Updated load/save configurations between tools to be consistent
- Limits Monitor tabs removed and now everything is on a single page
- Show spinner while file open dialog is loading
- Log messages severity levels mapped to AstroUI levels
- Various UI improvements
Bug Fixes
- Fixed code not being instrumented properly in scripts with multiple function definitions and multiline strings
- Fix TlmGrapher graphs after changing the end_time
- Fix limits_bar widget when yellow limit equaled red limit
- ScriptRunner buttons are now disabled until the script is fully started
- Tlm Screens now better handle errors and show if a screen is broken
All Pull Requests in this Release
- Add build_command to script/commands by [#691](@jmthomas in #691)
- Configure frontend during script start by @jmthomas in #690
- Add not found component by @jmthomas in #695
- Autonomic improvements by @jmthomas in #696
- Make load/save config consistent by @jmthomas in #700
- Better handle bucket require load failures by @jmthomas in #711
- Move playwright into main repo by @jmthomas in #712
- Bump json5 from 2.2.1 to 2.2.3 in /playwright by @dependabot in #714
- detect scope for bucket load by @ryanmelt in #693
- Add tool generators by @ryanmelt in #708
- enable redis threading by @ryanmelt in #725
- Remove tabs in LimitsMonitor by @jmthomas in #723
- Limitsbar show no yellow if yellow == red by @jmthomas in #718
- Better handle screen tlm request timeouts by @jmthomas in #720
- Fix TlmGrapher end time by @jmthomas in #722
- Add spinner overlay to file load save dialog by @jmthomas in #724
- Consolidate config and add reset by @jmthomas in #713
- Map errors to Astro notification levels by @jmthomas in #726
- Use Ace for cmd sender history by @jmthomas in #728
- Collapsible TlmGrapher controls by @jmthomas in #727
- Put Script Runner controls in a card by @jmthomas in #729
- Move PacketViewer chooser into v-card by @jmthomas in #730
- Make TlmViewer controls collapsible by @jmthomas in #731
- Data Extractor and Data Viewer UI by @jmthomas in #732
- Unify utilities UI by @jmthomas in #733
- Dependencies by @jmthomas in #734
- Fix Ruby lex indent logic by @ryanmelt in #737
- Remove playwright enterprise by @jmthomas in #735
- Fix race condition in Autonomic by @jmthomas in #738
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:
- git clone https://github.com/openc3/cosmos-project.git cosmos-myproject
- cd cosmos-myproject
- Run Linux/Mac: ./openc3.sh run
- Run Windows: openc3.bat run
- Connect a web browser to http://localhost:2900/
- Have fun running OpenC3 COSMOS!
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