|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to ReactiveMP.jl will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Changed |
| 11 | +- Switched from `ReTestItems` to `TestItemRunner` for tests ([#584](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/584)) |
| 12 | +- Made formatting checks stricter |
| 13 | + |
| 14 | +## [5.6.6] - 2026-03-13 |
| 15 | + |
| 16 | +### Fixed |
| 17 | +- Implemented effective rules with specialized dispatch for `MvNormalMeanScalePrecision` ([#579](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/579)) |
| 18 | + |
| 19 | +### Tests |
| 20 | +- Added performance test for structured rule specialized for `MvNormalMeanScalePrecision` |
| 21 | + |
| 22 | +## [5.6.5] - 2026-02-02 |
| 23 | + |
| 24 | +### Added |
| 25 | +- Implemented `MvNormalWishart` node and `out` rule ([#565](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/565)) |
| 26 | +- Issue templates ([#558](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/558)) |
| 27 | +- Rule interface name checking for `@rule`, `@marginalrule`, and `@average_energy` macros ([#545](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/545)) |
| 28 | + |
| 29 | +### Changed |
| 30 | +- Removed `Requires` dependency (used for Julia <1.9, no longer supported) ([#564](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/564)) |
| 31 | +- Removed vibe coded required fields from issue template ([#562](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/562)) |
| 32 | +- Bumped compat for Optim to 2 ([#574](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/574)) |
| 33 | +- Removed `Zygote` extension requirement for compatibility |
| 34 | + |
| 35 | +### Fixed |
| 36 | +- Fixed documentation build ([#567](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/567)) |
| 37 | + |
| 38 | +### Performance |
| 39 | +- Pre-computed double loops in CT model ([#571](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/571)) |
| 40 | + |
| 41 | +## [5.6.4] - 2025-11-18 |
| 42 | + |
| 43 | +### Fixed |
| 44 | +- Fixed bug in average energy of `Uninformative` type ([#553](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/553)) |
| 45 | +- Improved robustness of inverse precision matrix computation in `MvNormalMeanPrecision` rule ([#540](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/540)) |
| 46 | + |
| 47 | +### Documentation |
| 48 | +- Added `MessageMapping` documentation ([#550](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/550)) |
| 49 | + |
| 50 | +## [5.6.3] - 2025-11-04 |
| 51 | + |
| 52 | +### Added |
| 53 | +- Added `IntegrationTest.yml` workflow ([#525](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/525)) |
| 54 | +- Implemented missing marginal rule for multiplication node ([#531](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/531)) |
| 55 | + |
| 56 | +### Changed |
| 57 | +- Changed dispatch to `AbstractVector` to allow other vector implementations ([#536](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/536)) |
| 58 | + |
| 59 | +### Fixed |
| 60 | +- Renamed softdot marginal rules test file to include it in test runs ([#535](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/535)) |
| 61 | +- Avoided `Vararg` deprecation warnings ([#537](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/537)) |
| 62 | +- Defined `AverageEnergy` for `Mixture` node with warning ([#546](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/546)) |
| 63 | +- Allowed different numeric types for `GammaShapeLikelihood` constructor ([#544](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/544)) |
| 64 | + |
| 65 | +### Tests |
| 66 | +- Improved code coverage with tests for BIFM, Autoregressive, Mixture, GammaMixture, Wishart, InverseWishart, DotProduct, Multiplication, and Uniform nodes ([#539](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/539)) |
| 67 | + |
| 68 | +## [5.6.2] - 2025-10-21 |
| 69 | + |
| 70 | +### Fixed |
| 71 | +- Fixed `isonehot` to use approximate comparison for categorical rules ([#527](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/527)) |
| 72 | + |
| 73 | +## [5.6.1] - 2025-10-21 |
| 74 | + |
| 75 | +### Added |
| 76 | +- Categorical rules: check if probability vector of `q_out` is a one-hot encoded vector ([#510](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/510)) |
| 77 | +- Support for non-linear node (univariate -> multivariate) with Unscented transform ([#508](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/508)) |
| 78 | + |
| 79 | +### Changed |
| 80 | +- Updated `ForwardDiff` to version 1 ([#521](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/521)) |
| 81 | +- Skip Aqua.jl checks during selective test runs ([#523](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/523)) |
| 82 | +- Makefile: fixed selective test runs with `test_args` argument ([#517](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/517)) |
| 83 | + |
| 84 | +### Fixed |
| 85 | +- Updated documentation for `as_marginal` ([#516](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/516)) |
| 86 | +- Updated test cases for `GammaShapeScale` |
| 87 | + |
| 88 | +## [5.6.0] - 2025-09-23 |
| 89 | + |
| 90 | +### Changed |
| 91 | +- Use `MvNormalMeanScaleMatrixPrecision` from ExponentialFamily package ([#509](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/509)) |
| 92 | + |
| 93 | +## [5.5.12] - 2025-09-11 |
| 94 | + |
| 95 | +### Fixed |
| 96 | +- Fixed `q_t1` dimensionality bug in delta node rules ([#504](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/504)) |
| 97 | + |
| 98 | +## [5.5.11] - 2025-09-10 |
| 99 | + |
| 100 | +### Added |
| 101 | +- Implemented `MvNormalMeanScaleMatrixPrecision` rules ([#497](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/497)) |
| 102 | + |
| 103 | +## [5.5.10] - 2025-09-09 |
| 104 | + |
| 105 | +### Fixed |
| 106 | +- Added new linearization method ([#500](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/500)) |
| 107 | + |
| 108 | +## [5.5.9] - 2025-08-14 |
| 109 | + |
| 110 | +### Changed |
| 111 | +- Reverted "Don't check for proper in division of" ([#496](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/496)) |
| 112 | + |
| 113 | +## [5.5.8] - 2025-08-14 |
| 114 | + |
| 115 | +### Added |
| 116 | +- Show meta suggestions in rule error printing ([#495](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/495)) |
| 117 | + |
| 118 | +### Changed |
| 119 | +- Tightened dispatch for summation and other optimized rules ([#492](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/492), [#493](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/493)) |
| 120 | + |
| 121 | +### Fixed |
| 122 | +- Don't check for proper in division of to accommodate inference ([#486](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/486)) |
| 123 | + |
| 124 | +## [5.5.7] - 2025-07-24 |
| 125 | + |
| 126 | +### Fixed |
| 127 | +- Fixed infinite RxInfer documentation build by not using lazy string ([#490](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/490)) |
| 128 | + |
| 129 | +## [5.5.6] - 2025-07-23 |
| 130 | + |
| 131 | +### Fixed |
| 132 | +- Fixed invalidations: removed bad `eltype` methods, `convert`, and `println` method ([#489](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/489)) |
| 133 | + |
| 134 | +## [5.5.5] - 2025-07-23 |
| 135 | + |
| 136 | +### Fixed |
| 137 | +- Resolved Gaussian division with proper Multivariate vs Univariate handling ([#479](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/479)) |
| 138 | + |
| 139 | +--- |
| 140 | + |
| 141 | +[Unreleased]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.6...HEAD |
| 142 | +[5.6.6]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.5...v5.6.6 |
| 143 | +[5.6.5]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.4...v5.6.5 |
| 144 | +[5.6.4]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.3...v5.6.4 |
| 145 | +[5.6.3]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.2...v5.6.3 |
| 146 | +[5.6.2]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.1...v5.6.2 |
| 147 | +[5.6.1]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.0...v5.6.1 |
| 148 | +[5.6.0]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.12...v5.6.0 |
| 149 | +[5.5.12]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.11...v5.5.12 |
| 150 | +[5.5.11]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.10...v5.5.11 |
| 151 | +[5.5.10]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.9...v5.5.10 |
| 152 | +[5.5.9]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.8...v5.5.9 |
| 153 | +[5.5.8]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.7...v5.5.8 |
| 154 | +[5.5.7]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.6...v5.5.7 |
| 155 | +[5.5.6]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.5...v5.5.6 |
| 156 | +[5.5.5]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.4...v5.5.5 |
0 commit comments