v5.13.0
OpenC3 COSMOS 5.13.0 - Non-Root Containers and AstroUx Styling
Welcome to OpenC3 COSMOS 5.13.0!
IMPORTANT: Breaking change to Non-Root Containers and Renamed Minio Volume
Previously all of our non-COSMOS unique containers ran as received from Docker Hub (so Traefik and Minio ran as root). Going forward all of our containers are configured to run as non-root users (except with rootless podman - which isn't really running as root).
This is a breaking change as earlier versions have volume mounted data that is owned by other user ids. Additionally we renamed the openc3-minio-v volume to openc3-bucket-v to ease upgrading to Enterprise Edition. Note that significant changes were made to compose.yaml and all traefik config files.
To migrate from COSMOS 5.12.0 to 5.13.0 please run the following scripts from your COSMOS project folder.
MacOS/Linux: https://github.com/OpenC3/cosmos-project/blob/05c95a24627ac0694fd4af605533de1eb13683f4/migrate_5_12_to_5_13.sh
Note: you should always review shell scripts before running them on your computer.
AstroUx 7 Styling
We've gone through a review with Rocket Communications and all of our tools have a fresh new update to AstroUx version 7! You'll notice more consistent styling and layout throughout and a fresh new look. Also, all value widgets for items with limits now show an icon to indicate limits state improving color blind support.
TlmGrapher Array Items
You can now graph individual items from arrays in TlmGrapher!
ScriptRunner Open Recent
ScriptRunner now keeps track of recently opened files in the File menu
More Persistent config when leaving tools and coming back
Whenever you leave a COSMOS tool and then return, it will generally now continue with the same settings as when you left, rather than refreshing.
New MqttStreamInterface
New interface that supports using two Mqtt topics as byte streams for sending and receiving data.
Python Streaming API
Added python code to support all of our Websocket Apis including the StreamingApi.
Calendar and Autonomic Now Enterprise Only
These tools have been moved to COSMOS Enterprise Edition going forward. Thanks to all of our Enterprise customers for supporting us!
Python code generators now available
Our code generators now support either Ruby or Python. Just add --python to the end for Python support.
Important Bug Fixes
- The cmd() log_message parameter now works again
- Fixed commanding with binary data from Python
- Fixed the XTCE converter and added XTCE support for ContainerRefEntry
- Python suite analysis now handles load_utility calls
All Pull Requests in this Release
- Bump axios to latest by @jmthomas in #930
- Bump actions/github-script from 6 to 7 by @dependabot in #932
- Graph array by @ryanmelt in #933
- Remove Logger from script files. Fix cmd log_message param by @jmthomas in #931
- Change severity to level by @jmthomas in #936
- Prepend astro status to valuewidget by @jmthomas in #938
- Bump got, @docusaurus/core, @docusaurus/plugin-client-redirects, @docusaurus/preset-classic and docusaurus-lunr-search in /docs.openc3.com by @dependabot in #945
- Updates for docusaurus 3 by @ryanmelt in #947
- Fix python encoding of binary by @jmthomas in #946
- Protocol api docs by @jmthomas in #949
- Add Open Recent to ScriptRunner, fix file icons by @jmthomas in #951
- Bump @adobe/css-tools from 4.3.1 to 4.3.2 in /openc3/templates/tool_react by @dependabot in #962
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot in #963
- Default config by @jmthomas in #960
- Mqtt Stream and Stream Interface. Plus fixes and faraday multipart by @ryanmelt in #955
- Astro by @jmthomas in #943
- Add Key Concepts page by @jmthomas in #950
- Bump actions/setup-python from 4 to 5 by @dependabot in #969
- Add OPENC3_IMAGE_SUFFIX to the cli and cliroot Calls by @stephen-ritter in #957
- Cleanup cmd apis by @jmthomas in #967
- Cleanup tlm apis by @jmthomas in #970
- XTCE - Add ContainerRefEntry support - Ignore Ancillary by @ryanmelt in #972
- Dependencies by @jmthomas in #971
- Fix Details Dialog when limits are 0 by @jmthomas in #973
- Create python streaming api by @jmthomas in #974
- Move Calendar and Autonomic to Enterprise by @jmthomas in #976
- Further astro refinements by @jmthomas in #980
- run all containers as non-root by @ryanmelt in #979
- Docusaurus fixes by @ryanmelt in #983
- Add python generators by @jmthomas in #982
- python suite analysis handle load_utility require_utility by @ryanmelt in #984
- Packet Viewer remember last packet by @ryanmelt in #985
- Add checks to plugin undeploy by @ryanmelt in #986
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