- Improved CUTEst problem loader and adapter
- Return upper-triangular Hessian CUTEst adapter instead of lower (**API break**)
- [QPALM](https://github.com/kul-optec/QPALM) solver interface, added to `alpaqa-driver`
- Sparse logistic regression example
- Improve dynamic loading API, support exception propagation (**ABI break**)
- Configurable float types for smaller binaries, faster compile times
- Support modifying `alpaqa::DefaultConfig`
- Add optional in/out parameter penalties ALM
- More PANTR statistics
- Improved `UnconstrProblem`, expose in Python API
- Add `alpaqa-gradient-checker` utility
- Improved documentation
- Updated installation instructions
- Improved CI with Valgrind testing
- More testing for PANOC with Anderson acceleration
- Improved Python packaging and metadata
**Full Changelog**: https://github.com/kul-optec/alpaqa/compare/1.0.0a8...1.0.0a9