Skip to content

Releases: cjolowicz/cookiecutter-hypermodern-python

2020.11.15

15 Nov 14:49
1f9dd1d
Compare
Choose a tag to compare

Overview of Changes

This section highlights the main changes brought by this release.

  • Manage GitHub labels using a YAML configuration file (thanks @oncleben31)

    GitHub labels can now be managed using the .github/labels.yml configuration file, using the GitHub Labeler action. Labels are used, among other things, to categorize pull requests for the release notes. Thanks to the new Labeler workflow, it is no longer necessary to create GitHub labels manually after generating a project.

  • Support packages whose name does not match the project name (thanks @oncleben31)

    By default, Poetry only includes packages if their name matches the configured project name. If a custom package_name is specified on project generation, the package must be listed explicitly in the pyproject.toml file. This is now done automatically on project generation.

  • Use standalone build backend for PEP 517 builds (thanks @paw-lu)

    Generated projects now use the new standalone build backend introduced by Poetry 1.1. This greatly speeds up PEP 517 isolated builds, because they no longer need to install the full Poetry CLI to build the package.

Read on for a complete list of changes.

Changes

This section lists changes affecting generated projects.

🚀 Features

  • Add GitHub Labeler Action to manage project labels automatically (#634) @oncleben31
  • Support packages whose name does not match the project name (#631) @oncleben31
  • Change to standalone build backend (PEP-517) (#638) @paw-lu

🪲 Fixes

  • Update prettier hook to new pre-commit repo (#639) @paw-lu

📦 Dependencies

Changes to the Cookiecutter

This section lists changes to the Cookiecutter that don't affect generated projects.

🪲 Fixes

  • Update prettier hook to new pre-commit repo (#639) @paw-lu

📚 Documentation

📦 Dependencies

2020.10.15

15 Oct 19:09
c71bf3b
Compare
Choose a tag to compare

Overview of Changes

This section highlights the main changes brought by this release.

  • Generate command-line documentation with sphinx-click (thanks @staticdev)

    There is a new Usage page in the Sphinx documentation of generated projects, describing commands, options, and arguments accepted by the command-line interface. This command-line reference is generated using the sphinx-click extension.

  • Combine coverage data on GitHub Actions (thanks @oncleben31)

    The Tests workflow on GitHub Actions now has a separate coverage job, which combines the coverage data from test runs on different Python versions and operating systems. Previously, the Tests workflow failed if an individual test run did not reach 100% coverage.

  • Integrate Nox and Poetry using nox-poetry

    Nox sessions now use nox-poetry to provide transparent integration with Poetry. Session can be defined in a standard, straightforward way, but use Poetry behind the scenes to build the package and pin dependencies. This removes much boilerplate from noxfile.py.

  • Support for Python 3.9

    The new major release of the Python programming language is now supported. All checks run on Python 3.9 as well as older supported versions of Python. The default Python version for Nox sessions was bumped from 3.8 to 3.9.

  • Support for Poetry 1.1

    The pyproject.toml and poetry.lock files were migrated to Poetry 1.1.
    💥 BREAKING CHANGE 💥 Poetry >= 1.1.0 is now required for development.

Some other important changes:

  • Allow generated projects to use main as the default repository branch.
  • Enable code highlighting in pytest tracebacks.
  • Include xdoctest in the default checks.

Read on for a complete list of changes.

Changes

This section lists changes affecting generated projects.

🚀 Features

🪲 Fixes

📦 Dependencies

Changes to the Cookiecutter

This section lists changes to the Cookiecutter that don't affect generated projects.

🚀 Features

📚 Documentation

📦 Dependencies

2020.9.15

15 Sep 04:43
0c75c96
Compare
Choose a tag to compare

Overview of Changes

This is a maintenance release.

Changes

This section lists changes affecting generated projects.

🪲 Fixes

  • Ignore flake8-rst-docstrings warnings for multi-line parameter descriptions (#534) @cjolowicz

📦 Dependencies

Changes to the Cookiecutter

This section lists changes to the Cookiecutter that don't affect generated projects.

📚 Documentation

📦 Dependencies

  • Bump actions/cache from v2.1.0 to v2.1.1 (#516) @dependabot
  • Bump nox from 2020.5.24 to 2020.8.22 in /.github/workflows (#517) @dependabot
  • Bump pip from 20.2.2 to 20.2.3 in /.github/workflows (#523) @dependabot
  • Bump pre-commit-hooks from 3.1.0 to 3.2.0 in .pre-commit-config.yaml (#539) @cjolowicz
  • Bump prettier from 2.0.5 to 2.1.1 in .pre-commit-config.yaml (#538) @cjolowicz
  • Bump sphinx from 3.2.0 to 3.2.1 in /docs (#513) @dependabot
  • Bump sphinx-autobuild from 0.7.1 to 2020.9.1 in /docs (#521) @dependabot
  • Bump virtualenv from 20.0.30 to 20.0.31 in /.github/workflows (#514) @dependabot

2020.8.15

14 Aug 22:14
30b1fc3
Compare
Choose a tag to compare

Overview of Changes

Here is an overview of the main changes brought by this release:

  • Build the documentation when running checks locally (thanks @staticdev)

    The new docs-build Nox session checks that the documentation can be built with sphinx-build. It is run by default during local testing and in CI. The docs session was changed to always invoke sphinx-autobuild, regardless of whether Nox is run interactively or not.

  • Cache exported requirements in Nox sessions

    Nox sessions keep a hash for Poetry's lock file and only export requirements when the hash changes. The requirements files are stored in a per-session temporary directory.

  • Support prereleases of the main package in Nox sessions

    A bug was fixed which prevented the wheel for the package from being installed into a Nox environment if the package version was not a final release.

Changes

This section lists changes affecting generated projects.

🚀 Features

🪲 Fixes

  • Fix package installation in Nox sessions with non-final release versions (#487) @cjolowicz

📚 Documentation

  • Remove obsolete Nox session for Black from Contributor Guide (#489) @oncleben31
  • Fix reversal of "kebab case" and "snake case" in User Guide (#475) @cjolowicz

🔨 Refactoring

📦 Dependencies

Changes to the Cookiecutter

This section lists changes to the Cookiecutter that don't affect generated projects.

📚 Documentation

📦 Dependencies

2020.7.15

15 Jul 14:28
a09b326
Compare
Choose a tag to compare

Overview of Changes

Here is an overview of the main changes brought by this release:

  • Track pre-commit hooks as Poetry dependencies

    Python-language pre-commit hooks are now managed as development dependencies in Poetry. Their dependencies are installed into the Nox session for pre-commit, making Nox the single entry point for all checks again. Python-language hooks receive automatic upgrades from Dependabot.

  • Upgrade to GitHub Dependabot (thanks @staticdev)

    Dependabot was migrated from dependabot-preview to native GitHub Dependabot. While GitHub Dependabot has a much smoother experience, there are still a few gotchas:

    • When migrating an existing project from dependabot-preview, make sure to opt in to Dependabot security updates. You can do so at Security > Dependabot alerts > Dependabot security updates.
    • When importing a generated project for the first time, Dependabot should start working automatically. You can check its status at Insights > Dependency graph > Dependabot (Beta). Please see #445 and the upstream issue dependabot/dependabot-core#2306, should Dependabot show up as "not configured".

Changes

This section lists changes affecting generated projects.

🚀 Features

📚 Documentation

📦 Dependencies

Changes to the Cookiecutter

This section lists changes to the Cookiecutter that don't affect generated projects.

🚀 Features

📚 Documentation

📦 Dependencies

2020.6.15

15 Jun 04:32
6b7c5bd
Compare
Choose a tag to compare

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 by poetry 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

🔥 Removals and Deprecations

🪲 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

📚 Documentation

  • Fix leading blank line in README and API reference (#378) @cjolowicz

📦 Dependencies

Changes to the Cookiecutter

This section lists changes to the Cookiecutter that don't affect generated projects.

📚 Documentation

🔨 Refactoring

📦 Dependencies

2020.5.15

15 May 21:32
c40ec8b
Compare
Choose a tag to compare

Changes

🚀 Features

🔥 Removals and Deprecations

🪲 Fixes

👷 Continuous Integration

💄 Style

📚 Documentation

📦 Dependencies

Changes to the Cookiecutter

🚀 Features

🔥 Removals and Deprecations

👷 Continuous Integration

💄 Style

  • Enable end-of-line normalization with Git attributes (#166) @cjolowicz

📚 Documentation

📦 Dependencies

2020.4.15.1

15 Apr 06:27
07fd4df
Compare
Choose a tag to compare

Changes

🪲 Fixes

  • Fix Codecov uploads when target percentage is not reached (#103) @cjolowicz

📚 Documentation

2020.4.15

15 Apr 03:40
7a6552d
Compare
Choose a tag to compare

Changes

🚀 Features

👷 Continuous Integration

📚 Documentation

📦 Build System

2020.3.27

27 Mar 21:43
9754ff6
Compare
Choose a tag to compare

Changes

🚀 Features

  • Add flake8-rst-docstrings to linting rules (#70) @pscosta5
  • Add Prettier pre-commit hook (#52) @pscosta5
  • Support Python 3.6 (#29) @cjolowicz
  • Support running with python -m <package> (#27) @cjolowicz
  • Install package as wheel inside Nox sessions (#23) @cjolowicz
  • Initial implementation (#1) @cjolowicz

🚨 Testing

👷 Continuous Integration

📚 Documentation

💄 Style

📦 Build System