Kubos Changelog¶
v1.19.0 - Oct 30 2019¶
- Added Scheduler Service
- Updated kubos-shell-client to allow single command execution
- Updated default
config.toml
location from/home/system/etc/config.toml
to/etc/kubos-config.toml
- Migrated to new default service ports
- Removed run levels from apps and the associated app arg
- Changed app service uninstall logic to nicely kill a running app first
- Added No Hardware doc
- Added
--stdout
flag to services for easy output on stdout - Standardized the default service storage location in
tools/local_config.toml
for easier local development - Miscellaneous doc improvements
Bug Fixes:¶
- Fixed crashing file service & client with bad defaults
- Fixed communications issue in ISIS Antenna Service
v1.18.0 - Sept 12 2019¶
- Added initial app monitoring capabilities
- Added ability to stop currently running applications
- Added ability to do bulk telemetry database inserts asychronously
- Updated Docker and Vagrant configurations to use Python3.7
- Upgraded Rust usage to v1.37.0
- Miscellanous doc improvements
v1.17.0 - Aug 15 2019¶
- Added example OBC housekeeping mission app
- Updated the file transfer service to allow the downlink destination to be configurable
- Changed service configuration behavior to fail when config values cannot be read, rather than taking default values
- Documented UDP passthrough behavior for the comms service framework
- Documented arg passthrough behavior in the app development guide
- Added tips for reducing Rust binary sizes
- Tweaked how C-based libraries are included in our Rust workspace to improve the ability to use KubOS software in a local development environment
- Updated all Python packages to contain accurate requirements.txt files
- Updated all packages and libraries to contain Readme files
- Upgraded Rust usage to v1.36.0
- Upgraded base CI Docker image to Ubuntu 18.04
- Migrated all remaining tooling to Python3
Bug Fixes:¶
- Miscellaneous fixes to support building and running KubOS from a MacOS development environment
v1.16.0 - Jul 10 2019¶
The Great Docs Re-Org of 2019
- Added instructions for setting up a development environment without using the SDK
- Added instructions for running KubOS core services within a local development environment
- Reworked tutorials for local execution
- Added a high-level KubOS porting guide
- Added a more in-depth communications setup guide
- Added mission development guides
- Added a service development guide
- Expanded community contribution guides
- Re-organized most docs in order to create a more accessible and intuitive user experience
Updated the comms service framework to use SpacketPacket instead of UDP
Added UDP passthrough to the comms service framework for non-GraphQL messages
Added ability to perform bulk inserts with the telemetry database service
Improved size optimization for Rust executables when doing release builds
Bug Fixes:¶
- Fixed ability to pass a custom config file to Rust applications
- Fixed assorted timing issues with CI tests
v1.15.0 - May 23 2019¶
- Added a comms service implementation for the NSL EyeStar-D2 Duplex radio
- Updated comms service framework to use Space Packet Protocol
- Added ‘ping’ query to all Kubos services
- Added ability to query multiple telemetry fields in one request
- Updated docs to reflect use of latest Buildroot LTS release, 2019.02.2
- Migrated to new CLA site
- Expanded application unit tests
- Added inter-service integration tests
Bug Fixes:¶
- Cleaning up orphaned files after app uninstall
- Changing current working directory to an app’s registered directory before starting it
v1.14.0 - Apr 3 2019¶
- Added logic to the applications service to check if an app immediately fails after being started
- Removed UUIDs from the applications service. Apps will now be referenced by name
- Added ability to uninstall all versions of an application
- Updated app registration process to clean up all files if registration fails
- Added ability to manually set the active version of an application
- Added parameter to Rust app API to allow minimum logging level to be controlled
- Added parameter to Python app API to allow minimum logging level to be controlled
- Updated comms service framework to translate between UDP and HTTP
- Added comms service framework unit tests
- Added documentation for service configuration
- Updated the Pumpkin supMCU API to match v4.22 of the firmware manual
- Added GraphQL service for the Clyde Space 3rd generation EPS
- Improved logging for all Kubos services
Bug Fixes:¶
- Updated the comms service framework to correctly validate that a write function is present
- Updated the apps service to remove the parent directory if the last version of an app is uninstalled
- Updated app registration process to ensure current active version remains active if new registration fails
- Fixed Rust app API to use project name for logging
- Migrated the Kubos contributor’s agreement to https://cla-assistant.io/kubos/kubos
- Corrected the file transfer client syntax documentation
v1.13.0 - Feb 15 2019¶
- Updated all Kubos services to use HTTP as their GraphQL front-end instead of UDP, allowing them to expose GraphiQL endpoints
- Removed all yotta usage. C-based projects are now compiled using CMake
- Pinning Rust version at v1.32.0 to prevent accidental version discrepancies
v1.12.0 - Feb 1 2019¶
- Updated all Python code to be compatible with Python3.5
- Updated the Python App API doc to be more verbose
- Updated the C HAL to directly use Linux conventions
- Removed CSP from the code base
- Removed remaining usage of yotta configuration constants
v1.11.0 - Jan 18 2019¶
- Added communications service framework overview doc
- Added example communications service
- Added communications service tutorial
- Updated all Rust modules to use Rust 2018
Community Contributions:¶
v1.10.0 - Dec 20th 2018¶
v1.9.0 - Dec 6th 2018¶
- Added support for logging using rsyslog
- Updated all Kubos services to use new logging
- Updated file transfer service to clean up temporary storage directories after successful transfer and on-request
- Added SLIP support to all boards
- Updated the applications service to allow more than two files to be present in the directory used to register an application
Bug Fixes:¶
- File transfer client now returns error when it fails to communicate with the file service
- Updated all Kubos services’ GraphQL responses to follow the official response spec
v1.8.0 - Nov 9th 2018¶
- The shell service and client have both been rewritten into Rust
- Updated the applications service’s schema to match the styling of the other services
- Added cleanup logic when the app service encounters a corrupted app entry
- Added the ability to upgrade an application with the applications service
- Updated the Rust app API to utilize exit codes
- Added Pumpkin MBM2 RTC support
Bug Fixes:¶
- Updating telemetry database API to use a double to store the timestamp, rather than a 32-bit integer
Community Contributions:¶
- Updated link descriptions for Kubos Linux release files
v1.7.0 - Oct 12th 2018¶
- Added overview documentation for the monitor service
- Added tutorials to help new users write their first mission application
- Added tutorials to help new users interact with the telemetry database and file transfer services
Bug Fixes:¶
- Updated the Python app API to accept an empty string in the ‘errors’ field of GraphQL responses
- Updated the file transfer service to not exit if an invalid data packet is received
- Updated the file transfer service’s log location
v1.6.0 - Sept 28th 2018¶
- Added corrupted chunk and file hash mismatch error handling to the file transfer service
- Improved file transfer service multi-client handling
- Added timeout and chunk-size configuration options to the file transfer service
- Updated the telemetry database service to allow query results to be written to an output file
- Added insert and delete capabilities to the telemetry database service
- Increased telemetry database timestamp key resolution from seconds to milliseconds
- Updated applications service to add ability to passthrough arguments to the application being called
- Added a basic system-resource monitoring service
v1.5.0 - Sep 7th 2018¶
- Added a community Trello board for contributors and KubOS team members
- The file transfer service and client have both been rewritten into Rust
- Added documentation for how to handle the deployment hold time countdown
- Updated the app APIs to commonize behaviour between the Python and Rust versions
- Added example mission applications for both Rust and Python
- Added a verbose example mission application in Python for mission design
Bug Fixes:¶
- Standardized usage of the Rust failure crate for version 0.1.2
v1.4.0 - July 23 2018¶
- Added UDP/GraphQL service for ISIS Antenna Systems
- Updated Pumpkin MCU service to be compliant with the latest ICD
- Added initial version of the mission applications service
- Added initial mission applications Rust API
- Added initial mission applications Python API
- Added system Rust API for system-wide common functionality
- Upgraded CircleCI automation config to use the 2.0 configuration format
- Updated docs to reflect changes in how auxiliary SD images are generated
v1.3.0 - Jun 21 2018¶
- Added communication core service
- Added file transfer core service
- Added shell core service
- Added telemetry database core service
- Added Rust API and UDP/GraphQL service for NovAtel OEM6 High Precision GNSS Receiver
- Added Python API and UDP/GraphQL service for Pumpkin MCUs
- Added Rust API for ClydeSpace 3G EPS
- Added Rust API and UDP/GraphQL service for Adcole Maryland Aerospace MAI-400 ADACS
- Added API for GOMspace NanoPower P31U
- Added C and Rust APIs for ISIS Antenna Systems
- Added C and Rust APIs for ISIS iMTQ
- Added C API for ISIS TRXVU radio
- Added Python library for use when creating Kubos services
- Added Rust helper crate for use when creating Kubos services
- Added Python library for I2C HAL
- Added Rust crate for I2C HAL
- Upgraded Kubos SDK Vagrant and Docker images to use Rust 1.26
- Added link to nightly version of docs to main docs page
- Added documentation for using ethernet as primary board-communication method
- Improved documentation about using Python and Rust for development with KubOS
Community Contributions:¶
v1.2.0 - Mar 5 2018¶
- Added Rust crate for wrapping isis-iobc-supervisor
- Added iOBC supervisor GraphQL service
- Migrating
cargo-kubos
into own repo - Added iOBC ADC support and demo
- Added iOBC PWM support
- Added API for EyeStar-D2 Duplex radio
- Adding telemetry database service
- Cleaning up doc generation warnings
- Finalizing name changes
v1.1.0 - Jan 24 2018¶
- Added iOBC UART support and demo
- Added iOBC SPI support
- Added Ethernet support for MBM2/BBB
- Added generic radio API
- Added generic ADCS API
- Added an I2C HAL for Linux
- Decided on using GraphQL, Rust, and Python for services and applications
- Added Python-based example subsystem handler
- Added Rust-based example subsystem handler
- Added ‘cargo kubos’ subcommand for Cargo–>yotta integration
- Upgraded to BuildRoot LTS 2017.2.8
- Documented Windows PowerShell v3+ requirement
- Updated architecture documentation
- Refactored the repo to remove deprecated code
- Re-organized the docs to have a more nested structure
- Updated naming conventions and coding standards
v1.0.1 - Aug 4 2017¶
- Adding support for Beaglebone Black
- Adding support for Pumpkin MBM2
- Adding Windows Dev Environment guide
v1.0.0 - June 27 2017¶
- KUBOS-442 Added support for iOBC I2C bus
- KUBOS-445 Integrated iOBC supervisor
- KUBOS-274 Completed Kubos Telemetry integration into KubOS Linux
- KUBOS-487 Added support for tab-completion to Kubos CLI
- Created an initial QA integration test suite
- Migrated from Markdown to ReStructuredText as the documentation language of choice
- Migrated from only Doxygen to Sphinx and Doxygen as the documentation generation tools of choice
- Massively improved documentation basically everywhere
- Polished everything to a shiny gleam
v0.2.2 - April 7 2017¶
- KUBOS-350 Added multi-process communication support to telemetry library
- KUBOS-283 Created a background telemetry management service
- KUBOS-391 Created a background C&C service
- KUBOS-409 Added logging to C&C
- KUBOS-376 Added C&C ‘build info’ command
- KUBOS-372 Added C&C ‘reboot’ command
- KUBOS-338 Added KubOS Linux kernel rollback and recovery
- KUBOS-340 Added init script generation and flashing for KubOS Linux projects
v0.2.1 - Mar 7 2017¶
- KUBOS-388 Created initial Command & Control framework
- KUBOS-350 Added support for inter-process communication between Kubos services
- KUBOS-313 Updated Kubos SDK to allow flashing of non-application files to iOBC
- KUBOS-321 Added ability to flash and install new KubOS Linux upgrade packages
- KUBOS-360 Added Kubos CLI integration testing
- KUBOS-363 Fixed Kubos CLI error reporting
v0.2 - Feb 3 2017¶
- Created KubOS Linux
- Major documentation updates
- KUBOS-170 Created Kubos CLI as primary Kubos SDK command tool
- KUBOS-175 Migrated from Docker to Vagrant for the Kubos SDK distribution system
- KUBOS-329 Added KubOS Linux support to Kubos SDK
- KUBOS-361 Added ability to use branched versions of Kubos code to Kubos CLI
- KUOBS-267 Added telemetry service libraries for both KubOS RT and KubOS Linux
- KUBOS-213 Added telemetry aggregation service libraries
- KUBOS-201 Added inter-subsystem communication libraries
v0.1.4 - Oct 14 2016¶
- KUBOS-81 Implemented FatFs SPI SD support (Current MSP430 only)
- A new example using the FatFs SPI SD interface
v0.1.3 - Sep 16 2016¶
v0.1.1 - Sep 2 2016¶
- Documentation updates
- Added basic unit testing for Kubos-HAL, Kubos-HAL-STM32F4 and Kubos-SDK
- Miscellaneous bug fixes
v0.1.0 - Aug 19 2016¶
- Implemented SPI for the STM32F4.
- Added a new sensor interface:
- IMU
- Altimeter
- Temperature
- A new sensor example application
- A new example using CSP over uart
- Added the ability to link in local targets with KubOS-SDK
v0.0.5 - Aug 05 2016¶
- Added a SPI HAL API for MSP430 based targets (STM32F4 compatibility coming soon)
- Added a SDIO HAL API for STM32F4 based targets
- Added filesystem support for FatFs based SD Cards, using SDIO (STM32F4 only)
- Added drivers for three sensors:
- HTU21D Temperature/Humidity
- BNO055 IMU
- BME280 Temperature/Humidity/Pressure
- Added support for CSP over the Kubos-HAL UART interface
- A new SPI example application using the driver for the BME280 sensor
- Upgrade Instructions
- Tagged repo manifest
v0.0.4 - Jul 01 2016¶
- Added a new I2C HAL API for both STM32F4 and MSP430 based targets (master mode only, slave coming soon)
- Simplified hardware debugging with GDB using the new
kubos debug
andkubos server
commands - A new I2C example application with a WIP driver for the H2U1D temperature sensor
- Upgrade Instructions
- Tagged repo manifest
v0.0.3 - Jun 17 2016¶
- Added support for NanoAvionics SatBus 3C0 OBC
- Implemented link support in KubOS-SDK for local development modules
- New KubOS-SDK projects are now based off our latest kubos-rt-example source
- Upgrade Instructions
- Tagged repo manifest
v0.0.2 - Jun 03 2016¶
- Added support for STM32F405RG based PyBoard
- Improved support for yotta commands in KubOS-SDK
- Improved error handling in KubOS-SDK
- Upgrade Instructions
- Tagged repo manifest