Overview of Changes
Here is an overview of the main changes brought by this release:
-
New release workflow
Releases are now triggered by a version bump on the master branch. The suggested method is to invoke
poetry version
and open a PR. When the PR is merged, the package is uploaded to PyPI and a GitHub Release is published. (Previously, releases were triggered by publishing a GitHub Release with a tag name matching the version set bypoetry version
.) -
Unified GitHub Action workflows
The GitHub Actions workflows have been reworked. There are now only two workflows: Tests and Release. The Tests workflow runs each Nox session in a separate job on the targeted Python version and operating system. The Docs and Coverage workflows have been merged into the Tests workflow.
-
Dedicated coverage session
Coverage is now reported in a dedicated Nox session. The session produces a single combined coverage report for all Python versions. The session is triggered by test runs, but can also be run stand-alone and accepts custom options (for example, this is used to generate an XML coverage report for Codecov in CI). The
pytest-cov
plugin has been removed.
Changes
This section lists changes affecting generated projects.
🚀 Features
- CI: Publish release when version changes on master branch (#299, #365) @cjolowicz
- Produce a single combined coverage report for all Python versions (#312, #340) @cjolowicz
- Allow coverage session to be run stand-alone (#315, #361) @cjolowicz
- Type-check noxfile.py with mypy against the Nox API (#342) @cjolowicz
- Enable runtime type-checking with Typeguard by default (#394) @cjolowicz
🔥 Removals and Deprecations
- Remove pytest-cov (#311) @cjolowicz
- CI: Remove some non-Linux and older Python checks (#303) @cjolowicz
🪲 Fixes
- Include Python 3.6 classifier in package metadata (#362) @cjolowicz
- Remove
*/site-packages
path prefix from coverage report (#314) @cjolowicz - CI: Only run the targeted Python version in each CI job (#322) @cjolowicz
- CI: Do not restore pre-commit cache in non-pre-commit jobs (#313) @cjolowicz
🔨 Refactoring
- CI: Use nox --python instead of session suffixes in Tests workflow (#343) @cjolowicz
- CI: Merge Docs workflow into Tests workflow (#304) @cjolowicz
- CI: Merge Coverage workflow into Tests workflow (#325, #328) @cjolowicz
- CI: Refactor the Tests workflow (#301) @cjolowicz
📚 Documentation
- Fix leading blank line in README and API reference (#378) @cjolowicz
📦 Dependencies
- Bump actions/cache from v1.2.0 to v2 (#393) @cjolowicz
- Bump actions/checkout from v2.1.0 to v2.1.1 (#318) @cjolowicz
- Bump actions/checkout from v2.1.1 to v2.2.0 (#388) @cjolowicz
- Bump certifi from 2020.4.5.1 to 2020.4.5.2 (#375) @cjolowicz
- Bump darglint from 1.3.0 to 1.4.1 (#386) @cjolowicz
- Bump flake8 from v3.8.1 to v3.8.3 (#385) @cjolowicz
- Bump identify from 1.4.15 to 1.4.16 (#331) @cjolowicz
- Bump identify from 1.4.16 to 1.4.19 (#357) @cjolowicz
- Bump importlib-metadata from 1.6.0 to 1.6.1 (#373) @cjolowicz
- Bump livereload from 2.6.1 to 2.6.2 (#372) @cjolowicz
- Bump more-itertools from 8.2.0 to 8.3.0 (#306) @cjolowicz
- Bump mypy from 0.770 to 0.780 (#356) @cjolowicz
- Bump nodeenv from 1.3.5 to 1.4.0 (#352) @cjolowicz
- Bump nox from 2019.11.9 to 2020.5.24 (#341) @cjolowicz
- Bump packaging from 20.3 to 20.4 (#327) @cjolowicz
- Bump pip from 20.1 to 20.1.1 (#317) @cjolowicz
- Bump poetry from 1.0.5 to 1.0.9 in /.github/workflows (#384) @cjolowicz
- Bump pre-commit from 2.4.0 to 2.5.1 (#371) @cjolowicz
- Bump pre-commit-hooks from v3.0.0 to v3.1.0 (#381) @cjolowicz
- Bump pypa/gh-action-pypi-publish from v1.1.0 to v1.2.2 (#382) @cjolowicz
- Bump pytest from 5.4.2 to 5.4.3 (#355) @cjolowicz
- Bump release-drafter/release-drafter from v5.8.0 to v5.11.0 (#390) @cjolowicz
- Bump six from 1.14.0 to 1.15.0 (#332) @cjolowicz
- Bump sphinx from 3.0.3 to 3.0.4 (#351) @cjolowicz
- Bump sphinx from 3.0.4 to 3.1.0 (#370) @cjolowicz
- Bump sphinx from 3.0.4 to 3.1.0 in /docs (#374) @cjolowicz
- Bump typeguard from 2.7.1 to 2.8.0 (#353) @cjolowicz
- Bump typeguard from 2.8.0 to 2.9.0 (#360) @cjolowicz
- Bump typeguard from 2.9.0 to 2.9.1 (#369) @cjolowicz
- Bump virtualenv from 20.0.20 to 20.0.21 (#326) @cjolowicz
- Bump wcwidth from 0.1.9 to 0.2.3 (#354) @cjolowicz
- Bump wcwidth from 0.2.3 to 0.2.4 (#368) @cjolowicz
- Pin virtualenv to 20.0.21 (#330) @cjolowicz
Changes to the Cookiecutter
This section lists changes to the Cookiecutter that don't affect generated projects.
📚 Documentation
- Add badge with development status alpha (#395) @cjolowicz
- Fix documented Python versions for pre-commit session (#321) @cjolowicz
- Fix missing underlines on some links (#307) @cjolowicz
- Update documentation for Python 3.8.3 (#376) @cjolowicz
- Add overview of GitHub Actions (#329) @cjolowicz
- Move CI status badges to the end (#308) @cjolowicz
- Release 2020.6.15 (#398) @cjolowicz
🔨 Refactoring
- CI: Simplify Jinja escapes in Tests workflow (#300) @cjolowicz
📦 Dependencies
- Bump actions/cache from v1.2.0 to v2.0.0 (#389) @cjolowicz
- Bump actions/checkout from v2.1.0 to v2.1.1 (#320) @dependabot-preview
- Bump actions/checkout from v2.1.1 to v2.2.0 (#387) @cjolowicz
- Bump nox from 2019.11.9 to 2020.5.24 (#358) @cjolowicz
- Bump pip from 20.1 to 20.1.1 in /.github/workflows (#319) @dependabot-preview
- Bump poetry from 1.0.5 to 1.0.9 (#392) @cjolowicz
- Bump pre-commit-hooks from v3.0.0 to v3.1.0 (#383) @cjolowicz
- Bump release-drafter/release-drafter from v5.8.0 to v5.11.0 (#391) @cjolowicz
- Bump sphinx from 3.0.3 to 3.0.4 in /docs (#346) @dependabot-preview
- Bump sphinx from 3.0.4 to 3.1.0 in /docs (#366) @dependabot-preview
- Pin virtualenv to 20.0.21 (#359) @cjolowicz