-------------------
Contributors to this version: Sarah-Claude Bourdeau-Goulet (:user:`Sarahclaude`), Pascal Bourgault (:user:`aulemahal`), Trevor James Smith (:user:`Zeitsperre`), Juliette Lavoie (:user:`juliettelavoie`), Gabriel Rondeau-Genesse (:user:`RondeauG`).
New features and enhancements
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* New function ``fg.matplotlib.hatchmap`` (:pull:`107`).
* Support for translating figures. Activating a locale through `xclim`'s ``metadata_locales`` option will try to use metadata saved by `xclim` or `xscen` in this locale and to translate common terms appearing in the figures. `figanos` currently ships with French translations of those terms. (:pull:`109`, :issue:`64`).
* New ``figanos.Logos`` class added to manage and install logos stored in user's Home configuration directory. The ``figanos.utils.plot_logo`` function call signature has changed to support the new system. (:issue:`115`, :pull:`119`).
* Logo sizing and placement now depends on `scikit-image` for resizing, and uses ``"width"`` and ``"height"`` instead of ``"zoom"``. (:issue:`123`, :pull:`119`).
* Logo plotting now supports both PNG and SVG file types (via `cairosvg`). (:pull:`119`).
* Use small geojson in the notebook. (:pull:`124`).
* Add the Colours of Figanos page (:issue:`126`, :pull:`127`).
* Figanos now adheres to PEPs 517/518/621 using the `flit` backend for building and packaging. (:pull:`135`).
* New function ``fg.partition`` (:pull:`134`).
* Add wrapper around ``xarray.plot.facetgrid`` for map functions (``fg.gridmap``, ``fg.scattermap``, ``fg.hatchmap``). (:issue:`51`, :pull:`136`).
* `figanos` now uses `Semantic Versioning v2.0 <https://semver.org/spec/v2.0.0.html>`_. (:pull:`143`).
* Add wrapper around ``xarray.plot.facetgrid`` for multiple functions (``fg.gridmap``, ``fg.scattermap``, ``fg.hatchmap``, ``fg.timeseries``). (:issue:`51`, :pull:`136`).
Bug fixes
^^^^^^^^^
* Fixed packaging issue with the `Manifest.in` not bundling a YAML file loaded on import. (:pull:`118`).
Internal changes
^^^^^^^^^^^^^^^^
* Clean up of the dependencies to remove the notebooks deps from the core deps.
* `figanos` now uses Trusted Publishing to publish the package on PyPI and TestPyPI. (:pull:`113`).
* The official Ouranos logos have been removed from the repository. They can now be installed if required via the ``figanos.Logos.install_ouranos_logos`` class method. (:issue:`115`, :pull:`119`).
* Documentation adjustments. (:pull:`121`):
* Added a few `pre-commit` hooks for cleaning up notebooks and ensuring that docstrings are properly formatted.
* Cleaned up the docstrings of a few functions, added some module-level strings, minor typo fixes.
* Set `nbsphinx` in the documentation to always run (with th exception of one complex cell).
* The `environment-dev.yml` Python version is set to `3.11` to reduce the dependency solver complexity.
* The `cookiecutter` template has been updated to the latest commits via `cruft`. (:pull:`138`, :pull:`143`):
* `Manifest.in`, `requirements_dev.txt`, `requirements_docs.txt` and `setup.py` have been removed.
* `pyproject.toml` has been added, with most package configurations migrated into it.
* `HISTORY.rst` has been renamed to `CHANGES.rst`.
* `dependabot` has been added to the GitHub workflows to manage workflow and package dependency pins.
* `bump-version.yml` has been added to automate patch versioning of the package.
* `pre-commit` hooks have been updated to the latest versions; `check-toml` and `toml-sort` have been added to cleanup the `pyproject.toml` file.
* `ruff` has been added to the linting tools to replace most `flake8` and `pydocstyle` verifications.
* GitHub workflows now run proper pytest suites for `conda`-based testing.
* `figanos` now uses the `actions/labeler` action to automatically label pull requests based on their content.
* GitHub workflows are now using the `step-security/harden-runner` action to harden the runner environment.
* The OpenSSF `scorecard.yml` workflow has been added to the GitHub workflows to evaluate package security.
Bug fixes
^^^^^^^^^
* Fixed an issue with the `divergent` argument getting ignored (:pull:`132`).
* Some small documentation fixes for working uniquely in a `conda` environment. (:pull:`138`).
.. _changes_0.2.0: