All notable changes to this project will be documented in this file. This project uses Semantic Versioning.
0.7.0 - 2026-04-26
- Added
copy_toandcopy_fromto matrix trait. - Added Unscented Kalman Filter (UKF) support, including builder types and covariance computation.
- Added integration tests for UKF covariance computation and type coverage.
- Added support for GitNexus code intelligence.
- Added dependency graph submission in CI/CD.
- The
copymatrix operation is now deprecated in favor ofcopy_to.
- Fixed pre-existing clippy warnings for doc indentation and lifetime syntax.
- Fixed clippy warnings in proptest files.
- Fixed typo in README.md regarding libm usage.
- Addressed CI/CD review: fixed ineffective skips, dropped no-op, aligned CI runs, and renamed test.
- Used UFCS in data_type tests to exercise trait impls.
- Cleaned up comments in data.rs.
- Updated tea.yaml.
0.6.0 - 2024-06-22
Note: This release contains breaking changes.
- #32: Process noise is now separated into direct process noise, acting directly on the state transition, and control process noise, acting only on control inputs through the control matrix.
- #31:
The Regular and Extended Kalman Filter types were split, renamed and moved into separate modules.
RegularKalmanandExtendedKalmannow only provide their respective functionalities.
0.5.0 - 2024-06-20
Note: This release contains major breaking changes.
- #10:
Builder types were added for Kalman filters, control inputs and observations. The
KalmanFilterBuildertype serves as a simple entry point onalloccrate features. - #21:
Added the functions
make_identity,make_scalar,make_comatrixandset_diagonal_to_scalarfor square matrices. - #25: Added support for Extended Kalman Filters.
- #28:
micromathis now an optional dependency again.
- #9:
Data ownership was reworked: Filters, control inputs and measurements/observations are now backed by a generic
buffer type that can operate on stack- or heap allocated arrays, immutable and mutable references. Some features
are gated behind the
alloccrate feature. - Types were remodeled into new modules in order to arrange them in a slightly more logical way.
- #18: "Inputs" naming was changed to "Control" to align more closely with common usages of Kalman filters.
- #20: "Measurements" naming was changed to "Observation" in places where it aligns with common usages of Kalman filters. In addition, type name ambiguity between process and measurement noise covariance was reduced.
- The
create_buffer_Xmacros were removed from the crate due to their relatively complicated use.
- #8: The repository was restructured into a Cargo workspace to allow for easier handling of cross-compilation examples.
- #27: Added an EKF example with radar measurements of a moving object.
0.4.0 - 2024-06-07
- #7:
Added the
libmcrate feature for libm support. - #7:
Added the
floatcrate feature to enablef32andf64built-in support.
- Removed the
no_stdcrate feature in favor of thestdfeature (disabled by default).
- #7: Add an example project for STM32F303 cross-compilation.
- Added CI/CD spell-checks and pre-commit hooks.
0.3.0 - 2024-06-04
- #5:
The macros, matrix, filter and measurement structs are now generic on the data type.
If no type is provided, it defaults to
f32.
- The dependency on
micromathwas removed due to the generic type implementations.
0.2.3 - 2024-06-03
- Improved documentation of
KalmanandMeasurementstructs.
0.2.2 - 2024-06-03
- Added usage examples to macro documentation.
- Removed duplicate
create_buffer_P_tempandcreate_buffer_BQ_tempmacros in favor ofcreate_buffer_temp_Pandcreate_buffer_temp_BQ.
0.2.1 - 2024-06-03
- Conditionally enable
docsrsfeature gate when building documentation on docs.rs.
0.2.0 - 2024-06-03
- Remove requirement to specify either
stdorno_stdcrate feature. Ifno_stdis not specified,stdis now implied. This resolves builds on docs.rs and quirks when using the crate. - Some documentation hyperlinks were now corrected.
0.1.0 - 2024-06-03
- Set MSRV to
1.70.0and Rust Edition to2021. - Added CI/CD cross-platform builds, code coverage and ensure examples and benchmarks build correctly.
- Remove dependency on stdint crate unless explicitly enabled with the
stdintcrate feature. This should unblock builds on Windows.
0.0.2 - 2023-07-11
- Initial release as a port from the kalman-clib library.