Enhancements
* The `pyhdtoolkit.cpymadtools.lhc` module now has a new function, `apply_lhc_colinearity_knob_delta`, to apply a variation on top of the colinearity knob variables.
* The `pyhdtoolkit.cpymadtools.lhc.make_lhc_beams` function now has a specific argument for both horizontal and vertical emittances (resp. `emittance_x` and `emittance_y`) to enable differentiating the two. The default value for each is the same as previously. If you were calling the function without specifying the `emittance` argument, you will not see changes. If you used to specify the argument, then switch to the new ones.
* Added a `~pyhdtoolkit.version` module, with a convenience function to get version, platform and runtime information for debugging and reporting purposes.
Bug Fixes
* The `~pyhdtoolkit.cpymadtools.coupling.get_cminus_from_coupling_rdts` function now properly handles methods that compute complex `DELTAQMIN` values in `optics_functions.coupling.closest_tune_approach`, and returns a correct result when using these methods.
Maintenance
* Increased the minimum required Python version to `3.8`.
* Increased the minimum required ``numpy`` version to `1.21`.
* Increased the minumum required ``pandas`` version to `1.4`.
* Removed the dependency on `sympy`.
* Relaxed version constraint on the `matplotlib` dependency, increased minimum version to `3.3`.
* Updated API documentation by specifying the *version added* for every public API classes, functions and methods.
* Updated and cleaned up Continuous Integration workflows.
* Modularised the release notes sources of the documentation.
What's Changed
* Changes for v0.21.0 by fsoubelet in https://github.com/fsoubelet/PyhDToolkit/pull/88
**Full Changelog**: https://github.com/fsoubelet/PyhDToolkit/compare/0.20.1...0.21.0