OpenC3 COSMOS 6.1.0 - AnyCable and News
Welcome to OpenC3 COSMOS 6.1.0!
Potentially Breaking Changes
The change from ActionCable to AnyCable requires you to update your Docker compose.yaml file to add ANYCABLE_REDIS_URL, the openc3-redis/users.acl to add &__anycable__ and the openc3-traefik/traefik.yaml to add 2 new services: service-api-cable and service-script-cable. Please update your compose.yaml, users.acl, and traefik.yaml config files with the latest changes from cosmos-project.
Improvements
- Switched from Rails ActiveCable to AnyCable. AnyCable has much better performance and reliability than ActionCable and should help improve performance for all our websockets including the Streaming API.
- New News Feed in the User Menu which will primarily include information about releases
- Blur LED widget when telemetry goes stale
- Python instrumentation now supports try/except, can import future, and supports globals() and locals() in
check_expression - Created new Table APIs for creating binaries and reports
- Fully documented the Script APIs
- Created new ARRAYPLOT widget for graphing large static blocks of data (o-scope values) rather than individual telemetry points
Bug Fixes
- Fix graph layout grid in TlmGrapher
- FIx pip uninstall in the Admin packages
- Fix python UDP interface
- You can now create a WRITE_CONVERSION which converts a STRING to a UNIT. Read more at WRITE_CONVERSION.
Security
- Disallow parent dir path in sanitize_params
- Check file path prefixes
- Updated MinIO
- Patches for the following CVEs:
All Pull Requests
- Parameterize the traefik version and bump to 3.3.2 by @jmthomas in #1822
- Add docs/assets to codeql ignore by @ryan-pratt in #1827
- Post news feed to user menu by @jmthomas in #1807
- Disallow parent dir path in sanitize_params by @ryan-pratt in #1828
- Fix code scanning alert no. 234: Prototype-polluting function by @ryan-pratt in #1823
- Fix graph layout by @jmthomas in #1846
- Clarify timezone setting by @jmthomas in #1831
- Fix pip uninstall, improve package status by @jmthomas in #1830
- Update MINIO by @jmthomas in #1847
- Blur LedWidgets when stale by @jmthomas in #1849
- Check file path prefixes by @ryan-pratt in #1844
- Fix python UDP, add usage note by @jmthomas in #1848
- Ensure target_file returns utf-8 files by @jmthomas in #1853
- Anycable by @ryanmelt in #1859
- Better handle disconnected message, log_level error by @jmthomas in #1861
- Update UBI minio, add script-runner-api log_error by @jmthomas in #1862
- Improve python instrumentation by @jmthomas in #1855
- Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 by @dependabot in #1863
- Fix write_conversion of default string to int and don't range check strings by @jmthomas in #1845
- Create table APIs by @jmthomas in #1850
- Document using globals() in python expressions by @jmthomas in #1860
- Script apis by @jmthomas in #1803
- Check for invalid inject_tlm states, rescue bad values by @jmthomas in #1866
- Bump all dependencies by @jmthomas in #1867
- Update import-map-overrides and vuetify-labs by @jmthomas in #1869
- Arrayplot widget by @jmthomas in #1868
- Update python lxml by @ryanmelt in #1872
- Update import-map-overrides by @jmthomas in #1874
- Docker build cloud by @ryanmelt in #1875
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: v6.0.2...v6.1.0