Skip to content

Latest commit

 

History

History
1318 lines (793 loc) · 54.8 KB

changelog.md

File metadata and controls

1318 lines (793 loc) · 54.8 KB

Changelog

Important

This version is not released yet and is under active development.

  • Add official support of Python 3.13.
  • Drop support for Python 3.9.
  • Use macos-15 instead of macos-14 to build binaries.
  • Run tests on Python 3.14-dev.
  • Use uv to publish Python packages.
  • Use uv to build Python packages.
  • Remove dependency on build package.
  • Fix coverage report upload.
  • Upload test results to coverage.
  • Rerelease to stabilize changelog updates.
  • Fix changelog indention.
  • Add changelog unittests.
  • Rerelease to fix admonition in changelog.
  • Fix changelog new entry format.
  • Fix over-escaping of [!IMPORTANT] admonition in changelog.
  • Fix content writing into output files.
  • Replace mdformat-black by mdformat-ruff.
  • Install mdformat, gha-utils, yamllint, bump-my-version, ruff, blacken-docs and autopep8 as a global tool to not interfere with the project dependencies.
  • Fix mdformat-pelican compatibility with mdformat-gfm.
  • Upgrade job runs from ubuntu-22.04 to ubuntu-24.04.
  • Mark python 3.13-dev tests as stable.
  • Fix empty entry composition.
  • Remove local workaround for Nuitka.
  • Bump gha-utils CLI.
  • Fix update of changelog without past entries.
  • Release with relaxed dependencies.
  • Add local workaround for Nuitka to fix bad packaging of license_expression package at build time.
  • Bump Nuitka and uv.
  • Drop support for Python 3.8.
  • Rely on released version of mdformat-pelican.
  • Fix invocation of installed mdformat and its plugin.
  • Do not maintain .mailmap files on Awesome repositories.
  • Bump uv and Nuitka.
  • Always use frozen uv.lock file on uv run invocation.
  • Do not print progress bars on uv calls.
  • Add a new job to keep uv.lock updated and in sync.
  • Exclude auto-updated uv.lock files from PRs produced from uv run and uv tool run invocations.
  • Fix options in gha-utils mailmap-sync calls.
  • Use latest gha-utils release in workflows.
  • Rename gha-utils mailmap command to gha-utils mailmap-sync.
  • Add new --create-if-missing/--skip-if-missing option to gha-utils mailmap-sync command.
  • Do not create .mailmap from scratch in workflows: only update existing ones.
  • Normalize, deduplicate and sort identities in .mailmap files.
  • Keep comments attached to their mapping when re-sorting .mailmap files.
  • Do not duplicate header metadata on .mailmap updates.
  • Do not update .mailmap files if no changes are detected.
  • Add new boltons dependency.
  • Bump gha-utils CLI.
  • Fix recreation of specifiers.
  • Revert to rely entirely on released gha-utils CLI for release workflow.
  • Pre-compute repository initial state before digging into commit log history.
  • Redo release as v4.1.0 has been broken.
  • Rely on old v4.0.2 standalone metadata script temporarily to fix release process.
  • Remove failing --statistics production on ruff invocation.
  • Replace in-place metadata.py, update_changelog.py and update_mailmap.py scripts by gha-utils CLI.
  • Remove pre-workflow check-mailmap job.
  • Bump Python minimal requirement to 3.8.6.
  • Fix computation of lower bound Python version support if minimal requirement is not contained to major.minor specifier.
  • Add dependency on backports.strenum for Python < 3.11.
  • Change dependency on mdformat-pelican from personal fork to unreleased upstream.
  • Remove dependency on black and mypy.
  • Remove comments in GitHub action's environment variable files.
  • Test CLI invocation.
  • Re-release to register PyPi project.
  • Package all utilities in a gha_utils CLI.
  • Remove support for Poetry-based projects. All Python projects are expected to follow standard pyproject.toml conventions.
  • Sort contributors in .mailmap files regardless of case sensitivity.
  • Force default values of workflow's inputs when triggered from other events (i.e. in non-reusable contexts).
  • Run all Python-based commands via uv run and uv tool run.
  • Replace is_poetry_project metadata by is_python_project.
  • Add new uv_requirement_params metadata output.
  • Remove dependency on poetry package.
  • Add new dependencies on build, packaging, pyproject-metadata and click-extra.
  • Read pyproject.toml without relying on Poetry.
  • Replace Myst admonition in changelog by GFM alerts.
  • Restrict removal of changelog warning admonition to {important} class on version bump.
  • Fix dependency graph generation by replacing Poetry by uv.
  • Use uv to install and run tools.
  • Fix markdown autofix.
  • Use uv to install mdformat.
  • Run Nuitka builds on Python 3.12.
  • Auto cleanup PRs produced by awesome template sync job.
  • Fix mypy run for Poetry projects.
  • Pin uv version everywhere to improve stability.
  • Fix mypy execution and dependency installation.
  • Install all extra dependencies before checking typing with mypy.
  • Requires typing dependencies to be set in a typing group in pyproject.toml.
  • Install all extra dependencies on doc generation.
  • Requires Sphinx dependencies to be set in a docs group in pyproject.toml.
  • Let pipdeptree resolve the Python executable to use in a virtual environment.
  • Do not let Nuitka assume a Python package is bundled with its unittests in a tests subfolder.
  • Reduce number of git calls to produce .mailmap. Refs #984.
  • Update dependencies.
  • Dynamically search the Python executable used by Poetry.
  • Support dependency graph generation for both package and non-package Poetry projects.
  • Provides venv's Python to pipdeptree to bypass non-detection of active venv.
  • Name is optional for non-package-mode Poetry projects.
  • Fix incompatibility between mdformat-gfm and mdformat-pelican.
  • Fix template URL in awesome-template-sync job PR body.
  • Fix variable substitution in awesome-template-sync job PR body.
  • Support GitHub admonition in Markdown linting.
  • Add new dependency on mdformat_gfm_alerts.
  • Use pre-commit hooks in awesome-template-sync job to replace URLs.
  • Source remote requirement files from uv CLI.
  • Fix awesome-template-sync job.
  • Set ignore_missing_files option globally in pyproject.toml.
  • Remove temporary hack to make uv use system Python in workflows.
  • Add some debug messages.
  • Fix updating of existing PR from awesome-template-sync.
  • Fix fetching of newly created PR in awesome-template-sync.
  • Update repository URLs in awesome-template-sync job before re committing the PR.
  • Start collecting bump-my-version rules from different projects.
  • Move all *-requirements.txt files to requirements subfolder.
  • Remove generation of Pip's --requirement parameters in metadata script.
  • Reuse requirements.txt root file to install dependencies in mypy-lint job.
  • Add emoji label to awesome template sync PR.
  • Remove labels in awesome-template-sync job while we wait for upstream fix.
  • Try to hack actions-template-sync labels, again.
  • Try to hack actions-template-sync labels.
  • Add label to awesome template sync PR.
  • Add a job to sync awesome repository project from the awesome-template repository.
  • Produce arm64 binaries with Nuitka by using macos-14 runners.
  • Start replacing pip invocations by uv.
  • Split Python dependencies into several *requirements.txt files.
  • Let metadata script generates Pip's --requirement parameters.
  • Add new dependency on wcmatch and uv.
  • Ignore all files from local .venv/ subfolder.
  • Tie Pip cache to **/pyproject.toml and **/*requirements.txt files.
  • Lint and format Jupyter notebooks with ruff.
  • Update default ruff config file to new 0.2.x series.
  • Remove installation of unused bump-my-version in Git tagging job.
  • Document setup and rationale of custom PAT and *requirements.txt files.
  • Remove temporary pyproject.toml dummy file after ruff invocation not to let it fail due to missing reference.
  • Generate dummy pyproject.toml instead of requirements.txt everywhere to bypass setup-python cache limits for non-Python repositories. Remove the temporary pyproject.toml dummy after the fact.
  • Generate a dummy pyproject.toml instead of requirements.txt to make our ruff local conf work.
  • Fix Python job on non-Python repositories.
  • Fix absence of version in non-Python repositories.
  • Add workaround to allow caching on non-Python repositories.
  • Remove hard-coded commit version for mdformat-gfm.
  • Replace unmaintained misspell-fixer by typos to autofix typos. Closes #650.
  • Add a content-based labeller job for issues and PRs.
  • Use macos-13 instead of macos-12 for Nuitka builds.
  • Use bump-my-version to remove admonition in changelog.
  • Expose current and released version in metadata script.
  • Fix fetching of changelog entry for release notes.
  • Add latest changelog entries in GitHub release notes.
  • Produce GitHub release notes dynamically.
  • Augment all commits matrix with current version from bump-my-version.
  • Use new artifact features and scripts.
  • Update default file-based labelling rules for new configuration format.
  • Run autopep8 before ruff.
  • Use ruff instead of docformatter to format docstrings inside Python files.
  • Remove dependency on docformatter.
  • Only run ruff once for autofix and linting. Removes lint-python job.
  • Auto-generate local configuration for ruff instead of passing parameters.
  • Split generation of Python target version from CLI parameters.
  • Rename black_params metadata variable to blacken_docs_params.
  • Remove ruff_params metadata variable.
  • Do not cache dependency-less mailmap update workflow step.
  • Cache Python setups.
  • Run Nuitka builds on Python 3.11 while we wait for 3.12 support upstream.
  • Remove hard-coded permissions for release action.
  • Increase scope of hard-coded permissions for release action.
  • Use custom token for GitHub release creation.
  • Increase token permissions to full write.
  • Test release action.
  • Increase scope of hard-coded token contents permission.
  • Hard-code token contents permission for creation of GitHub release.
  • Upgrade to bump-my-version 0.12.x series.
  • Upgrade to Poetry 1.7.x series.
  • Activates ruff preview and unsafe rules.
  • Run actions on Python 3.12.
  • Replace black with ruff's autoformatter.
  • Rely even more on bump-my-version for string replacement.
  • Upgrade to bump-my-version 0.10.x series.
  • Remove the step updating the release date of citation.cff in changelog job. This can be done with bump-my-version now.
  • Trigger changelog updates on requirements.txt changes.
  • Upgrade to bump-my-version 0.8.0.
  • Replace some Perl oneliners with bump-my-version invocation.
  • Fix retrieval of tagged version in release workflow.
  • Use bump-my-version v0.6.0 to fetch current version.
  • Use patched version of mdformat-web to fix formatting of HTML code in code blocks.
  • Reactive maximum concurrency in lychee, but ignore checks on twitter.com and ycombinator.com.
  • Limit lychee max concurrency and sacrifice performances, to prevent false positives.
  • Do not triggers docs workflow on tagging. There is not enough metadata on these events to complete the workflow.
  • Skip broken links check on release merge: the tag is created asynchronously which produce false positive reports.
  • Fix parsing of lychee exit code.
  • Check and report links with lychee. Closes #563.
  • Use mdformat_simple_breaks plugin to format long <hr> rules.
  • Format bash code blocks in Markdown via mdformat-shfmt.
  • Install shfmt before calling mdformat.
  • Add dependencies on mdformat_deflist and mdformat_pelican.
  • Replace long ____(....)____ <hr> rule produced by mdformat with canonical --- form. Refs executablebooks/mdformat#328.
  • Apply Markdown fixes for awesome lists to localized versions.
  • Replace bump2version with bump-my-version. Closes #162.
  • Move version bumping configuration from .bumpversion.cfg to pyproject.toml.
  • Cap mdformat_admon == 1.0.1 to prevent mdit-py-plugins >= 0.4.0 conflict.
  • Upgrade Nuitka builds to Python 3.11.
  • Remove --no-ansi option on Poetry calls.
  • Force colorized output of Mypy, as in CI it defaults to no color.
  • Only activates all ruff rules for autofix, not linting.
  • Ignore D400 rule in ruff to allow for docstrings first line finishing with a punctuation other than a period.
  • Fix hard-coding of tagged external asset's URLs on release and version bump.
  • Forces ruff to check and autofix against all rules.
  • Reverts publishing via trusted channel: it doesn't work with reusable workflows. See #528.
  • Publish packages to PyPi with OIDC workflow for trusted publishing.
  • Update docformatter, ruff and nuitka.
  • Use docformatter 1.6.2.
  • Use docformatter 1.6.1.
  • Various dependency updates.
  • Use final version of docformatter 1.6.0.
  • Update default destination folder of dependency graph from images to assets.
  • Skip running autopep8 if no Python files found.
  • Only install main dependencies to generate dependency graph.
  • Try out docformatter 1.6.0-rc7.
  • Try out docformatter 1.6.0-rc6.
  • Tweak extra content layout.
  • Add new gitignore-extra-content parameter to update-gitignore job to append extra content to .gitignore.
  • Fix Mermaid graph rendering colliding with reserved words.
  • Add certificates, gpg and ssh artefacts to the list of default files in .gitignore.
  • Fix production of dependency graph in Mermaid format.
  • Lint Github actions workflows with actionlint.
  • Renders dependency graph in Mermaid Markdown instead of Graphviz's dot.
  • Removes dependency-graph-format input variable to docs.yaml workflow.
  • Test unreleased docformatter 1.6.0-rc5 to fix link wrapping.
  • Create missing parent folders of dependency graph.
  • Fix subtle bug in .gitignore production due to collapsing multiline command block starting with > because of variable interpolation.
  • Tweak PR titles.
  • Test unreleased docformatter 1.6.0-rc4 to fix admonition wrapping.
  • Replace isort, pyupgrade, pylint, pycln and pydocstyle with ruff.
  • Run autopep8 before black to that longline edge-cases get wrapped first.
  • Provides autopep8 with explicit list of Python files to force it to handle dot-prefixed subdirectories.
  • Test-drive unreleased docformatter 1.6.0-rc3 to fix URL wrapping and admonition edge-cases.
  • Fix collection of artifact files from their folder.
  • Update artifact name to add -poetry- suffix for those to be published on PyPi.
  • Fix collection of artifact files from their folder.
  • Fix attachment of artifacts to GitHub release on tagging.
  • Remove broken print debug statement.
  • Fix attachment of artifacts to GitHub release on tagging.
  • Add new dependency on mdformat_footnote to properly wrap long footnotes when autofixing Markdown.
  • Add new dependency on mdformat_admon to future-proof upcoming admonition support.
  • Add new dependency on mdformat_pyproject so that each project reusing the autofix.yaml workflow can setup local configuration for mdformat via its pyproject.toml file.
  • Do not try to attach non-existing artifacts to GitHub release.
  • Fix attachment of artifacts to GitHub release.
  • Rename artifacts attached to each GitHub release to remove the build ID (i.e. the -build-6f27db4 suffix). That way we can have stable download URLs pointing to the latest release in the form of: https:/<user_id>/<project_id>/releases/latest/download/<entry_point>-<platform>-<arch>.{bin,exe}.
  • Normalize binary file names produced by Nuitka with - (dash) separators.
  • Remove Pip cache, which breaks with our reusable workflows architecture.
  • Cache dependencies installed by Pip.
  • Bump Nuitka to 1.4.1.
  • Export full Nuitka build matrix from release workflow.
  • Reuse and align commit metadata.
  • Fix module path provided to Nuitka.
  • Pre-compute the whole Nuitka build matrix.
  • Pre-compute matrix variations with long and short SHA values in commit lists.
  • Change the order of Python auto-formatting pipeline to pycln > isort > black > blacken-docs > autopep8 > docformatter.
  • Target unreleased docformatter 1.6.0-rc2 to fix admonition formatting.
  • Ignore failing of docformatter as 1.6.x series returns non-zero exit code if files needs to be reformatted.
  • Reverts to skipping the full 1.5.x series and 1.6.0rc1 of docformatter which struggle on long URLs and admonitions.
  • Empty release.
  • Target unreleased docformatter 1.6.0.rc1 to fix long URL rewrapping. Closes #397.
  • Remove thoroughly all unused imports.
  • Update dependencies.
  • Force refresh of apt before installing anything.
  • Force refresh of apt before installing graphviz.
  • Format python code blocks in documentation files with blacken-docs.
  • Let metadata script locate Markdown, reStructuredText and Tex files under the doc_files field.
  • Add new dependency on blacken-docs.
  • Allow metadata script to be run on non-GitHub environment.
  • Re-parse dependency graph to stabilize its output, customize its style and make it deterministic.
  • Unpin dependency on yamllint and depends on latest version.
  • Fix default dependency graph extension.
  • Fix inplace customization of dependency graph.
  • Change the default dependency graph format from PNG to dot file.
  • Add a dependency-graph-format parameter to the documentation workflow.
  • Customize the style of dependency graph when Graphviz code is produced.
  • Install Graphviz when we produce the documentation so we can use sphinx.ext.graphviz plugin.
  • Add list of projects relying on these scripts.
  • Fix fetching of commit matrix.
  • Rewrite new and release commit detection code from YAML to Python.
  • Add dependency on PyDriller.
  • Trigger debug traces on pull_request events.
  • Fix export of binary name from build workflow.
  • Export binary name from build workflow.
  • Fix skipping of Nuitka compiling step for projects without entry points.
  • Skip the whole 1.5.x series of docformatter which struggles with long URLs.
  • Fix fetching of absent entry points in project metadata.
  • Fix uploading of artifacts to GitHub release on tagging.
  • Use short SHA commit in build artifacts.
  • Fix uploading of Nuitka binaries to GitHub release on tagging.
  • Add Nuitka-based compiling of Poetry's script entry-points into standalone binaries for Linux, macOS and Windows.
  • Upload binaries to GitHub releases on tagging.
  • Extract Poetry script entry-points in Python metadata script.
  • Produce Nuitka-specific main module path from script entry-points.
  • Allow rendering of data structure in JSON for inter-job outputs.
  • Print Python metadata output before writing to env for debugging.
  • Add dependency on nuitka, ordered-set and zstandard.
  • Run all Python-based workflows on 3.11.
  • Fix production of multine commit list in build and release workflow.
  • Fix tagging.
  • Remove use of deprecated ::set-output directives and replace them by environment files.
  • Install project with Poetry before generating a dependency graph.
  • Update all dependencies.
  • Allow the use of project's own Mypy in Poetry virtual environment to benefits from typeshed dependencies.
  • Do not let sphinx-apidoc CLI produce ToC file.
  • Print raw pipdeptree output for debug.
  • Fix installation of graphviz dependency in Poetry venv.
  • Run pipdeptree in Poetry venv to produce dependency graph.
  • Fix workflow continuation on successful pyupgrade run.
  • Fix quoting of CLI parameters fed to black.
  • Fix version setup in Python metadata script.
  • Upgrade to poetry 1.2.0.
  • Allow dependency graph to be continuously updated. Closes #176.
  • In Python project metadata fetcher, double-quote file list's items to allow use of path with spaces in workflows.
  • Ignore broken symlinks pointing to non-existing files in Python metadata fetcher.
  • Fix default pyupgrade option produced by new Poetry.
  • Use stable release of calibreapp/image-actions.
  • Fix mypy parameters passing.
  • Upgrade job runs from ubuntu-20.04 to ubuntu-22.04.
  • Fix mypy parameters passing.
  • Skip Python-specific jobs early if no Python files found in repository.
  • Allow execution of pyupgrade on non-Poetry-based projects.
  • Default pyupgrade parameter to --py3-plus.
  • Use auto-generated parameter for mypy's minimal Python version.
  • Merge all Poetry and Sphinx metadata fetching into a Python script, as we cannot have reusable workflows use reusable workflows. Closes #160.
  • Add direct dependency on poetry.
  • Remove upper limit of pyupgrade automatic --py3XX-plus option generation.
  • Allow gitleaks to use GitHub token to scan PRs.
  • Keep the release date of citation.cff up-to-date in changelog job.
  • Check for typing. Add dependency on mypy.
  • Revert workflow concurrency logic.
  • Auto-remove unused imports in Python code. Add dependency on pycln.
  • Freeze Python version used to run all code to the 3.10 series.
  • Group workflow jobs so new commits cancels in-progress execution triggered by previous commits.
  • Reduce minimal Pylint success score to 7.0/10.
  • Fix admonition rendering in changelog template.
  • Use autopep8 to wrap Python comments at 88 characters length.
  • Bump actions/checkout action to fix run in containers jobs.
  • Auto-format docstrings in Python files. Add dependency on docformatter.
  • Auto-format JS, CSS, HTML and XML code blocks in Markdown files. Add dependency on mdformat-web.
  • Lint Python docstrings. Add dependency on pydocstyle.
  • Use isort profile to aligns with black. Removes .isort.cfg.
  • Tweak 🙏 help wanted label description.
  • Fix Sphinx auto-detection by relying on static syntax analyzer instead of trying to import the executable configuration.
  • Detect Sphinx's autodoc extension to create a PR updating documentation.
  • Auto deploy Sphinx documentation on GitHub pages if detected.
  • Update ℹ️ help wanted label to 🙏 help wanted.
  • Triggers docs workflow on tagging to fix dependency graph generation.
  • Allows release workflow to be re-launched on tagging error.
  • Dynamically add ⚖️ curation, 🆕 new link and 🩹 fix link labels on awesome list projects.
  • Remove the title of the section containing the TOC in awesome lists to fix the linter.
  • Lint awesome list repositories.
  • Update 👷 CI/CD label to 🤖 ci.
  • Update 📗 documentation label to 📚 documentation.
  • Update 🔄 duplicate label to 🧑‍🤝‍🧑 duplicate.
  • Update 🆕 feature request label to 🎁 feature request.
  • Update ❓ question label to ❔ question.
  • Let Pylint discover Python files and modules to lint.
  • Do not generate a .gitignore or .mailmap if none exist. Only update it.
  • Do not run the daily prepare-release job to reduce the number of notifications. Add instructions on PR on how to refresh it.
  • Auto-update TOC in Markdown. Add dependency on mdformat-toc.
  • Remove forbidden TOC entries in Markdown for awesome lists.
  • Remove wrapping of Markdown files to 79 characters.
  • Use the tomllib from the standard library starting with Python 3.11.
  • Fix search of Python files in lint-python workflow.
  • Add Zsh script linter.
  • Search for leaked tokens and credentials in code.
  • Add new 💣 security label.
  • Adjust 🐛 bug label color.
  • Add new gitignore-location and gitignore-extra-categories parameters to update-gitignore workflow.
  • Fix usage of default values of reused workflows which are called naked. In which case they're not fed with the default from input's definition.
  • Reactivate sponsor auto-tagging workflow now that it has been fixed upstream.
  • Update dependencies.
  • Replace hard-coded PyPi package link in GitHub release text with dynamic value from Poetry configuration.
  • Allow the location of the dependency graph image to be set with the dependency-graph-output parameter for reused workflow.
  • Fix generation of pyupgrade Python version parameter.
  • Fix installation of tomli dependency for dependency graph generation.
  • Fix installation of Poetry in Python modernization workflow.
  • Add new workflow proposing PRs to modernize Python code for Poetry-based projects.
  • Add new workflow to produce dependency graph of Poetry-based project.
  • Auto-detect minimal Python version targeted by Poetry projects.
  • Add dependency on pipdeptree, pyupgrade and tomli.
  • Fix fetching of new commits in PRs.
  • Fix upload of build artifacts in GitHub release.
  • Fix use of token for Git tagging.
  • Generate list of all new and release commits in the first job of the release workflow.
  • Fix regex matching the release commit.
  • Refactor release workflow to rely on a new matrix-based multi-commit detection strategy.
  • Trigger tagging by monitoring main branch commit messages instead of prepare-release PR merge event.
  • Upload build artifacts for each commit.
  • Fix addition of PyPi link in GitHub release content.
  • Secret token need to be passed explicitly in reused workflow for PyPi publishing.
  • Add version in the name of built artifacts.
  • Fix detection of Poetry-based projects.
  • Remove temporary debug steps.
  • Do not trigger debugging and linters on pull_request: it duplicates the push event.
  • Skip file-based labeller workflow for dependabot triggered PRs.
  • Use PAT token to auto-tag releases.
  • Use actions/checkout to fetch last 10 commits of PR during release tagging.
  • Use commit message to identify release commit.
  • Hard-code fetching of main branch on tagging to identify the release commit.
  • Attach the release commit to the GitHub release.
  • Checkout tag within job to create a new GitHub release instead of relying on previous job's SHA identification. The latter being different right after it has been merged in main.
  • Fix variable name used to attach the tagged commit to new GitHub release.
  • Force attachment of new GitHub release to the tagged commit.
  • Trigger changelog workflow on any other workflow change to make sure hard-coded versions in URLs are kept in sync.
  • Resort to explicit fetching of past commits to identify the first one of the prepare-release PR on tagging.
  • Use base_ref variable instead of hard-coding main branch in release workflow.
  • Force fetching of past 10 commits to identify prepare-release PR's first commit.
  • Do not fetch the final merge commit silently produced by actions/checkout for PRs. Get HEAD instead.
  • Fix local prepare-release branch name to search for first commit of PR.
  • Use git log to identify the first commit SHA of the prepare-release PR.
  • Merge the post-release version bump job into prepare-release branch creation workflow, the result being a 2 commits PR.
  • Allow for empty release notes during the generation of a new changelog entry.
  • Force push and create events to match on tags in release workflow.
  • Do not try to fetch build artifacts if the publishing step has been skipped.
  • Do not trigger debug workflow on pull_request events.
  • Always execute the last github-release job in the release workflow, even if the project is not Poetry-based.
  • Catch create events so tagging triggers a post-release version bump job.
  • Untie git-tag and post-release-version-bump events. Trigger the later on Git tagging.
  • Move the detection logic of the prepare-release PR merge event to a dedicated job.
  • Fix detection of prepare-release PR merge event.
  • Detect Poetry-based project, then auto-build and publish packages on PyPi on release.
  • Always test builds on each commit.
  • Add build artifacts to GitHub releases.
  • Skip labelling on prepare-release branch.
  • Skip version increment updates on release commits.
  • Tighten up changelog job's trigger conditions.
  • Fix generation of file-based labelling rules.
  • Fix extension of default labelling rules.
  • Add a reusable workflow to automatically label issues and PRs depending on changed files.
  • Allow extra labelling rules to be specified via custom input.
  • Let sponsor labelling workflow to be reused.
  • Replace custom version of julb/action-manage-label by upstream.
  • Checkout repository before syncing labels so local extra definitions can be used.
  • Fix download of remote file in label workflow.
  • Use my own fork of julb/action-manage-label while we wait for upstream fix.
  • Rename label workflow's label-files input variable to extra-label-files.
  • Disable sponsor auto-tagging while we wait for upstream fix.
  • Add a reusable workflow to maintain GitHub labels.
  • Add a set of default emoji-based labels.
  • Add dedicated changelog, sponsor and dependencies labels.
  • Update CI/CD label icon.
  • Auto-tag issues and PRs opened by sponsors.
  • Allow for sourcing of additional labels when reusing workflow.
  • Use more recent calibreapp/image-actions action.
  • Remove unused custom variable for reusable GitHub release job.
  • Fix use of GitHub token for workflow auto-updates on release.
  • Allow typo autofix job to propose changes in workflow files.
  • Let GitHub release produced on tagging to be customized with user's content and uploaded files.
  • Expose tagged version from reusable release workflow.
  • Fix use of the right token for reused changelog and release workflows.
  • Restrict comparison URL steps to source workflow.
  • Do not rely on bumpversion for comparison URL update on release tagging.
  • Only match first occurrence of triple-backticks delimited block text in changelog.md in prepare-release job. Also matches empty line within the block.
  • Make GitHub changelog URL update more forgiving.
  • Skip steps in workflows which are specific to the source repository.
  • Aligns all PR content.
  • Allow changelog and release workflows to be reusable.
  • Factorize version increment jobs.
  • Provide tag version for GitHub release creation.
  • Chain post-release-version-bump job with automatic git tagging.
  • Auto-commit post-release-version-bump results.
  • Create a GitHub release on tagging.
  • Bump YAML linting max line length to 120.
  • Auto-tag release after the prepare-release PR is merged back into main.
  • Refresh every day the date in prepare-release job.
  • Skip linting on prepare-release job as it does not points to tagged URLs yet.
  • Reduce changelog PRs refresh rate based on changed files.
  • Rely on create-pull-request action default to set authorship.
  • Fix autofix workflow reusability.
  • Hard-code tagged version for executed Python script.
  • Activate debugging workflow on all branches and PRs.
  • Allows debug workflow to be reused.
  • Add a reusable workflow to fix typos.
  • Add a reusable workflow to optimize images.
  • Add a reusable workflow to auto-format Python files with isort and Black.
  • Add a reusable workflow to auto-format Markdown files with mdformat.
  • Add a reusable workflow to auto-format JSON files with jsonlint.
  • Add a reusable workflow to auto-update .gitignore file.
  • Add a reusable workflow to auto-update .mailmap file.
  • Force retargeting of workflow dependencies to main branch on post-release version bump.
  • Add autolock reusable workflow for closed issues and PRs.
  • Automate changelog and version management.
  • Add workflow to create ready-to-use PRs to prepare a release, post-release version bump and minor & major version increments.
  • Add a debug workflow to print action context and environment variables.
  • Set Pylint failure threshold at 80%.
  • Install project with Poetry before calling Pylint if pyproject.toml presence is detected.
  • Hard-code tagged version in requirement URL for reusable workflows.
  • Document the release process.
  • Initial public release.