**Deprecations**
* Moved PEtab-related functionality from `amici.petab_*` to the
petab-subpackage `amici.petab.*`. The old public functions are still
available but will be removed in a future release.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2205,
https://github.com/AMICI-dev/AMICI/pull/2211,
https://github.com/AMICI-dev/AMICI/pull/2252
**Features**
* Handle events occurring at fixed timepoints without root-finding.
This avoids event-after-reinitialization errors in many cases a brings a
slight performance improvement.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2227
* Added `PetabProblem` class for handling PEtab-defined simulation conditions,
making it easier to perform customized operations based on PEtab-defined
simulation conditions.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2255
* code-gen: Simplified `switch` statements, leading to reduced file sizes and
faster compilation for certain models.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2240
* Made `Model` and `ModelPtr` deepcopyable
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2247
* Made `Solver` and `SolverPtr` deepcopyable
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2245
* Added a debugging helper `get_model_for_preeq` for debugging simulation
issues during pre-equilibration.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2250
* Added `SwigPtrView` fields to `dir()` outputs
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2244
* Use proper labels for in plotting functions if IDs are available in
`ReturnData`.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2249
* Added `ExpData::clear_observations` to set all measurements/sigmas to NaN
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2258
**Fixes**
* Fixed AMICI hiding all warnings. Previously, importing `amici` resulted
in all warnings being hidden in the rest of the program.
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2243
* CMake: Fixed model debug builds
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2222
* Fixed CMake potentially using incorrect Python library for building model
extension
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2220
* CMake: fixed cxx flag check
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2225
* Fixed potential out-of-bounds read in `Model::checkFinite` for
matlab-imported models
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2232
* Fixed piecewise/Heaviside handling
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2234
* Deterministic order of event assignments
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2242
* Proper error message in case of unsupported state-dependent sigmas
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2239
* Fixed swig shadow warning + other linting issues
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2261
* Fixed `SwigPtrView.__getattr__`
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2259
* `simulate_petab`: Avoid warning when simulating with default parameters
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2265
**Documentation**
* Updated Python package installation instructions for Arch Linux
by willov in https://github.com/AMICI-dev/AMICI/pull/2212
* Updated `ExpData` documentation
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2254
* Documented simulation starting time `t0`
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2263
* Updated PEtab example
by dweindl in https://github.com/AMICI-dev/AMICI/pull/2255
...
**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.20.0...v0.21.0