Skip to content

Changelog#

Versions follow Semantic Versioning (<major>.<minor>.<patch>).

Backward incompatible (breaking) changes will only be introduced in major versions with advance notice in the Deprecations section of releases.

Copier - core python repository v0.15.2 (2026-06-13)#

🎉 Improvements#

  • Switched to doing --no-cache-dir installs when testing installation from PyPI. This avoids false errors of the type seen here: https://github.com/openscm/pandas-openscm/actions/runs/27343420418 (#58)

Copier - core python repository v0.15.1 (2026-05-28)#

🐛 Bug Fixes#

    • Fixed the template's doc stubs generation script
  • Fixed the template's Makefile ruff-fixes target
  • Fixed the template's copyright statement in the docs
  • Fixed the template's coverage configuration in pyproject.toml
  • Fixed the template's scripts/print-conda-recipe-pins.py

(#57)

Copier - core python repository v0.15.0 (2026-05-26)#

⚠️ Breaking Changes#

    • switch to using properdocs to build docs in the template
  • upgrade to GitHub actions that use latest node and updgrade actions versions generally
  • upgrade packages/pins used in the template's pre-commit: ruff, uv etc.
  • drop Python 3.9 support, add Python 3.14 support

(#55)

🆕 Features#

    • use uv run --group in the template's Makefile and CI
  • switch to using MPLBACKEND: Agg when running tests in CI (don't need interactive plots in CI)
  • add ty option to allow for use of ty by repositories that use this template

(#55)

🎉 Improvements#

    • switch to --cov=package-name to avoid accidentally picking up other things that appear in src (#55)

🔧 Trivial/Internal Changes#

Copier - core python repository v0.14.4 (2025-08-27)#

🎉 Improvements#

  • Upgraded to the latest version of pre-commit-hooks (#48)
  • Added the --doctest-report ndiff argument to pytest calls in the template's CI (making them consistent with the Makefile) (#49)
  • Fixed up the template's test conda install workflow to recognise the fact that we use bash throughout better (#50)

Copier - core python repository v0.14.3 (2025-08-10)#

🎉 Improvements#

  • Added BSD-3-Clause with two hyphens and python software foundation 2.0 via the abbreviation "psf-2.0" to the template's list of authorised licences (#46)

🐛 Bug Fixes#

  • Fixed print conda pins script to handle more complex cases (#47)

Copier - core python repository v0.14.2 (2025-08-09)#

🐛 Bug Fixes#

  • Fixed bug in the 'without extras' CI job. Previously this job would not respect the lockfile, so could fail for reasons that were very hard to debug. (#45)

Copier - core python repository v0.14.1 (2025-08-09)#

🐛 Bug Fixes#

  • Actually drop pdm as an environment manager option (up until now it was still given as an option even though it isn't supported) (#44)

Copier - core python repository v0.14.0 (2025-08-09)#

⚠️ Breaking Changes#

    • Dropped support for pdm as an environment manager
  • Switched the template to use uv's build back-end rather than pdm's build back-end in all cases
  • Upgraded to use the latest version of uv in GitHub CI

(#43)

Copier - core python repository v0.13.0 (2025-08-09)#

⚠️ Breaking Changes#

  • Updated the mkdocs related docs dependencies in the template's pyproject.toml. This keeps up with other developments. The updates also include better configuration of the packages to avoid annoying behaviour in some of them (basically, what we solved here: https://github.com/openscm/pandas-openscm/pull/30). (#42)

🎉 Improvements#

  • Updated the script which prints the conda pinned requirements so it can handle packages whose pinned version depends on the Python version. (#41)
  • Update the auto-generated Makefile to support the latest pdm version (2.25.5 at the time of writing) (#42)

📚 Improved Documentation#

  • Updated docs about getting set up on conda (#40)

Copier - core python repository v0.12.3 (2025-03-26)#

🐛 Bug Fixes#

  • Fixed up the template so that it includes a test of conda installation if the user says they are going to do a conda release. (#39)

Copier - core python repository v0.12.2 (2025-03-24)#

🎉 Improvements#

  • Removed checking and updating pdm.lock files when using uv as a package manager. This avoids ever having to wait 30 seconds or more when committing. (#38)

Copier - core python repository v0.12.1 (2025-03-17)#

🐛 Bug Fixes#

  • Fixed the template's tests-without-extras CI step. Previously, it wasn't actually testing in the same way as was done when checking installation from PyPI, so wasn't catching errors in advance. (#17)

Copier - core python repository v0.12.0 (2025-03-17)#

🆕 Features#

  • Added whitespace indicator to doctest report output when using the template's Makefile (#35)

🎉 Improvements#

    • Added footnotes to the markdown extensions in the template's mkdocs.yml
  • Added note about lack of tqdm intersphinx to the template's mkdocs.yml
  • Improved the template's docs on dependency pinning and testing

(#35)

🐛 Bug Fixes#

  • Fixed up the navigation to the dependency pinning and testing page in the template's docs (#35)
  • Fixed up the template's CI check for importing without extras being installed (#36)

Copier - core python repository v0.11.1 (2025-03-04)#

🐛 Bug Fixes#

    • Fixed up the default test tables in the template, specifically moved pytest-cov into full test dependencies, out of minimum test dependencies.
  • Fixed up the default documentation navigation to include the page on dependency pinning and testing strategy.

(#33) - Remove double quotes in template paths so that the repo will work on windows (#34)

Copier - core python repository v0.11.0 (2025-01-21)#

🆕 Features#

    • Added documentation about the dependency pinning and testing strategy used to the template's docs.
  • Added tests with our lowest pinned dependencies to the template when using uv as a package manager (not doing pdm because of planned support dropping).
  • Added tests with the dev version of user-selected dependencies to the template when using uv as a package manager (not doing pdm because of planned support dropping).
  • Added uv sync to the template's pre-commit config when using uv as a package manager.
  • Split the test dependencies into tests-min and tests-full in the template's pyproject.toml to provide better support for testing in minimum vs. full environments.
  • Updated the test PyPI install workflow in the template to test against all bugfix and security Python versions with a more sane, consistent test dependency locking strategy.

(#32)

🎉 Improvements#

  • Updated the template to use uv 0.5.21 throughout. (#32)

Copier - core python repository v0.10.2 (2025-01-17)#

🆕 Features#

  • Add project URLs to the template's pyproject.toml as well as sensible default classifiers and the ISC license. (#31)

🐛 Bug Fixes#

  • Fixed up ignoring of the lock file when using uv. (#31)

📚 Improved Documentation#

  • Improved documentation about how to set up with PyPI. (#31)

🔧 Trivial/Internal Changes#

Copier - core python repository v0.10.1 (2025-01-08)#

🎉 Improvements#

  • Added a test to the template's CI to check that the test PyPI release workflow won't break on changes, updated the test PyPI workflows to check both with and without the full test dependencies being installed and updated the pre-commit config to support these workflows. (#29)

🔧 Trivial/Internal Changes#

Copier - core python repository v0.10.0 (2025-01-07)#

🐛 Bug Fixes#

  • Pinned (almost) all the development dependencies in the template. This ensures that users have a consistent environment for development when they first initialise the repo. The pins are essentially a workaround for the fact that we can't actually include the lock file in the copier template. These updates should not affect users, but we can't test all cases so be a bit careful when upgrading. (#25)

Copier - core python repository v0.9.0 (2025-01-07)#

🆕 Features#

  • Added testing against Python 3.12 and Python 3.13 to the template's CI. (#26)
  • Added a check that all URLs in the repository are live to the template's CI. (#27)

🎉 Improvements#

  • Updated the template to use new features of mkdocs. In particular, relative cross-references are supported thanks to mkdocstrings-python-xref and the creation of the summary tables is now much simpler thanks to using mkdocstrings-python's summary option. We now also support rendering latex in the docs using mkdocs-material and katex. We don't think this will introduce any breaking changes, but haven't checked completely either so be aware when upgrading to this version of the template. The default settings lead to docs which are a bit busier (so you may want to alter the options in your downstream repository to suit your own taste). (#26)

🔧 Trivial/Internal Changes#

Copier - core python repository v0.8.0 (2024-12-31)#

🆕 Features#

  • Added a pdm-lock target to the template's Makefile and a pre-commit hook that updates the pdm.lock file to the template's pre-commit hook config. This makes it easier to keep the pdm.lock file up-to-date without manual steps. (As a reminder, the pdm.lock file is needed to create the locked version of the generated packages.) (#24)

🐛 Bug Fixes#

  • Pinned the versions of mistune and nbconvert used in the template's pyproject.toml file while waiting for nbconvert#2198 and mistune#403 to be resolved. (#24)

🔧 Trivial/Internal Changes#

Copier - core python repository v0.7.1 (2024-12-27)#

🐛 Bug Fixes#

  • Fixed up spurious whitespace in template's pyproject.toml. (#22)

Copier - core python repository v0.7.0 (2024-12-27)#

🆕 Features#

  • Added uv as the default environment manager. (#21)

Copier - core python repository v0.6.0 (2024-12-27)#

🎉 Improvements#

  • Updated CI, Makefile and pre-commit to use new pdm features. (#18)

🐛 Bug Fixes#

  • Fixed up spacing in generated tests files in the template. (#20)

🔧 Trivial/Internal Changes#

Copier - core python repository v0.5.0 (2024-12-27)#

🎉 Improvements#

  • Upgraded default packages and CI jobs used. (#17)

Copier - core python repository v0.4.4 (2024-12-27)#

🐛 Bug Fixes#

    • Cleaned up the GitHub actions definitions in the template.
  • Fixed up minor spacing formatting issue in the template's pyproject.toml.

(#16)

Copier - core python repository v0.4.3 (2024-12-27)#

🐛 Bug Fixes#

  • Fixed minor formatting issues in the template src and scripts. (#15)

Copier - core python repository v0.4.2 (2024-12-27)#

🆕 Features#

  • Added type overloading lines to the lines excluded from code coverage calculations. (#10)
  • Added script for printing conda recipe pins if we are tracking the lock file (#11)
  • Added a question about whether the package will be released on conda, so we can provide more targeted outputs. (#12)

🎉 Improvements#

  • Fixed up the handling of the lock file (this functionality isn't used heavily, so there may be bugs) (#11)

🐛 Bug Fixes#

  • Fixed up the docs around the default bump rule used when the template is setting up a GitLab repository. (#9)
    • Fixed type hints in the template's scripts/test-install.py.jinja
  • Fixed a typo in the template's .pre-commit-config.yaml.jinja

(#10) - Fixed up the conda pinning helper script (for the bug this fixes and links to the fix, see github.com/climate-resource/input4mips_validation/issues/78) (#13)

Copier - core python repository v0.4.1 (2024-09-26)#

🆕 Features#

  • Added loguru to the list of intersphinx sources included in the template. (#8)

🐛 Bug Fixes#

    • Fixed a hanging "}" that was left if you had a CLI and were working on a GitHub repository.
  • Fixed a typo in the template's README.

(#8)

Copier - core python repository v0.4.0 (2024-09-18)#

⚠️ Breaking Changes#

  • Changed the name of the requirements files generated by the template's pre-commit file. This clarifies that the requirements files are for locked dependencies, not necessarily the project's true dependencies. (#7)

🎉 Improvements#

  • Clarified the template's questions and text wrapping. (#7)

🐛 Bug Fixes#

    • Fix a typo in the PyPI install test script in the template's GitHub workflows. The test PyPI install CI only works after including this fix.
  • Fix up the template's RtD script to remove the unnecessary pdm install

(#7)

Copier - core python repository v0.3.0 (2024-09-15)#

🎉 Improvements#

    • Updated the template's pre-commit config to add better, clearer exports of requirements files for plain requirements, docs and then requirements including all extras.
  • The template's mkdocs.yml file now contains more intersphinx sources and uses stable rather than latest versions of sources where possible.

(#6)

🐛 Bug Fixes#

    • Fixed the template's import without extras CI (extras are now not installed).
  • Fixed the template's mypy CI (extras are now installed when running mypy).
  • Fixed the template's docs CI (towncrier is now installed when checking that the docs build with the CHANGELOG too).
  • Fixed the template's automatic API doc generation. It is now simpler and handles edge cases like sub-modules with the same name.

(#6)

Copier - core python repository v0.2.2 (2024-09-13)#

🎉 Improvements#

🐛 Bug Fixes#

    • Fixed the template's release notes files.
  • Added a placeholder for the project licence to the template's pyproject.toml.

(#5)

Copier - core python repository v0.2.1 (2024-09-13)#

🐛 Bug Fixes#

  • Fixed the tests group dependency in the template (previously it was called "test"). (#4)

Copier - core python repository v0.2.0 (2024-09-13)#

⚠️ Breaking Changes#

  • Removed the ability to include an optional 'notebook' dependencies group when using the template. Users can add their own optional groups manually (using the plot dependencies optional group as an example if they wish). For dependencies of notebooks in the docs, the dependencies should be in the docs dependencies. (#3)

🎉 Improvements#

  • Added pandas and scmdata to the list of inventories included in the template's docs config. (#3)

🐛 Bug Fixes#

    • Fixed the navigation in the template's example docs.
  • Fixed the template's installation of dependencies when running tests in CI.
  • Added pdm's stuff to the template's git ignore file.
  • Fixed the template's exporting of requirements* files as part of the pre-commit config.
  • Fixed the template's read the docs config.
  • Fixed the template's Makefile.
  • Fixed the handling of headers in notebook-based docs.

(#3)

Copier - core python repository v0.1.0 (2024-09-12)#

🆕 Features#

  • First cut of the repository. This should support getting a repository setup with mkdocs for docs and pdm for environment management. (#1)

🐛 Bug Fixes#

  • Include installation of pdm-bump in the GitLab bump CI (#2)