What's new in PyCPL 1.0.4
=========================

PyCPL 1.0.4 is a bug fix release.

Added
-----

- Add pytest fixture to create temporary filenames (!216)
- Added a private and opaque property `_handle` to the `cpl.drs.WCS` class allowing extension packages (e.g. PyHDRL) to reconstruct a complete `cpl_wcs` object from a `cpl.drs.WCS` instance. The property is _not_ meant to be used in normal development projects using the PyCPL API.

Changed
-------
- Cleanup and extend the array utility functions in the C++ code using templates and overloading (!216)
- The environment variable `PYCPL_RECIPE_DIR`, which is only used at build time for specifying the built-in default recipe search path, can now be a colon separated list of directories to allow for more than one default search path.
- Assigning a string value to the `cpl.ui.CRecipe.recipe_dir` also works as expected when the string to assign is a colon separated list of directories.

Fixed
-----

- Fix incorrect `error_cls` comparison operator binding. Bind the special method `__eq__` to the correct C++ method (!217)
- Fix remaining compiler warnings on comparing integers of different signedness (!216)
- Fix deprecation warning for `.get_type()` in pybind11 3.x. Replaced by `py::type::of()` (!216)
- Fix ruff linter recommendations (!216)