ContourPy 1.2.0 is a significant release with a number of new features. There is a new format for contour lines called `LineType.ChunkCombinedNan` that is designed to work directly with Bokeh and HoloViews. There are also new functions for manipulating contour lines and filled contours (`convert_filled`, `convert_lines`, `dechunk_filled` and `dechunk_lines`).
Calling `ContourGenerator.filled()` with two identical levels now raises a `ValueError` whereas previously it gave different results depending on algorithm `name`.
This release supports Python 3.9 to 3.12, and is the first release to ship musllinux aarch64 wheels.
Enhancements:
- Support strings as well as enums in renderer functions (284)
- Add new functions `dechunk_filled` and `dechunk_lines` (290)
- Add new functions `convert_filled` and `convert_lines` (291, 293, 294, 312, 313)
- Add new `LineType.ChunkCombinedNan` (296, 301, 308)
- Raise if call `filled()` with `lower_level==upper_level` (317)
Code improvements:
- Code quality improvements (282, 310)
- Improvements to array checking functions (298)
- Better use of dtypes and casting when calling numpy functions (300, 306, 308, 314)
- Update type annotations for Matplotlib 3.8 (303)
- Extra validation when dechunking and converting contour lines and filled contours (316)
Documentation improvements:
- Use `versionadded` sphinx directive (285)
- Remove threaded experimental warnings (297)
- Extract benchmark ratios when generating benchmark plots (302)
- Document new functions and conversion to Shapely geometries (318)
Build, testing and CI improvements:
- Add new CI run using NumPy nightly wheels (280)
- Test contour levels that are `+/-np.inf` (283)
- Improved PyPy CI (287, 307)
- Use better names for enums when reporting parametrised tests (292)
- Improved mpl debug renderer tests (295)
- Support musllinux aarch64 (305)
- Run test suite in parallel (311)
- Miscellaneous build and CI improvements (279, 281, 288, 315, 319)