Releases: OpenC3/cosmos
v6.10.4
OpenC3 COSMOS Core 6.10.4 - Enhancements and bug fixes
Welcome to OpenC3 COSMOS Core 6.10.4!
We're back with a lot of documentation updates and a few cool new features. The first is the addition of the VARIABLE_DESCRIPTION and VARIABLE_OPTION keywords for plugin.txt. This will allow you to add documentation and drop down selections when VARIABLES are rendered when installing a new plugin. Here's an example from our Demo:
We also added a global setting to use a 24 hour clock chooser instead of the 12 hour AM/PM chooser.
With this release the focus now turns to COSMOS 7! We have a lot of great changes coming up including the use of the QuestDB time series database. We're also making a lot of internal changes to keep up with changing open source software.
As a reminder we made a critical security patch in COSMOS 6.10.2 which is included in this release.
All users regardless of current running version MUST upgrade to 6.10.2+ as soon as possible
Enhancements
- Add VARIABLE_DESCRIPTION and VARIABLE_OPTION keywords for plugin.txt
- Add global 24-hour time chooser setting
- Data extractor log extra in decom
- Add Force Re-init process
- Select tgt, pkt, item name text when clicked
- Various improvements to the Python websockets implementation
- Config parser updates
- Document upgrade instructions
- Document derived item ordering behavior in Telemetry Viewer
- Document PATH as reserved environment variable name
- Document credentials and deployment security
- Document microservices development
- Document encryption protocols
- Document read_details and write_details protocol methods
Bug Fixes
- Fix Ruby JSON encoding to preserve Unicode characters like µA
- Update ace-diff to fix line merging bugs
- Remove hard coded tag in upgrade script
What's Changed
- Remove hard coded tag in upgrade script by @jmthomas in #2693
- Update upgrade instructions by @jmthomas in #2694
- Document derived item ordering behavior in Telemetry Viewer by @jmthomas in #2695
- Web socket improvements by @EmilyRagan in #2692
- Document PATH as reserved environment variable name by @jmthomas in #2698
- Add global 24-hour time format setting by @jmthomas in #2704
- Data extractor log extra in decom by @clayandgen in #2706
- Fix JSON encoding to preserve Unicode characters like µA by @jmthomas in #2707
- Select tgt, pkt, item name text when clicked by @jmthomas in #2705
- Pre-commit hook to update copyright dates in changed files by @EmilyRagan in #2710
- Add Force Re-init process by @clayandgen in #2711
- Add security documentation for credentials and deployment by @jmthomas in #2696
- Bump dependencies by @jmthomas in #2715
- Add public dir to templated gemspec by @ryan-pratt in #2714
- Add microservices development documentation by @jmthomas in #2700
- Document encryption protocols by @jmthomas in #2699
- Document read_details and write_details protocol methods by @jmthomas in #2702
- Add VARIABLE_DESCRIPTION and VARIABLE_OPTION keywords for plugin.txt by @jmthomas in #2703
- Config parser updates and notebook setup by @ryanmelt in #2708
- Add Latin check to prevent binary data from being treated as UTF-8 text by @jmthomas in #2719
- Update ace-diff to fix line merging bugs by @jmthomas in #2724
Full Changelog: v6.10.3...v6.10.4
v6.10.3
OpenC3 COSMOS Core 6.10.3 - Enhancements and bug fixes
Welcome to OpenC3 COSMOS Core 6.10.3!
We've made a number of enhancements and bug fixes as we close out the year and close out development of COSMOS 6. With this release the focus now turns to COSMOS 7! We have a lot of great changes coming up including the use of the QuestDB time series database. We're also making a lot of internal changes to keep up with changing open source software.
As a reminder we made a critical security patch in COSMOS 6.10.2 which is included in this release.
All users regardless of current running version MUST upgrade to 6.10.2+ as soon as possible
Enhancements
- Upgraded XTCE converted to support 1.2
- Add limits bar to details dialog for items with limits
- Data Extractor add Username/Approver to command export
- Telemetry Viewer file display and file checksum widgets
- Telemetry Viewer generic tooltip capability
- Script Runner indicator for tlm overrides
- Command Sender description is yellow if hazardous parameter
- Bucket Explorer enforce RBAC in config / logs buckets
- Improve log sorting in CmdTlmServer log messages
- Include shard logic in Kubernetes networking
- Retry JsonDrb and API requests
- Document cmd/tlm naming conventions
- Document using target_name in ERB
- Document Subpackets
Bug Fixes
- Fix array of strings
- Fix put_target_file won't accept IO files
- Fix bracket items in Limits Monitor
- Fix goto in Python with indentation
- Fix python packet item ordering
- Various fixes to QuestDB microservice
What's Changed
- Upgrading the Cosmos -> XTCE converter to support v1.2. by @alex-pope-sdl in #2615
- Remove return in generic conversion examples by @jmthomas in #2643
- Fix array of strings by @jmthomas in #2646
- Add naming convention to both Commands and Telemetry by @jmthomas in #2645
- [Feature] Add Username/Approver to the Command Export by @clayandgen in #2648
- [Feature] File Display Widget by @clayandgen in #2652
- Document using target_name in ERB by @jmthomas in #2655
- Indicator for SR overrides by @markjmiller in #2654
- Fix put_target_file won't accept IO files by @markjmiller in #2659
- Fix bracket items in Limits Monitor by @jmthomas in #2663
- Make command description yellow if hazardous parameter by @jmthomas in #2662
- Update Anycable, Minio, vuetify, various other frontend by @jmthomas in #2653
- [Feature] Filechecksum Widget by @clayandgen in #2660
- Add generic tooltip capability by @jmthomas in #2674
- Allow goto with various indentation by @jmthomas in #2664
- Add styles and include tool-base in build by @jmthomas in #2677
- Add CLAUDE.md and fix-github-issue by @jmthomas in #2680
- Various enhancements to QuestDB microservice by @jmthomas in #2673
- Fix all ESLint warnings across Vue packages by @jmthomas in #2682
- Add limits bar to details dialog by @jmthomas in #2679
- Fix python packet item ordering by @jmthomas in #2675
- Document Subpackets by @ryanmelt in #2661
- Improve log sorting by @EmilyRagan in #2684
- Enforce RBAC in Bucket Explorer by @jmthomas in #2666
- Include shard logic in networking by @jmthomas in #2665
- Bump dependencies by @jmthomas in #2688
- Retry JsonDrb and API requests in Python by @jmthomas in #2676
- Fix minio release version by @jmthomas in #2689
New Contributors
- @alex-pope-sdl made their first contribution in #2615
Full Changelog: v6.10.2...v6.10.3
v6.10.2
OpenC3 COSMOS Core 6.10.2 - Bug Fixes and Critical Security Patch
Welcome to OpenC3 COSMOS Core 6.10.2!
This is patch release to address a critical security issue and it also addresses several bugs.
Details of the security issue will be disclosed in a couple weeks after users have had a chance to upgrade.
All users regardless of current running version MUST upgrade to 6.10.2+ as soon as possible
If you are an OpenC3 customer and unable to upgrade near-term, please reach out to support@openc3.com and we will help with coming up with a patch strategy for older versions.
See our Upgrade Docs
Enhancements
- Added a message when microservices shutdown cleanly to indicate why they are shutting down
- Improved handling of array data and object data in commands
- Improved docs
Bug Fixes
- Fixed regular importing of target libraries in ScriptRunner (broken in 6.10.1)
- Fixed handling of TEMPLATE in python
- Fixed System.telemetry.value() with the LATEST packet in python
What's Changed
- Bump node-version to 24 by @jmthomas in #2610
- Add code sample for python ccsds plugin by @mcosgriff in #2619
- Bump dependencies by @jmthomas in #2613
- Add documentation on Cleanup options by @clayandgen in #2623
- Printing binary causes SR to not finish #2621 by @markjmiller in #2627
- Fix python target lib import by @ryanmelt in #2628
- Bump prettier from 3.7.3 to 3.7.4 in /playwright by @dependabot[bot] in #2605
- Bump react from 19.2.0 to 19.2.1 in /docs.openc3.com by @dependabot[bot] in #2604
- Add documentation on api v script and initialize_offline_access by @clayandgen in #2630
- Fix python error messages by @jmthomas in #2633
- Update plugin docs by @jmthomas in #2632
- Update array and object convert to value by @ryanmelt in #2634
- Add new deprecated option for docs and mark UNIQUE_ID_MODE by @jmthomas in #2629
- Fix default values for TEMPLATE items by @jmthomas in #2635
- Bump deps by @jmthomas in #2640
- Fix Python System.telemetry.value with LATEST by @ryanmelt in #2641
- Add message when microservice shuts down cleanly by @jmthomas in #2631
- Bump dependencies by @ryan-pratt in #2642
Full Changelog: v6.10.1...v6.10.2
v6.10.1
OpenC3 COSMOS Core 6.10.1 - Sub-packets and Structures
Welcome to OpenC3 COSMOS Core 6.10.1!
We're excited to announce several new features in COSMOS 6.10 related to how you can define and use packets.
The first is sub-packets which enable channelized telemetry. Sub-packets come with 2 new keywords: SUBPACKET and SUBPACKETIZER. The SUBPACKET keyword is added to a packet declared in your cmd/tlm definitions. The packet is then not used except via the SUBPACKETIZER for identifying chunks of data as a packet. Additional documentation and examples are coming soon!
The next is structures which allow you to include and automatically flatten structures that use a different Accessor in the middle of the packet. For example, you can insert a JSON structure right in the middle of a binary data packet! The new keyword is STRUCTURE and APPEND_STRUCTURE similar to our ITEM keywords.
To better support JSON we have added additional types including BOOL, ARRAY, OBJECT, and ANY. These are Booleans (true/false), arrays of unknown data type, objects with unknown contents, and a completely unknown data type with ANY.
Enhancements
- Subpackets provides a process for breaking up packets during decom into subpackets
- Structure items allow you to include structures with different accessors in a packet
- Extended types including BOOL, ARRAY, OBJECT and ANY
- Packet Viewer virtual table instead of pagination
- Bucket Explorer multiple select and download
- Interpret environment variable value as boolean instead of string
- Keep menu open when submenu is clicked
- Restrict file uploads for plugin installs to gem files
- Add documentation for
open_file_dialoganddownload_file - Add selective UBI builds and air-gapped network support for podman
- Better error messages on plugin gem file upload
- Implement missing System Telemetry and System Commands methods in python
- Ensure python protocols support hex strings for parameters
- Table Manager usability including File New and File Save workflows
- Autonomic add buttons to Enable/Disable All Triggers
Bug Fixes
- Support binary commands in Command Queue APIs and UI
- Add RESTRICTED keyword to python
- Fix CTRF download for Script Runner logs
- Fix ScriptRunner handling of script crashed state
- Fix screen generator for packet items containing brackets, e.g.
ITEM[X] - Packet Viewer move tooltip to card header so that it is visible
- Autonomic fix for listing all reactions for a given trigger
- Autonomic fix for editing trigger changes value type
- Autonomic timestamp in the event logs does not respect UTC timezone
- View-only users can now use Command History and get command data from Data Extractor
What's Changed
- fix pnpm publish by @ryan-pratt in #2511
- [Manual] Update version to 6.9.3-beta0 by @ryan-pratt in #2512
- 2515 unify openc3sh and openc3bat between regular and project by @mcosgriff in #2517
- Update anycable and other dependencies by @jmthomas in #2531
- Add some Ruby / Python tabs by @jmthomas in #2542
- Add RESTRICTED keyword to python by @jmthomas in #2540
- Subpackets by @ryanmelt in #2474
- feat(ci): frontend generator tests by @mcosgriff in #2543
- PacketViewer virtual table by @EmilyRagan in #2547
- Interpret environment variable value as boolean instead of string by @EmilyRagan in #2544
- Keep menu open when submenu is clicked by @EmilyRagan in #2554
- Limit file uploads for plugin installs to gem files by @EmilyRagan in #2558
- [Documentation] Add docs on download_file by @clayandgen in #2555
- Unify Suite output timestamps, fix CTRF d/l by @jmthomas in #2524
- Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in #2545
- [Feature] Multi-select + Download in Bucket Explorer by @clayandgen in #2559
- feat(cli): add selective UBI builds and air-gapped network support for podman by @mcosgriff in #2546
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #2567
- Remove COSMOS 5 references by @jmthomas in #2566
- Minor updates to unified openc3 scripts by @mcosgriff in #2568
- Fix ScriptRunner handling crashed state by @jmthomas in #2563
- Better error messages on plugin gem file upload #2516 by @markjmiller in #2548
- Queue binary by @jmthomas in #2535
- Make PacketViewer table loading state more robust by @EmilyRagan in #2560
- Bump sass from 1.93.3 to 1.94.0 in /openc3-cosmos-init/plugins by @dependabot[bot] in #2550
- Implement missing System Telemetry and System Commands methods in python by @mcosgriff in #2569
- Fix screen generator by @jmthomas in #2576
- Use locally built mc by @jmthomas in #2577
- move tooltip to card header so that it is visible again by @EmilyRagan in #2582
- Fix RESTRICTED in python by @jmthomas in #2583
- Generated python and ruby tests for hex value support in MINIMUM_VALUE, MAXIMUM_VALUE, and DEFAULT_VALUE by @mcosgriff in #2581
- Verify python protocols support hex strings by @mcosgriff in #2587
- [Enhancement] Table Manager usability by @clayandgen in #2574
- Add dependabot ignore for npm packages we update manually by @ryan-pratt in #2589
- [Bugs] Autonomic bug updates by @clayandgen in #2584
- Update Alpine 3.22, Ruby 3.4, Traefik 3.6.2 and JS deps by @jmthomas in #2585
- Fix gem update to 3.7.2 by @jmthomas in #2596
- Tweak feature request template verbiage by @ryan-pratt in #2598
- Allow streaming with cmd_info permission by @jmthomas in #2600
- Structure items by @ryanmelt in #2579
- Extended types by @ryanmelt in #2597
- Cleanup by @EmilyRagan in #2603
- Fix CmdSender binary commands by @jmthomas in #2606
- Update release to push to npm by @jmthomas in #2609
Full Changelog: v6.9.2...v6.10.1
v6.9.2
OpenC3 COSMOS Core 6.9.2 - Important bug fixes
Welcome to OpenC3 COSMOS Core 6.9.2!
This release includes a few enhancements, a whole host of important bug fixes, and some documentation updates.
Enhancements
- Bucket Explorer Refresh Interval configurable
- Add confirmation in Script Runner on modified file navigation
- Add ability to select queue from Command Sender
- Add CLI option to create a command validator
- ZSH autocomplete for openc3.sh
- More consistent dialog behavior
- Support pyproject.toml as well as requirements.txt in python plugins
- Documentation updates for Admin tool, roles and permissions
- Document openc3.sh and all the options
- Add vulnerabilities page to docs
Bug Fixes
- Add scrolling on list of modified files in the Plugins Tab
- Fix Plugin tab state handling causing failed App-Store installs
- Fix Script Runner log scrolling
- Fix Script Runner stuck in readonly with only custom roles
- Fix Telemetry Grapher "Value Type," "Reduced," and "Reduced Type" dropdowns
- Fix Telemetry Grapher pause button positioning
- Fix Telemetry Grapher pointsSaved (truncate the saved points)
- Fix Data Extractor binary output
- Telemetry Viewer update screens on target change and better handle target deletion
- Fix tool generators to create working package.json files
- Fix
__name__in Python scripts - Fix python router logic
- Obfuscate pw / token in logs
- Start queue_microservice with existing state (HOLD / RELEASE / DISABLED)
What's Changed
- README grammar nitpicks by @EzraBrooks in #2419
- [Documentation] Add documentation on roles / permissions by @clayandgen in #2421
- Update python error formatting by @mcosgriff in #2430
- Script runner messages scroll by @EmilyRagan in #2426
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #2434
- Bump stefanzweifel/git-auto-commit-action from 6 to 7 by @dependabot[bot] in #2435
- Generate openc3.sh autocomplete for ZSH to allow for real-time suggestions for commands by @mcosgriff in #2437
- Bump pnpm/action-setup from 4.1.0 to 4.2.0 by @dependabot[bot] in #2433
- [Enhancement] Bucket Explorer Refresh Interval configurable by @clayandgen in #2440
- Add imports to command validator in documentation by @mcosgriff in #2444
- use pnpm for publishing packages by @ryan-pratt in #2448
- fix openc3_set_versions script by @ryan-pratt in #2449
- Plugin metadata by @ryan-pratt in #2386
- [Bug] Obfuscate pw / token on direct access grant failure by @clayandgen in #2432
- Fix tlmgrapher pause button positioning by @ryan-pratt in #2443
- Fix Plugin Tab State Handling Causing Failed Store Installs by @ryanmelt in #2464
- Fix ScriptRunner stuck in readonly with only custom roles by @ryanmelt in #2458
- Fix binary output in Data Extractor by @jmthomas in #2428
- [Bug] Add overflow y scrolling on modified files list by @clayandgen in #2462
- Dialog persistence consistency by @EmilyRagan in #2466
- [Enhancement] Add confirmation on SR on modified file navigation by @clayandgen in #2465
- Dependencies by @jmthomas in #2471
- Add CLI option to create a command validator via cli_generator by @mcosgriff in #2467
- Update files and fix playwright by @jmthomas in #2473
- 2215 document openc3sh and all the options by @mcosgriff in #2476
- Add vulnerabilities page to docs by @ryan-pratt in #2475
- Browser compat docs by @ryan-pratt in #2479
- 2416 add ability to select queue from command sender by @mcosgriff in #2468
- Python name variable not correct #2356 by @markjmiller in #2438
- OpenC3 TSDB UBI9 Support by @stephen-ritter in #2407
- Bump the npm_and_yarn group across 18 directories with 1 update by @dependabot[bot] in #2469
- Update deps to fix dependabot by @jmthomas in #2480
- Add eslint to CI by @EmilyRagan in #2481
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #2482
- [Documentation] Admin docs update + pnpm-lock update by @clayandgen in #2483
- Add npm to dependabot.yml by @jmthomas in #2488
- Build Minio from source by @jmthomas in #2486
- Fix python router logic by @jmthomas in #2504
- 2198 cli needs a real args parser by @mcosgriff in #2505
- Bump dependencies by @jmthomas in #2506
- Start queue_microservice with existing state by @jmthomas in #2489
- Handle None in TSDB by @jmthomas in #2501
- TlmViewer handle target change and target deletion by @jmthomas in #2500
- Enforce pointsSaved by @jmthomas in #2502
- Bump pnpm/action-setup from 4.1.0 to 4.2.0 by @dependabot[bot] in #2490
- Consider support pyproject.toml #2292 by @markjmiller in #2503
New Contributors
- @EzraBrooks made their first contribution in #2419
- @mcosgriff made their first contribution in #2430
- @EmilyRagan made their first contribution in #2426
Full Changelog: v6.9.1...v6.9.2
v6.9.1
OpenC3 COSMOS Core 6.9.1 - Queue updates, docs, and bug fixes
Welcome to OpenC3 COSMOS Core 6.9.1!
We added queue_remove to the queue scripting APIs and fixed sending commands from the Command Queue (Enterprise) tool. We also changed several of the queue api parameters from index to id to better represent the usage.
Docs were updated and a few bugs fixed. This was a quick release from 6.9.0 as we continually improve the COSMOS experience.
Enhancements
- Add queue_remove to scripting API
- Updated Calendar docs
- Updated CmdTlmServer docs
- Limits Monitor wider item column
Bug Fixes
- Fix default tab in CmdTlmServer
- Fix connecting to running Script Runner Test Suite
All Pull Requests
- Fix default tab in CmdTlmServer by @jmthomas in #2410
- [Documentation] Calendar docs by @clayandgen in #2413
- Limits Monitor wider item column by @clayandgen in #2414
- Fix connecting to running suite by @jmthomas in #2409
- Update cmd_tlm_server docs by @jmthomas in #2415
- Add queue_remove to scripting API by @jmthomas in #2411
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.9.0...v6.9.1
v6.9.0
OpenC3 COSMOS Core 6.9.0 - Interface Data Flows & Protocol Details
Welcome to OpenC3 COSMOS Core 6.9.0!
We've added a new tab to the Command and Telemetry Server called Data Flows. This shows a diagram of all the COSMOS processing, Interfaces, and Targets and their connections. You can now dynamically remove and reassign connections between interfaces and targets. This also adds the ability to view individual protocols assigned to targets as well as their raw data processing. Using and debugging Interfaces and Protocols has never been easier!
For COSMOS Developers: We've switched from yarn to pnpm for our frontend package manager. We've committed the pnpm-lock.yaml files and will install via the frozen lock files. We've also implemented the new minimumReleaseAge: 1440 # 1 day option to prevent hacked packages from being immediately installed (if you're building from source). These changes require you to delete your local yarn.lock files and node_module directories. NOTE: This only applies if you're building from source. Most users should be using the cosmos-project to run COSMOS.
Enhancements
- Edit commands in Script Runner with new dialog
- Add DataFlows and Interface/Protocol Details User Interface
- Switch to pnpm to protect against supply chain attacks
- Ability to set default language for scripts (Python)
- Allow Script Runner debugger to print object properties
- Make plugin instance names repeatable
- Python Bridge docs
- Add the getting started video to the docs
Bug Fixes
- Fix Python
download_fileAPI - Fix Python suite analysis by adding gem lib dir
- Import Python's
datetimeascdatetimeto avoid conflicts - Handle LATEST with never received
All Pull Requests
- [Documentation] - Python Bridge docs by @clayandgen in #2357
- Various security improvements by @jmthomas in #2358
- Set required_ruby_version in all gemspecs by @jmthomas in #2351
- Script default language setting by @jmthomas in #2354
- Send queued via cmd before cmd_no_hazardous_check by @jmthomas in #2359
- require 'json/add/string' by @jmthomas in #2364
- Remove FIXED from screen docs by @jmthomas in #2366
- Script runner debugger can't print object properties directly #2302 by @markjmiller in #2367
- download_file broken in ScriptRunner in Python #2368 by @markjmiller in #2375
- Fix python suite analysis by adding gem lib dir by @jmthomas in #2374
- [Feature] - Calendar Gantt Chart / Statusing by @clayandgen in #2363
- Import datetime as cdatetime to avoid conflicts by @jmthomas in #2379
- Allow actions on all branches by @jmthomas in #2383
- as_json should not pass allow_nan by @jmthomas in #2372
- Make plugin instance names repeatable #2282 by @markjmiller in #2355
- Switch to pnpm by @ryan-pratt in #2365
- Add the getting started video to the docs by @clayandgen in #2390
- Add DataFlows and Interface/Protocol Details User Interface by @ryanmelt in #2387
- Update rexml requirement from = 3.4.1 to = 3.4.4 in /openc3 in the bundler group across 1 directory by @dependabot[bot] in #2361
- Edit calendar activities via CommandEditor by @jmthomas in #2381
- Handle LATEST with never received by @ryanmelt in #2399
- Increase playwright viewport by @jmthomas in #2403
- Update dependencies by @jmthomas in #2404
- typo by @ryan-pratt in #2406
New Contributors
- @markjmiller made their first contribution in #2367
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.8.1...v6.9.0
v6.8.1
OpenC3 COSMOS Core 6.8.1 - Bug fixes
Welcome to OpenC3 COSMOS Core 6.8.1!
We fixed a few bugs discovered in COSMOS 6.8.0 around the new Queue feature as well as a Telemetry Grapher timezone issue. Everyone is encouraged to update and read the full 6.8.0 release notes for all the changes in COSMOS 6.8!
Enhancements
- Move the raw-dialog to the top of the app window if dropped above it
Bug Fixes
- Fix releasing commands when OPENC3_DEFAULT_QUEUE is set
- Check for existing queue upon initialization if OPENC3_DEFAULT_QUEUE is set
- Fix TlmGrapher timezone crash
- Fix z-index of raw dialogs in CmdTlmServer
All Pull Requests
- Fix TlmGrapher timezone crash by @ryan-pratt in #2346
- Move the raw-dialog to the top of the app window if dropped above it by @ryan-pratt in #2348
- [Bug] Queues by @clayandgen in #2349
- Bump the npm_and_yarn group across 16 directories with 1 update by @dependabot[bot] in #2342
- Bump z-index of cmdtlmserver top panel by @jmthomas in #2350
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.8.0...v6.8.1
v6.8.0
OpenC3 COSMOS Core 6.8.0 - Queue API and Python Bridges
Important - TlmGrapher is broken in this release if a Time Zone is not explicitly set in Admin->Settings.
To workaround, goto Admin->Settings and hit Save on the Time Zone setting. Fixed in 6.8.1.
Welcome to OpenC3 COSMOS Core 6.8.0!
We laid the foundation for 2 new Enterprise Tools: Command Queue and Log Explorer. The Queue APIs are present in Core COSMOS and can be used to queue commands and execute them. We've ported the bridges to Python with new serial port support.
We've included a lot of quality of life and bug fix improvements as we march forward towards COSMOS 7!
Enhancements
- New Enterprise tool Log Explorer
- New Queue API
- Python serial bridges with serial interface
- Add formatting on byte column for Bucket Explorer
- Add pretty-print feature to Admin / Redis tab
- Improve handling of long file names in Script Runner
- Reduce script log messages when interacting (pause, resume, etc)
- Add Disable Command Validation in Command Sender
- Improve search-ability on docusaurus
- Add CTRF test report output
Bug Fixes
- Custom x-axis item fixes
- Fix issue where linking to tlmgrapher doesn't respect set timezone
- Update InterfaceModel when changing params such as calling
connect_interface - Fix flashing 404 page on slow connections
- Do not disable command chooser when command name is null
- Handle API error on Script Runner page load
- Fix indentation for python test suites
- Fix uploaded filename in script
- Convert db column to correct type in TSDB
All Pull Requests
- Custom x-axis item fixes by @ryan-pratt in #2265
- Update docs for CRC protocol default settings by @jmthomas in #2266
- Fix issue where linking to tlmgrapher doesn't respect set timezone by @ryan-pratt in #2270
- Add formatting on byte column for Bucket Explorer by @clayandgen in #2273
- Update InterfaceModel when changing params by @jmthomas in #2267
- Add tsdb to trivy and clamav scans by @jmthomas in #2271
- Fix flashing 404 page on slow connections by @ryan-pratt in #2275
- Misc cleanup by @ryan-pratt in #2280
- Add pretty-print feature to redis tab by @ryan-pratt in #2283
- Add documentation for custom widget development by @clayandgen in #2278
- Improve handling of long file names by @clayandgen in #2277
- Do not disable command chooser when command name is null by @jmthomas in #2276
- Add messaging if sudo is used when deploying COSMOS by @clayandgen in #2291
- Playwright tests can be tagged @admin by @jmthomas in #2287
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #2279
- Handle API error on Script Runner page load by @ryan-pratt in #2296
- Reduce script log messages by @jmthomas in #2294
- Add Disable Command Validation in Command Sender by @clayandgen in #2298
- Fix indentation for python test suites by @ryan-pratt in #2301
- Fix uploaded filename in script by @ryan-pratt in #2312
- Bump aquasecurity/setup-trivy from 0.2.3 to 0.2.4 by @dependabot[bot] in #2311
- Dependencies by @jmthomas in #2324
- Trivy updates by @jmthomas in #2328
- Update roadmap to point to milestones by @jmthomas in #2322
- [Feature] - Log Explorer by @clayandgen in #2325
- Convert db column to correct type by @jmthomas in #2303
- Queue api by @jmthomas in #2295
- Bump actions/github-script from 7 to 8 by @dependabot[bot] in #2336
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #2335
- Bump actions/setup-node from 4 to 5 by @dependabot[bot] in #2334
- Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by @dependabot[bot] in #2333
- [Feature] Python Serial Bridge by @clayandgen in #2244
- Improve search-ability on docusaurus by @clayandgen in #2339
- Bump the npm_and_yarn group across 18 directories with 1 update by @dependabot[bot] in #2338
- Bump MINIO/MC by @jmthomas in #2341
- Upgrade Traefik to 3.5.2 by @clayandgen in #2340
- Add CTRF test report output by @jmthomas in #2337
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.7.0...v6.8.0
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 loadby @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 support@openc3.com.
Thanks!
Full Changelog: v6.6.0...v6.7.0