# Release v0.11.0

## Breaking Changes

- Refactored concepts in `base` module to use concepts in C++ standard library when applicable.
  Replaced concepts may be removed in the future.

## Features

- `regularization` module
  - Added solvers for the following regularization methods:
    - Total variation.
    - 2nd order total generalized variation.
- `opt` module
  - Added solvers using the following algorithms for global optimization:
    - Genetic algorithm.
    - Firefly algorithm.
  - Added type erasure for objective functions.
  - Added functions in algorithms to change objective functions.
- `linear` module
  - Added algebraic multigrid preconditioner used in AMG-CG method.
- `base` module
  - Added a macro to check preconditions.
- `util` module
  - Added functions to generate gray codes.
  - Added a class to check memory allocation in Eigen library.

## Improvements

- Performance improvements to the followings:
  - `rbf` module
    - Computation of coefficients for CSRBF interpolation.
  - `opt` module
    - Solver of adaptive diagonal curves.
  - `linear` module
    - Solver of algebraic multigrid solver.
- Made `compute` functions in linear solvers compatible with Eigen library.
- Enabled address sanitizer and undefined behavior sanitizer in all tests.
- Updated some documentations.
- Updated header inclusions.
- Fixed some warnings.