Releases: OpenC3/cosmos
v6.7.0
OpenC3 COSMOS Core 6.7.0 - App Store & Screen Playback
Welcome to OpenC3 COSMOS Core 6.7.0!
We've launched several big features including integration with our new App Store! The Admin Plugins tab now has the ability to browse plugins directly in the App Store. The App Store will be adding features and plugins over the next few months as we build out this exciting new capability.
Telemetry Viewer now has the ability to playback stored telemetry to screens. This is enabled by a new container called openc3-tsdb
(Time Series Database) powered by QuestDB. For now you have to manually enable this in our compose.yaml and .env files as it will cause data duplication into the database. We're very excited about the possibilities provided by this database and it will be a key piece of the future COSMOS 7.0.0 architecture.
We added a new Context Tag to the top right of the navigation bar. This will be configurable like the classification bar or the sub-title.
The CLI now has options to run Test Runner suites, groups, or scripts. This will make it much easier to execute your Test Runner scripts in a CI/CD pipeline.
Telemetry Grapher now has the ability to set a different value for the x axis. PACKET_TIMESECONDS is still the default but you can select RECEIVED_TIMESECONDS or anything else numeric and the graph will adjust accordingly.
Configuration Changes
The fix for traefik routing for items with periods requires updating your traefik config files. Follow the new upgrade process to make applying these changes easy.
Enhancements
- New documentation for interface options, generic conversions, command validation, critical commanding, command authority, protocols, troubleshooting, and upgrading
- Updated documentation to differentiate Ruby vs Python examples
- Allow hex strings for array sizes, states, bit offsets, and bit sizes
- Differentiate RAW widget settings so multiple RAW settings can be used
Bug Fixes
- Cleanly shutdown packet logs
- Fix python fixed size calculation to avoid log errors
- Fix file handling for
cli load
- Fix variable bit size array items
- Fix Classification-Banner and Snackbar relationship
- Fix traefik routing for items with periods in the name
All Pull Requests
- Add undocumented interface options by @jmthomas in #2191
- Document generic conversion by @jmthomas in #2192
- Cleanly shutdown packet logs with no data by @jmthomas in #2193
- Fix python fixed size calculation by @jmthomas in #2195
- Fix file handling for
cli load
by @ryan-pratt in #2199 - Document Command Validation by @clayandgen in #2200
- Allow hex value for array size by @jmthomas in #2203
- Fix variable bit size array items by @ryanmelt in #2207
- Fix typo by @ryan-pratt in #2214
- Add test to make sure docs links from keywords work by @ryan-pratt in #2212
- Document protocols with examples by @jmthomas in #2209
- Differentiate RAW widget settings by @jmthomas in #2202
- Add troubleshooting docs and update podman by @jmthomas in #2221
- Add troubleshooting note about windows bind mounts by @jmthomas in #2225
- Correct documentation on default LED Widget width by @clayandgen in #2228
- Fully implement Python / Ruby tabs by @jmthomas in #2235
- Fix Classification-Banner and Snackbar relationship | gRPC | playwright by @clayandgen in #2236
- [Feature] Context Tag by @clayandgen in #2237
- Allow well formed URLs by @jmthomas in #2247
- Fix scripting-api documentation by @jmthomas in #2246
- Update documentation for Critical Commanding and Command Authority by @clayandgen in #2240
- Dependencies by @jmthomas in #2248
- CLI options for Test Runner suites by @jmthomas in #2251
- Fix traefik routing by @jmthomas in #2256
- Plugin store by @ryan-pratt in #2162
- TlmViewer Playback by @jmthomas in #2229
- Custom domain items in TlmGrapher by @ryan-pratt in #2249
- Detail new upgrade process by @jmthomas in #2257
- Fix tsdb ubi build by @jmthomas in #2261
- Dependencies Update and Version Revert by @jmthomas in #2263
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: v6.6.0...v6.7.0
v6.6.0
OpenC3 COSMOS Core 6.6.0 - Command Obfuscation
Welcome to OpenC3 COSMOS Core 6.6.0!
We have added a new keyword OBFUSCATE
that can be added to command items. When OBFUSCATE
is applied the command item is zeroed in the raw log file. Text log files (CmdTlmServer, Script Runner) hide the value with *****
. This is ideal for passwords, keys, and anything you want to prevent being stored in both the plain text as well as the raw logs.
Potentially Breaking Changes
The return from API calls to cmd has changed. This only affects those writing custom tools calling the API directly like this.api.cmd(targetName, commandName, paramList)
.
Configuration Changes
To fix an issue with broken documentation links (e.g. Telemetry Viewer right click on keyword) you need to update your traefik configuration file to add a $
to the end of the statictools-index-router
rule. See diff.
Enhancements
- Add autocomplete to Telemetry Viewer dropdowns
- Include traceback in decom error messages
Bug Fixes
- Fix script authorization for Command Authority
- Fix static routes (documentation links)
All Pull Requests
- Include traceback in decom error messages by @cgobat in #2160
- Add autocomplete to Tlm Viewer dropdowns by @clayandgen in #2181
- Fix script authorization for Command Authority by @jmthomas in #2185
- SonarQube API tests by @jmthomas in #2171
- Fix static routes by @ryan-pratt in #2183
- [Feature] Log Obfuscation keyword by @clayandgen in #2187
New Contributors
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: v6.5.1...v6.6.0
v6.5.1
OpenC3 COSMOS Core 6.5.1 - Bug fixes and enhancements
Welcome to OpenC3 COSMOS Core 6.5.1!
Enhancements
- Allow
range
argument option toget_object
calls
Bug Fixes
- Add System Health Tool to list of default gems
- Allow formatting via FORMATVALUE widget on PACKET_TIMEFORMATTED and RECEIVED_TIMEFORMATTED items
- Fix chromeless and inline URL use
All Pull Requests
- Auto-Generate Docs when changes detected -- Add PAT for main push by @clayandgen in #2144
- [System Health Tool] - Add to PluginsTab by @clayandgen in #2148
- Add diff links for upgrade docs by @jmthomas in #2151
- Fix generate-docs by @jmthomas in #2154
- Bundler ignore development and test groups by @jmthomas in #2149
- Bump stefanzweifel/git-auto-commit-action from 5 to 6 by @dependabot in #2146
- Bump the pip group across 1 directory with 2 updates by @dependabot in #2152
- SonarQube Scan to python tests by @jmthomas in #2165
- Allow formatting on TIMEFORMATTED values by @jmthomas in #2176
- Add
range
arg option to get_object calls by @clayandgen in #2161 - Bump MINIO version by @jmthomas in #2178
- Fix chromeless and inline url use by @ryanmelt in #2174
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: v6.5.0...v6.5.1
v6.5.0
OpenC3 COSMOS Core 6.5.0 - Script Engines and System Health Tool
Welcome to OpenC3 COSMOS Core 6.5.0!
Script Engines
COSMOS has a new plugin type called Script Engines! These allow you to create plugins that allow Domain Specific Languages to run in COSMOS Script Runner. There is a very basic example included in the demo plugin for you to checkout. More documentation and better examples to come!
Potentially Breaking Changes
Files were moved during the implementation of Script Engines. Specifically running_script.rb
, running_script.py
and script_instrumentor.py
. If you are requiring or importing these files or relying on their exact path you will need to update.
System Health Tool (Enterprise)
Enterprise has a new System Health Tool that can give you a quick glance of resource utilization and identify any CPU/Memory/Disk exceedances within COSMOS. It also has built in notifications so that users will be notified if things start getting close to the edge on resource utilization.
Improved Docs
Lots of improved docs including new docs on Processors, notes on the Traefik 3 upgrade in COSMOS 6.x, and improved documentation on the stash API.
Ace Diff Moved to Open Source Version
We forked and fixed some issues in the ace-diff npm package, but now OpenC3 is the official maintainer! So instead of including that code in our repos, our changes have now be included into the main ace-diff repo.
Packet Counters Cleared on Undeploy
Whenever you uninstall or upgrade a target plugin, cmd/tlm packet counters are now cleared back to 0.
Bug Fixes
- Fixed parameters to the SpacerWidget
- Fixed several issues in the script CLI commands
- wait lines no longer highlight in Script Runner if instrumentation is disabled
All Pull Requests
- Move to published version of @openc3/ace-diff by @ryan-pratt in #2103
- Add processor documentation and CLI support by @jmthomas in #2108
- Script Runner bug and environment variable docs by @ryan-pratt in #2113
- Fix SpacerWidget parameters by @ryan-pratt in #2122
- Improve the script CLI by @jmthomas in #2117
- Improve wording on documentation for Stashes by @clayandgen in #2132
- Add nightly firefox tests by @ryan-pratt in #2130
- Ignore wait in disable_instrumentation by @jmthomas in #2135
- Disable nightly firefox playwright tests by @ryan-pratt in #2137
- Auto-Generate Docs when changes detected by @clayandgen in #2138
- Note traefik 3 upgrade by @jmthomas in #2141
- [System Health Tool] -- Database Seed by @clayandgen in #2133
- [System Health] - Documentation by @clayandgen in #2136
- Reset the Tlm and Cmd Counts on Undeploy by @stephen-ritter in #2139
- Script Engines by @ryanmelt in #2142
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: v6.4.2...v6.5.0
v6.4.2
OpenC3 COSMOS Core 6.4.2 - Code Coverage, Doc Updates, and Bug Fixes
Welcome to OpenC3 COSMOS Core 6.4.2!
Enterprise - Added new Ruby and Python SDKs for Autonomic
We now have SDKs in both Ruby and Python for controlling Autonomic. This can allow for programatic creation of Triggers and Reactions from scripts or your own code.
New Event Message Data Viewer Component
There is a new Event Message Component in DataViewer that can be used to display a set of text strings in a scrolling list. Perfect for FSW events, or any other set of string messages you would like to display over time.
Improved Unit Test Coverage
Thanks to @clayandgen our unit test coverage keeps improving. We are now at approximately ~79% coverage and are continuing to improve.
Improved Docs
Lots of new docs in this release! Our docs now have more diagrams and discussions of the different ways to deploy COSMOS, there is a new docs page on conversions, and a new upgrade guide was added that discusses the necessary versions to hop through when upgrading if you have fallen far behind on versions.
Bug Fixes
- Fixed several issues with Redis Cluster caused by use of pipeline for Redis
- Fixed an issue that prevented screen errors from clearing the triangle icon after the errors were fixed
- Enterprise - Fixed a redirect issue when using Firefox
All Pull Requests
- Remove extra : in toast notification when there's no body by @ryan-pratt in #2074
- Add some diagrams to docs by @ryan-pratt in #2077
- Fix typo: "se" --> "set" by @gbonn in #2078
- Rebalance init image build by @ryan-pratt in #2079
- Revamp custom widget guide by @ryan-pratt in #2080
- Fix docusaurus build by @ryanmelt in #2086
- Text log microservice redis cluster by @ryanmelt in #2088
- Detail upgrade migration steps by @jmthomas in #2083
- Initial reference architectures page by @jmthomas in #2084
- Add autonomic script apis by @jmthomas in #2082
- [Unit Tests] - Cmd/Tlm API (Primarily Models) by @clayandgen in #2091
- Document conversions by @jmthomas in #2085
- Fix Cmd Tlm API Unit Tests by @clayandgen in #2098
- Use new google-protobuf by @jmthomas in #2095
- Clear screenItems when re-parsing screen definition by @ryan-pratt in #2101
- DataViewer Event Message component by @ryan-pratt in #2096
- Fix Firefox infinite redirect issue by @clayandgen in #2102
New Contributors
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: v6.4.1...v6.4.2
v6.4.1
OpenC3 COSMOS Core 6.4.1 - Bug fixes
Welcome to OpenC3 COSMOS Core 6.4.1!
Bug Fixes
- Support for 64 bit ints in COSMOS 6.2.0 broke the handling of floating point values which could potentially lose precision. For more information about which floating point values were affected see description of isSafeNumber
- Fix issue with next line delay after pausing a script
- Scripts in COSMOS 6.4.0 that completed quickly (single line scripts) were not appropriately marked as completed
All Pull Requests
- Better handle large integers by @jmthomas in #2062
- update overlay behaviour by @ryanmelt in #2068
- Fix script connect error if completed by @jmthomas in #2072
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: v6.4.0...v6.4.1
v6.4.0
OpenC3 COSMOS Core 6.4.0 - Script Runner improvements including Goto!
Welcome to OpenC3 COSMOS Core 6.4.0!
Script Runner Improvements
Script Runner gained a bunch of new features. It can now Goto an arbitrary line using the right click menu as well as using goto X
in scripts. It can execute a selection of script while paused to help debugging. We added a bunch of additional states to script status:
- spawning - Not running yet
- init - Initializing
- running - Running
- paused - Paused
- waiting - Waiting (either for a wait or a prompt)
- error - Paused with an error
- breakpoint - Paused with a breakpoing
- crashed - Complete after crashing with an exception
- stopped - Prematurely stopped
- completed - Completed successfully
- completed_errors - Completed but errors occurred while running
- killed - Forcefully killed
You can get this new information from the get_script(<ID>)
API method. This will also be coming to the CLI soon! Finally we changed the environment button and better indicate when env vars are set.
Potentially Breaking Changes
- The internal methods reduce_to_single_packet and identify_and_finish_packet within Python protocols no longer take an extra argument and instead use an extra instance variable to match the Ruby code.
Other Improvements
- UBI containers updated to UBI9
- Updated tooltips to add delay and remove unnecessary tooltips
- Allow PreidentifiedProtocol to process old COSMOS 4 bin files
- Added FileInterface documentation
- Updated NASA cFS documentation
- Updated SSL/TLS documentation
- Added cmd-tlm-api and script-api controller tests
Bug Fixes
- Fix root redirect to avoid 404 errors
- Python UDP sockets handle disconnect / reconnect
- Fix TlmGrapher graph widths to allow display side by side
- Allow TlmViewer widget settings to override global settings
- Fix TlmViewer's FormatValue widget size and alignment
All Pull Requests
- Remove broken rubocop config inherit by @ryan-pratt in #2008
- Add :w support to vim mode by @ryan-pratt in #2009
- UBI9 and libcsp by @ryanmelt in #2021
- Fix eslint configs by @ryan-pratt in #2022
- Fix treenode value by @jmthomas in #2027
- TlmGrapher improvements by @ryan-pratt in #2024
- The Great Tooltip Audit of 2025 by @ryan-pratt in #2026
- Better support microservice state in Demo by @jmthomas in #2023
- Python UDP sockets handle disconnect / reconnect by @jmthomas in #2029
- Update dependencies by @jmthomas in #2030
- Fix graph widths by @ryan-pratt in #2034
- Allow settings to override global settings by @jmthomas in #2033
- Button tweaks by @ryan-pratt in #2031
- Fix python help() by @jmthomas in #2032
- [Documentation] - Update NASA cFS Documentation by @clayandgen in #2038
- Don't make path clickable in Bucket Explorer by @jmthomas in #2041
- Fix formatvalue size and better align items by @jmthomas in #2040
- COSMOS Core and COSMOS Enterprise terminology by @jmthomas in #2036
- [Documentation] - Update missing links in Configuration/Accessors.md by @clayandgen in #2047
- Move root redirect to nav guard by @ryan-pratt in #2048
- Update jmespath requirement from = 1.5.0 to = 1.6.2 in /examples/openc3-cosmos-erb-test in the bundler group across 1 directory by @dependabot in #2049
- Update dependencies by @jmthomas in #2054
- [Unit Tests] - Cmd / Tlm Controllers by @clayandgen in #2055
- Goto, Script Status Improvements, Restore Running Script by @ryanmelt in #2035
- File interface by @jmthomas in #2005
- Load enterprise APIs by @jmthomas in #1949
- Update SSL/TLS docs by @jmthomas in #2059
- [Unit Tests] - Script Runner API by @clayandgen in #2060
New Contributors
- @clayandgen made their first contribution in #2038
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: v6.3.0...v6.4.0
v6.3.0
OpenC3 COSMOS 6.3.0 - Lots of Improvements!
Welcome to OpenC3 COSMOS 6.3.0!
Potentially Breaking Changes
- Alpine upgraded to version 3.21
- Ruby upgraded to version 3.3
- Python upgraded to version 3.12
Ruby Script Instrumentation Now Uses Prism
Ruby 3.3 dropped support for the Ripper library so we rebuilt our Ruby script instrumentation using the modern and supported Prism library. Look for a talk at the Space Software Summit from our own Jason Thomas on this update!
UBI based images are now published
We now will be publishing our standard Alpine based images, as well as a set of images based on the IronBank UBI base image. This is the first release with these published. We will improve their ease of use and add security scans in an upcoming release. Note UBI is not fully functional. Expect a fully functional version in the next release.
Graph LATEST packet
You can now graph the LATEST packet in TlmGrapher (and in Grafana in our Enterprise Editon). This allows for graphing items with the same name across multiple different packets.
Python Dynamic Packet Support
Python now has support for dynamically defining packets at runtime. New docs are available for this feature here: Dynamic Packets
Greatly Improved File Open Performance
The Vuetify Tree Widget was causing performance issues for several of our customers so we replaced it with a much more performant implementation. Let us know if this greatly improves selecting files in ScriptRunner!
Limits Monitor Updates
Limits Monitor has been rewritten to use a Vuetify Data Table. This provides sorting, searching, and a much nicer presentation.
ScriptRunner Vim Mode
All you Vim lovers out there can now put ScriptRunner into vim mode to edit your scripts!
Playwright test performance improvements
Our Playwright tests have been refactored to support running several of the tests in parallel. This improves our total time to run our end to end test suite saving us CI/CD time every commit.
Python Table Code
Python now has the code necessary to create, build, and edit tables.
Offline Access Token Generation
For our enterprise customers, we have added api methods to generate offline access tokens without having to access the GUI. This allows for much easier CI/CD test support on enterprise. Just run initialize_offline_access() before calling script_run().
Other Improvements
- Lots of dependency updates
- Details dialog added to LedWidget
- Renamed hash variables in Python to avoid overloading keyword
Bug Fixes
- DISABLE_DISCONNECT keyword now works
- Packet Receive Counts now works for packets that can be received across multiple interfaces
- Graph without overview graph fixes
- Fixed a websocket issue with multiple subscriptions on the same cable
All Pull Requests
- Change BOX styling by @jmthomas in #1948
- Switch to Ruby Prism parser by @jmthomas in #1936
- Alpine 3.21, Ruby 3.3, Python 3.12 by @jmthomas in #1959
- Update roadmap by @jmthomas in #1961
- Document CLI by @jmthomas in #1962
- Remove hash as variable by @jmthomas in #1954
- Build UBI images as part of the release by @jmthomas in #1965
- Dynamic packets in Python by @jmthomas in #1953
- Improve FileOpen performance by @jmthomas in #1956
- Update dependencies by @jmthomas in #1969
- Update theme-color by @ryan-pratt in #1975
- Limits Monitor Data Table, Sorting, Search, and Menu by @ryanmelt in #1966
- Fix DISABLE_DISCONNECT in the frontend by @jmthomas in #1972
- Initial Base Changes to Support Notebooks by @ryanmelt in #1964
- Vim mode for Ace editors by @ryan-pratt in #1976
- Parallel Playwright by @ryan-pratt in #1945
- Implement Global Packet Received Counts by @ryanmelt in #1963
- Fix Graph without overview by @jmthomas in #1979
- Bump the npm_and_yarn group across 11 directories with 1 update by @dependabot in #1981
- Fix bug in confirm dialog with validation text by @ryan-pratt in #1983
- Bump the npm_and_yarn group across 8 directories with 1 update by @dependabot in #1982
- Fix multiple subscriptions on the same connection by @ryanmelt in #1980
- Add LATEST packet to TargetPacketItemChooser by @ryan-pratt in #1957
- Increase test timeouts by @ryan-pratt in #1984
- Fix script runner size by @ryan-pratt in #1989
- Increase timeout for enterprise gh runners by @ryan-pratt in #1991
- Fix streaming api from uuid change by @ryanmelt in #1994
- Add details dialog to LedWidget by @jmthomas in #1993
- Changes required for scope banner in enterprise by @ryan-pratt in #1997
- Implement offline access in python by @jmthomas in #1851
- Bump traefik to 3.3.5 by @jmthomas in #1996
- Implement table manipulation code in Python by @jmthomas in #1985
- Bump the npm_and_yarn group across 19 directories with 1 update by @dependabot in #1999
- Bump minio by @jmthomas in #2003
- Remove mkrf_conf and include ruby-termios by @jmthomas in #2004
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: v6.2.1...v6.3.0
v6.2.1
OpenC3 COSMOS 6.2.1 - Bug fixes
Welcome to OpenC3 COSMOS 6.2.1!
This release is primarily bug fixes and an enhancement to Packet Viewer to allow search on packets that have never been received.
Bug Fixes
- Add yarn built dist folder to release
- Force anycable to use 127.0.0.1
- Fix python try except instrumentation
All Pull Requests
- Add yarn build to release by @ryanmelt in #1935
- Update fluentd docs by @jmthomas in #1938
- PV allow search on null packet by @jmthomas in #1941
- Force anycable to use 127.0.0.1 rather than localhost to avoid ipv6 issues by @ryanmelt in #1946
- Fix python try except instrumentation by @jmthomas in #1940
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: v6.2.0...v6.2.1
v6.2.0
OpenC3 COSMOS 6.2.0 - Microservice Control, CONNECT_CMD
Welcome to OpenC3 COSMOS 6.2.0!
Microservice Control
In the Admin Microservices tab you can now restart, stop, and start microservices. This can be useful for debugging and simulating failures. (Note: stopping microservices will break things!)
CONNECT_CMD OPTION for Interfaces
This new option allows for sending commands on initial connection of an interface.
Read more here
Other Improvements
- Limits responses now run in a thread to prevent blocking decom while they are running
- Improve TableManager file lookup
- Scopes now have configurable retain times for script logs and other logs
Bug Fixes
- Fixed 64-bit integer support on the frontend in CmdSender / PacketViewer / TlmViewer
- Handle news not being available in offline environments
- Fix title widget centering
- Fix time case sensitivity in frontend
- Fix multiline generic conversions in Python
- Fix exception in Python TcpipServerInterface due to DNS lookup failure
- Fix ScriptRunner leaving zombie processes
- Fix python ScriptRunner output thread
- Correct numerous Sonarqube findings
- Improve some playwright test flakiness (more to be done)
- Fix LIMITSCOLUMN and LIMITSCOLOR examples
- Now using consistent colors for limits everywhere
- Fixed missing dist folders in javascript libraries
- Fix parsing hex and binary ID items
- Fix displaying hazardous description in popup dialog
- Fix python identify_packet
All Pull Requests
- fix(packets): correct dict iteration syntax in Telemetry.identify_packet by @badrobit in #1877
- Add command description to hazardous dialog by @ryan-pratt in #1879
- Fix import-map-overrides dialog style by @ryan-pratt in #1880
- Add .npmignore files by @ryan-pratt in #1893
- Rework scope cleanup microservice by @jmthomas in #1891
- Properly parse hex and binary ID items by @jmthomas in #1896
- Match limits colors and support no item name by @jmthomas in #1885
- Upgrade python packages using poetry by @jmthomas in #1881
- Add CONNECT_CMD option for interfaces by @jmthomas in #1886
- Fix LIMITSCOLUMN and LIMITSCOLOR examples by @jmthomas in #1898
- First pass audit of the playwright tests by @ryan-pratt in #1871
- Address SonarQube issues by @jmthomas in #1899
- Improve TableManager definition lookup by @jmthomas in #1900
- Eliminate script zombies. Fix python output thread. Default CI to empty string by @ryanmelt in #1903
- Add keycloak setup and run-aws by @jmthomas in #1906
- Run Limits Responses in Thread to Prevent Blocking Decom by @ryanmelt in #1901
- Kill Microservice on any Thread Crash by @ryanmelt in #1902
- Add exception catch on python hostname lookup by @ryanmelt in #1915
- Update dependencies by @jmthomas in #1910
- Dev doc updates by @NuclearFizzler in #1917
- Microservice control by @jmthomas in #1091
- Fix multi line generic conversions in Python by @ryanmelt in #1918
- Fix case sensitivity for timestamp formatting by @ryan-pratt in #1926
- Fix title widget centering by @ryan-pratt in #1927
- Handle news connection failure by @jmthomas in #1920
- Support 64 bit ints in CommandSender by @jmthomas in #1930
New Contributors
- @badrobit made their first contribution in #1877
- @NuclearFizzler made their first contribution in #1917
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: v6.1.0...v6.2.0