Contributors to this version: Éric Dupuis (@coxipi), Trevor James Smith (@Zeitsperre), Juliette Lavoie (@juliettelavoie), Ève Larose (@e-larose), Faisal Mahmood (@faimahsho), David Huard (@huard), Pascal Bourgault (@aulemahal).
Breaking changes
lmoments3is now listed as a dependency to theextrasinstallation recipe. This dependency is not installed by default withxclimand must be explicitly requested with$ pip install "xclim[extras]", if desired. (PR/2269).numpy-relatedRuntimeWarningsfor invalid operations are noisier when running calculations via thexclim.indicesand muted by default forxclim.indicators. This change is made to ensure that users who perform indice calculations can be made more aware of potential inconsistencies in their source datasets. (GH/2277, PR/2276).xclim.core.calendar.time_bndsnow follows the CF conventions in that the "end" time is the same as the "start" of the next period (and not the timestep just before). (PR/2310).- The
keep_attrsoption was removed fromxclim.set_options. The recent change in philosophy fromxarrayhas renderedxclimattribute preservation logic irrelevant. Thexarrayoption now controls all attribute management. (GH/2308, PR/2311).
New indicators and features
xclimnow officially supports Python 3.14. (GH/2259, PR/2305).- New missing algorithm:
xclim.core.missing.some_but_not_all. (PR/2290). - New hydrological indices added to
xclim.indices._hydrology.py. (GH/1624, PR/2227).
Bug fixes
- One of the conditions in
xclim.atmos.cooling_degree_days_approximationhad an erroneous computation and has been fixed:(tasmax - tasmin)/4is replaced by(tasmax - thresh)/4. (GH/2272, PR/2273). - Fix some issues with
pandasv3.0 in partitioning functions ofxclim.ensemblesand inxclim.indices.generic.aggregate_between_dates. (PR/2310).
Internal changes
- Replaced the
tox.inifile with atox.tomlfile and simplified the conditionals for environment selection. (PR/2269). - Removed
python-coverallsfrom thetox-only dependencies (abandoned software / not supported in Python 3.13+) and added thecoverallsapp/github-actionstep to PyPI/tox-based builds on CI. (PR/2269). - The testing suite has been updated to support
pytest >=9.0(PR/2276):- The configuration in
tox.tomlnow uses the new TOML conventions. --strict-configand--strict-markershave been replaced with the new--strictmode. For more information, refer to the pytest documentation.
- The configuration in
- Added a GitHub Workflow for automatically approving Dependabot Pull Requests that are either
patchorminorupdates. Dependabot is now configured to run on a monthly basis (previously weekly). (PR/2292). - Dependabot
auto-approvedpull requests are now also set toauto-merge. (PR/2300). - Build-cancelling based on concurrency rules for the
main.ymlGitHub Workflow are now also divided according to thegithub.event_name(pull_request,pull_request_review). (PR/2301). - Added the
rst-checkhook to.pre-commit-config.yamlfor ensuring that ReStructuredText roles, directives, and spacing are consistent with repository configurations. (GH/2133, PR/2306). - Replaced the
formattext-pre-commithook withmirrors-bibtex-tidyin order to enforce style and consistency onBibTeXfiles. (PR/2306). - Removed many obsolete
noqacomments from throughout the code base. (PR/2307). matplotlibis no longer loaded during the import process ofxclimnor during thepytestsetup phase if it is installed in the active environment. (PR/2307).