Releases: xronos-inc/xronos
Releases · xronos-inc/xronos
Release v0.4.0
Features 🚀
- New dashboard panel for showing reaction traces
Improvements 🛠️
- Added
Reactor.request_shutdown()
method (Python) - Added
add_attributes()
method to all elements (C++) - Added
get()
andis_present()
methods to thePortEffect
class (C++) - Periodic timers require a nonzero period (Python)
- Switched lag and execution time panels to showing points instead of interpolated lines (Dashboard)
- Switched execution time panel to logarithmic timescale (Dashboard)
- Disabled auto-refresh by default (Dashboard)
- Improved positioning of "Refresh" and "Back" buttons in metrics view (VS Code)
Fixes 🐛
- Exclude lag from reaction spans shown (Dashboard)
- Correctly display FQNs in the metrics view (VS Code)
- Also include inherited attributes in the metrics view (VS Code)
Examples 💡
- Added Python Webots example showing software-in-the-loop simulation
Deprecated 🗑️
- Removed the deprecated
enable_tracing()
method (Python, C++) - Removed
Reactor.environment
property (Python) - Removed
StartupDeclaration
andShutdownDeclaration
(Python)
Release v0.3.0
Features 🚀
- New metrics view showing all the metrics reported by the application in the VS Code extension
- New dashboard panels showing:
- lag of all reactions
- execution times of all reactions
- number of reactions executed in the current time window
- a metric as selected by the new drop-down menu in the top
Improvements 🛠️
- Compatibility with cmake 4.0.0
- Reduced sensitivity when scaling diagrams in the VS Code extension
- Show informative error message when calling
execute()
multiple times on the same environment (C++ SDK) - Introduced
enable_telemetry()
method in Python and C++ SDKs
Examples 💡
- Added C++ example showing interoperability with ROS 2
- Added Python keyboard synthesizer example
Deprecated 🗑️
- Removed the options panel from the VS Code extension
- Removed the
Source
class from Python and C++ SDKs - Removed the
add_source()
method from the Python SDK - Deprecated
enable_tracing()
which is replaced byenable_telemetry()
Release v0.2.0
Updates & Changes
- Third-party dependency gRPC (and its dependencies absl and protobuf) are now built from source for the C++ SDK to improve portability. We eventually plan to package these as statically linked libraries (fixes #6)
Fixes & Improvements
- Fix issue where C++ SDK could not be built on Ubuntu 22.04 due to a dependency issue with apt packaged version of gRPC
- Resolve issue where
xronos-dashboard
would not run on ARM v8.0 (Raspberry Pi 4, NVIDIA Jetson Nano) due to a breaking change in a Grafana dependency - C++ SDK documentation fix broken link to examples in GitHub repository
- Add missing LICENSE file in root of public/ folder
- Add top-level README to for public repository
Release v0.1.0
Features
- Add C++ SDK for building reactor programs in C++
- Merge
xronos[telemetry]
package with thexronos
package so metrics and telemetry are always available - Support for Python 3.13
- Support for Python 3.13t lock-free threading (no-GIL)
Deprecated
PhysicalEvent
will soon be deprecated. Stay tuned for upcoming library reactors that will replace it.LogicalEvent
is renamedProgrammableTimer
.xronos[telemetry]
pip package is now integrated with thexronos
package --xronos[telemetry]
is no longer supported as a standalone package
Fixes
- Resolve build failure when protobuf compiler is installed by a system package manager and not built from source
- Monte carlo example ensure simulation period > 0
Improvements
- Improve error message in
create_reactor
- if the user provides a callable that is not a reactor class, it seems better for them to get a type error than an AttributeError.
Release v0.0.4
Highlights
- new
xronos-telemetry
package providing a telemetry backend - new
xronos-dashboard
CLI tool for managing the Xronos Dashboard - Added metrics for recording data points
- Added attributes to give users more control on how they want to tag their data
- Library reactors for handling external input, including reading from console and from sockets
- New examples montecarlo and simple-neural-net
- Python 3.13 support