diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b895b0b..df79ed7 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "3.1.2" + ".": "4.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 88971cb..61f219d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ # Changelog +## [4.0.0](https://github.com/embedded-pro/numerical-toolbox-cpp/compare/v3.1.2...v4.0.0) (2026-10-05) + + +### ⚠ BREAKING CHANGES + +* toolbox code no longer builds at O3 with fast-math on its own. Consumers that want those optimizations pass them for whole translation units, e.g. -ffast-math -fno-finite-math-only. + +### Features + +* Add SetPreviousOutput to PidIncrementalBase ([#328](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/328)) ([762b59e](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/762b59ef15ea7d54bd6b703ff4bd75b25ae0c99f)) +* **analysis:** Add mel filterbank and log-mel/MFCC front end ([#345](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/345)) ([c9fedc1](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/c9fedc1d7d9ee2b924ba53b6c30d5e33451a6e4a)) +* **filters:** Let ComplementaryFilter integrate over a measured interval ([#335](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/335)) ([1225b3c](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/1225b3c422beab93e0ff8fd7231f8d7e087f6da4)) +* **math:** Add central finite-difference gradient-check test helper ([#344](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/344)) ([e024946](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/e0249466c8afc3a3aa067343882bd1be696c431b)), closes [#341](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/341) +* **optimization:** Add stateful SGD/momentum and Adam step optimisers ([#343](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/343)) ([69ff13e](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/69ff13e719895b74b167c4742130442c6b96a857)) +* **simulator:** Render every panel and chart through ui-cpp ([#332](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/332)) ([cff9616](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/cff9616b206352cbb89e786d4fef7aaca4a6350d)) +* **simulator:** Render the FFT charts through ui-cpp ([#331](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/331)) ([09d8986](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/09d8986c7e67d6e3524b856859dcad1f222e012f)) + + +### Bug Fixes + +* **build:** Propagate NumericalToolbox_ENABLE_OPTIMIZATIONS through numerical.math ([#346](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/346)) ([a551f47](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/a551f47ab879d4728bffea3b269246807b9baa5c)), closes [#337](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/337) +* Scope the O3/fast-math pragma to each header instead of leaking it ([#347](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/347)) ([fbabe8f](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/fbabe8f8bd9f56b32ed9e72789e32f4d5023ceb3)), closes [#334](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/334) + + +### Build System + +* **deps:** Bump the patch-minor-action-updates group with 2 updates ([#330](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/330)) ([7d1e7de](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/7d1e7de61371043eb4783834413855710292dd29)) +* **deps:** Bump the patch-minor-action-updates group with 2 updates ([#333](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/333)) ([bd29584](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/bd2958427f44847bfd5a97565af598240997bee7)) +* **deps:** Bump the patch-minor-action-updates group with 2 updates ([#336](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/336)) ([de14e02](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/de14e024dd7f5637c536e0114dbb08282107b2be)) +* **deps:** Bump the patch-minor-action-updates group with 3 updates ([#326](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/326)) ([c580f38](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/c580f38ccc835c0b8cd2286f3e1d9c3d99b713cd)) + + +### Performance Improvements + +* **math:** Build matrix results without zero-filling them first ([#349](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/349)) ([e36d52a](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/e36d52ad0a7b478af25bc9e542920b22baa7a70b)) +* Stop setting optimization options per header and per function ([#348](https://github.com/embedded-pro/numerical-toolbox-cpp/issues/348)) ([31c7ac9](https://github.com/embedded-pro/numerical-toolbox-cpp/commit/31c7ac9b46b6a89a201a59bad5fed551ba715699)) + ## [3.1.2](https://github.com/embedded-pro/numerical-toolbox-cpp/compare/v3.1.1...v3.1.2) (2026-09-05) diff --git a/CMakeLists.txt b/CMakeLists.txt index d35961e..4bd58ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,7 +61,7 @@ if (NUMERICAL_TOOLBOX_STANDALONE) endif() endif() -project(numerical-toolbox LANGUAGES C CXX ASM VERSION 3.1.2) # x-release-please-version +project(numerical-toolbox LANGUAGES C CXX ASM VERSION 4.0.0) # x-release-please-version set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED On)