OpenC3 COSMOS 5.20.0 - Critical Commanding (Enterprise)
Welcome to OpenC3 COSMOS 5.20.0!
Critical Commanding (Enterprise)
This release adds a new feature for our Enterprise users called Critical Commanding. Critical commanding in NORMAL mode requires commands marked HAZARDOUS or RESTRICTED to be approved by two operators before being sent. In ALL mode it also requires all manual commands from CmdSender to be approved by two operators. Accounts that approve must have the 'approve_hazardous', 'approve_restricted', or 'approve_normal' permission depending on the type of command. There is also a new default "approver" account in Keycloak.
Packet Viewer Item Pinning
By right clicking on item names, you can now pin items in PacketViewer. This allows you to keep items at the top and watch their values on all pages, and when searching.
ScriptRunner show wait time, colorized output, view logs
The ScriptRunner state field now shows how long you have been waiting on waits and wait_checks. Additionally ScriptRunner output text is now colored green for successful checks, and red for failed checks. Finally you can now view script logs in a dialog, rather than having to download them.
New DATE and TIME widgets
TlmViewer has new DATE and TIME widgets that can be used to have users select a specific date and time that is then used in BUTTON code.
Potentially Breaking Changes
- Updated to Alpine 19
- Delete apis now return 200 instead of 204 on success. 204 was preventing data from being returned by these methods.
Other Improvements
- ScriptRunner now removes the leading script_ or test_ from method names in Suite mode
- The Login prompt now lets you know if you enter a bad password (less than 8 characters)
- Allow horizontal scrolling in TlmViewer and other apps if the content is too wide to fit
- Python now stores packages in a venv
- Hovering over limits bars now shows the limits range
- Limits violation log messages now include the value of the limits that was violated
Other Bug Fixes
- Fixed a bug in PacketViewer where the wrong value would be shown on later pages
- Made TlmGrapher graphs not grow in size when mouseover values
- Fixed enabling and disabling limits on items with colored states
- Calendar updated to better handles events at the same start time (Enterprise)
- LINEGRAPH widget now respects the time zone setting
- Fix ScriptRunner Execute text when file modified
- Fixed authorization for the web_socket_api files
All Pull Requests in this Release
- Add key to PacketViewer table by @jmthomas in #1611
- Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 by @dependabot in #1622
- Critical Commanding Support For Enterprise by @ryanmelt in #1627
- Fix text offset in Tlm Grapher by @jmthomas in #1607
- Document SR right click by @jmthomas in #1615
- CvtModel get_tlm_values return consistent results by @jmthomas in #1608
- Improve TargetPacketItemChooser behavior by @jmthomas in #1613
- Disabling limits sets enabled to false by @jmthomas in #1609
- Strip script_ and test_ from suite names by @jmthomas in #1614
- Pv pin by @jmthomas in #1621
- Add wait / pause time to state by @jmthomas in #1616
- Trivy workaround for TOOMANYREQUESTS by @jmthomas in #1633
- Fix timeline to handle events at same time by @jmthomas in #1657
- Add time zone to LinegraphWidget by @jmthomas in #1656
- Colorize SR output on CHECK success/failure by @jmthomas in #1654
- Change get_target_names permission to 'system' by @jmthomas in #1651
- Catch initial password set errors by @jmthomas in #1635
- Add LedWidget hover by @jmthomas in #1649
- Hide start button when Suite Runner active by @jmthomas in #1650
- Fix ScriptRunner Execute text when file modified by @jmthomas in #1637
- Format binary output as hex by @jmthomas in #1653
- Default screen cursor, pointer only on linked screens by @jmthomas in #1647
- Allow horizontal scrolling in apps by @jmthomas in #1639
- Alpine19 and Python venvs by @jmthomas in #1604
- beginning to address the SonarCloud Highs by @JL-Brothers in #1546
- Cleanup controllers and change delete 204 to 200 by @jmthomas in #1666
- Add from_config to PacketConfig by @ryanmelt in #1663
- cmd and cmd_raw raise on bad item states by @jmthomas in #1661
- Revert "cmd and cmd_raw raise on bad item states" by @ryanmelt in #1669
- Display range on limits bar hover by @jmthomas in #1648
- Add DATE and TIME widgets by @jmthomas in #1636
- Add limits value to message by @jmthomas in #1640
- add args to conversion to be returnable as json by @JL-Brothers in #1512
- View Script Logs / Report by @jmthomas in #1655
- Handle BLOCK and STRING params in autocomplete by @jmthomas in #1674
- Make Bearer optional in token to fix web_socket_api by @ryanmelt in #1675
- Dependencies by @jmthomas in #1676
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 support@openc3.com.
Thanks!
Full Changelog: v5.19.0...v5.20.0