Kubos Changelog =============== 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: ~~~~~~~~~~~~~~~~~~~~~~~~ - `Added communications service framework `__ v1.10.0 - Dec 20th 2018 ----------------------- - `Added process monitoring to most Kubos services `__ - `Updated the default logging template to include message severity `__ - `Updated the logging tutorial and examples to use the app API's logging initialization `__ - `Updated the BBB and MBM2 installation instructions to use the new eMMC install script `__ 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 `__ Bug Fixes: ~~~~~~~~~~ - `Updated Rust cross-compiling instructions to handle new CC arg requirement `__ - `Added doc links to the pre-built hardware services' documentation `__ 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 Bug Fixes: ~~~~~~~~~~ - `Forcibly downgrading pip to `__ Community Contributions: ~~~~~~~~~~~~~~~~~~~~~~~~ - `Added Rust crate for UART HAL `__ 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 -------------------- - `KUBOS-132 `__ Standardized status codes for I2C, SPI and UART HAL - `KUBOS-131 `__ Added basic unit testing for Kubos-HAL-MSP430F5529 and updated MSP430 documentation. - `KUBOS-62 `__ Added preliminary OSX analytics tracking 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 <./kubos-hal/group__SPI.html>`__ for the STM32F4. - Added a new sensor interface: - `IMU <./kubos-core/group__IMU.html>`__ - `Altimeter <./kubos-core/group__ALTIMETER.html>`__ - `Temperature <./kubos-core/group__TEMPERATURE.html>`__ - 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 <./kubos-hal/group__SPI.html>`__ for MSP430 based targets (STM32F4 compatibility coming soon) - Added a `SDIO HAL API <./kubos-hal/group__SDIO.html>`__ for STM32F4 based targets - Added filesystem support for FatFs based SD Cards, using SDIO (STM32F4 only) - Added drivers for three sensors: - `HTU21D Temperature/Humidity <./kubos-core/group__HTU21D.html>`__ - `BNO055 IMU <./kubos-core/group__BNO055.html>`__ - `BME280 Temperature/Humidity/Pressure <./kubos-core/group__BME280.html>`__ - Added support for CSP over the Kubos-HAL UART interface - A new `SPI example application `__ using the `driver for the BME280 sensor <./kubos-core/group__BME280.html>`__ - `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`` and ``kubos 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 `__