Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • RTSan real-time safety CI checks and testing (not done yet)

  • JSON configuration loader with nlohmann_json dependency (not done yet)

[v2.0.1] - 2025-07-31

Changed

  • Updated CI to build anira without inference engines to avoid missing preprocessor flags

Fixed

  • Ensure missing preprocessor flags are set for disabled backends

  • Add virtual destructor to PrePostProcessor to avoid polymorphic cleanup issues

[v2.0.0] - 2025-07-28

Added

  • New custom trained RAVE model in examples

  • Defaults struct inside InferenceConfig

  • Support for offline audio processing

  • Option to disable std::cout and std::cerr output

  • Possibility to load ONNX models as binary files

  • InferenceHandler reset method with comprehensive tests

  • Dynamic ring buffer allocation with overflow protection

  • Test cases for latency calculation, dynamic ring buffer allocation, and inference struct calculation

  • Custom latency preparation functionality

  • Jack dependency for Linux JUCE applications

  • Comprehensive Doxygen documentation with beautiful Shibuya theme

  • Added ProcessingSpecs to the InferenceConfig class for better handling of input and output tensor specifications

  • Added changelog documentation page

Changed

  • Major update: New shape handling and sizes management

  • Major update: Support for non-audio input and non-audio output

  • Major update: Support for multiple streamable and non-streamable tensors

  • Major update: Input tensor sample rate must not be equal to output tensor sample rate anymore

  • Refined latency calculation system:

    • Now supports smaller buffer sizes than host config (with allow_smaller_buffers flag)

    • Moved calculation logic to SessionElement

    • Better handling of models with internal latency

  • Renamed HostAudioConfig to HostConfig

  • Renamed AudioBuffer to Buffer

  • Improved catchup and handling of missing samples

  • Different backends can have different shapes while maintaining consistent processingSpecs

  • Removed USE_CONTROLLED_BLOCKING preprocessor definition

  • Removed external host thread possibility

  • Complete documentation overhaul with new theme and structure

Fixed

  • Race condition in InferenceThread where derived class context was destroyed before base class destructor (PR #31)

  • Project version compatibility when adding as subdirectory (PR #30)

  • Internal latency management issues (PR #32)

  • Build bugs and compiler warnings

  • GitHub workflow issues

  • Install script for nlohmann library

  • CMakeLists configuration issues

[v1.0.3] - 2025-01-24

Fixed

  • Fixed bug where version could not be detected when imported as a submodule

Added

  • Possibility to package as .deb package

  • New checks and tests

[v1.0.2] - 2024-12-06

Added

  • Full support for armv7l platform on Linux

  • Benchmarks part of test suite when making pull requests

  • Multiple improvements in CMake build chain

Changed

  • Bela examples now in separate repository

Fixed

  • Fixed Windows test suite

[v1.0.1] - 2024-11-20

Fixed

  • Fixes #11: Issue where the concurrentqueue lib would not be found in the prebuilt binaries or installed lib

[v1.0.0] - 2024-11-13

Added

  • Major update with API changes (see anira usage guide or examples for more information)

  • Multichannel support

  • Support for input and output of multiple tensors including threadsafe methods to retrieve and pass their state in the anira::PrePostProcessor

  • New anira::Context that uses the same thread pool independent of the anira::InferenceConfig the anira::InferenceHandler has been initialized with

  • CLAP plugin example

  • Enhanced inference job submission

[v0.1.3] - 2024-09-23

Changed

  • Updated libtorch to 2.4.1

Fixed

  • Fixes issue libomp not bundled with libtorch for macOS arm64

  • x86_64 macOS stays with 2.2.2 since new version binaries are not built by pytorch

[v0.1.2] - 2024-09-14

Added

  • New timestamps via counting inference buffers

  • Enhanced thread synchronization and data sharing between threads

  • Windows Ninja generator support

  • Enhanced Windows dynamic libs

  • New default values in InferenceConfig

  • Updated documentation

Changed

  • Default threadsafe structs switched to atomic

  • Port to new organization

Fixed

  • Solved debug build issues with Windows

[v0.1.1] - 2024-08-28

Added

  • New Bela support and examples

  • New thread synchronisation option with raw atomics

[v0.1.0] - 2024-05-20

Changed

  • New anira::InferenceConfig layout

[v0.0.8] - 2024-05-15

Improved

  • Improved latency calculation

[v0.0.7] - 2024-04-27

Changed

  • Version 0.0.7 release

[v0.0.6] - 2024-04-17

Changed

  • Version 0.0.6 release

[v0.0.5] - 2024-04-11

Changed

  • Version 0.0.5 release

[v0.0.4] - 2024-04-01

Changed

  • Version 0.0.4 release

[v0.0.3] - 2024-03-30

Changed

  • Updated Windows CI workflow

[v0.0.2] - 2024-03-27

Changed

  • Version 0.0.2 release

[v0.0.1] - 2024-03-23

Added

  • Initial release (Version 0.0.1)