**New features:**
- Sounddevice inputs now allow for user-settable sample rates and precision types
- Block-wise frequency domain processing
- Introduces new `acoular.base` module with abstract base classes:
`~acoular.base.Generator`, `~acoular.base.SpectraGenerator`, `~acoular.base.InOut`,
`~acoular.base.TimeOut`, `~acoular.base.SpectraOut`
- Introduces new module `acoular.fprocess` including new frequency domain processing
classes: `~acoular.fprocess.RFFT`, `~acoular.fprocess.IRFFT`,
`~acoular.fprocess.AutoPowerSpectra`, `~acoular.fprocess.CrossPowerSpectra`
- Introduces new module `acoular.process` including general purpose (domain invariant)
processing classes: `~acoular.process.Cache`, `~acoular.process.Average`,
`~acoular.process.SampleSplitter`
- Rename `~acoular.tprocess.MaskedTimeInOut` to `~acoular.tprocess.MaskedTimeOut`
- Deprecates: `~acoular.base.TimeInOut`, `~acoular.fprocess.FFTSpectra`,
`~acoular.process.TimeAverage`, `~acoular.tprocess.MaskedTimeInOut`,
`~acoular.process.TimeCache`
- Adds unittests: `test_process.py`, `test_fprocess.py`
- Adds documentation example: `example_fft.py`
- Allows more platforms to build the docs files including Linux, macOS, and Windows
**Bugfixes**
- Flush file in `~acoular.tprocess.TimeCache` to prevent data loss/corruption
- Fixes use of already deprecated traits
- Fixes import order to avoid deactivation of parallelization in numba
- Fixes `numpy.matlib` deprecation warning
**Documentation**
- Updates literature and adds `sphinxcontrib-bibtex` extension to support BibTeX citation
- Cleans up and structures the `conf.py` file and fixes missing Acoular logo in documentation
- Fixes missing and incorrect docstrings for `result` methods in `~acoular.tbeamform`
- Improves explanation of installation dependencies
- Adds explanation on how to test specific Python versions
- Tests documentation build on all latest platforms
**Internal**
- Refactoring of classes in `~acoular.tbeamform` (moves buffer logic away from Beamformer classes)
- Adds new `~acoular.tools.utils.SamplesBuffer` class located in `~acoular.tools.utils`
- Replaces markdown-link-check with `lychee`:
- Faster CI (written in RUST)
- Allows more files to be checked, including `.rst` files in documentation
- Adds a cron job that runs daily
- Sets final version for several deprecated traits (to be removed in version 25.01)
- Uses `scipy.linalg` consistently over `numpy.linalg`
- Drops support for Python 3.8 and 3.9
- Enables Numpy version > 2.0
- Runs unittests on the latest macOS