Skip to content

Latest commit

 

History

History
881 lines (584 loc) · 36.6 KB

CHANGELOG.rst

File metadata and controls

881 lines (584 loc) · 36.6 KB

antsibull -- Ansible Build Scripts Release Notes

Topics

Bugfix release.

Feature release for improving the automatic release workflow.

  • The release role now has a antsibull_build_reset option, which defaults to the value of antsibull_data_reset, that allows to control whether .build files are reset during alpha and beta-1 releases (ansible-community#601).

Feature release for improving the automatic release workflow.

  • Add option --preserve-deps to the prepare subcommand that allows to preserve the dependencies if a .deps file for that version already exists. The versions from that .deps file are validated against the build requirements and constraints, and the remainder of the release preparation process remains unchanged. The release role allows to pass this flag when antsibull_preserve_deps=true (ansible-community#599).
  • Allow the release role to skip the prepare step by setting antsibull_skip_prepare=true if the .deps file already exists (ansible-community#598).
  • The prepare subcommand will no longer overwrite an existing release summary in the changelog.yaml file (ansible-community#597).
  • Use feature freeze for all betas from b2 on, and all release candidates in the release role (ansible-community#598).
  • The release role no longer automatically skips the prepare step when the .deps file already exists. If you need this behavior, set antsibull_skip_prepare=true (ansible-community#598).

Bugfix release.

  • The PyPI API model used during the release announcement generation has been updated to accept null for keywords, maintainer, and maintainer_email (ansible-community#594).

Maintenance and bugfix release.

Bugfix and feature release

  • Add a sanity-tests subcommand to run sanity tests accross the collection tree created by verify-upstreams and display the results (ansible-community#556).
  • Add a verify-upstreams subcommand to ensure that files in a collections' Galaxy collection artifact match its upstream repository (ansible-community#556).
  • Add new antsibull-build announcements command to generate release announcement text (ansible-community#573).
  • Add new antsibull-build send-announcements command to interactively send release announcements. Make sure to install pyperclip with pip install antsibull[clipboard] to fully take advantage of its functionality (ansible-community#573).
  • Add support for the latest antsibull-core v3 pre-release, 3.0.0a1 (ansible-community#586).
  • Adjust the pip install antsibull call in the build-ansible.sh script added to the ansible source distribution to use the version of antsibull used to build the ansible release (ansible-community#563).
  • Change the license from GPL-3.0-or-later to GPL-3.0-or-later AND Python-2.0.1. Antsibull now contains a small amount of code derived from CPython (ansible-community#556).
  • Explicitly set up Galaxy context instead of relying on deprecated functionality from antsibull-core (ansible-community#570).
  • The Ansible changelog is now generated both in MarkDown and ReStructuredText (ansible-community#576).
  • The dependency on antsibull-changelog has been bumped to 0.24.0 or later (ansible-community#576).
  • ansible package README - add a link to the ansible-build-data issue tracker (ansible-community#554).
  • Use certain fields from library context instead of app context that are deprecated in the app context and are removed from antsibull-core 3.0.0 (ansible-community#569).

Hottfix for the ansible 9.0.1 release to fix setup.cfg metadata

  • Use the correct directive in setup.cfg for Ansible 9+ for requiring a Python version, i.e. use python_requires instead of requires_python (ansible-community#559).

Feature release for the upcoming Ansible 9.0.0rc1 release.

  • Fix regression in validate-tags subcommand argument validation that caused a traceback (ansible-community#51).

Feature release for the upcoming Ansible 9.0.0a1 release.

  • Support a constraints file that allows to fix dependencies for the new-ansible and prepare subcommands (ansible-community#546).

This bugfix release fixes the retrieval of ansible-core Porting Guides.

  • Retrieve the ansible-core Porting Guide from the ansible-documentation repo. These files are being removed from the ansible-core repo (ansible-community#540).

This release adds a couple new features and drops support for older ansible versions.

  • Antsibull now no longer depends directly on sh (ansible-community#514).
  • Antsibull now uses sys.executable instead of the first 'python' in $PATH to call the PyPA build tool (ansible-community#514).
  • Make dep_closure errors clearer by including the offending collection's version in the message (ansible-community#531).
  • Move setuptools configuration into the declarative setup.cfg format for Ansible 9 and above. ansible sdists will still contain a setup.py file, but we recommend that users move to tools like pip and build and the PEP 517 interface instead of setuptools' deprecated setup.py interface (ansible-community#530).
  • Now depends antsibull-core 2.0.0 or newer; antsibull-core 1.x.y is no longer supported (ansible-community#514).
  • release playbook - run antsibull-build validate-tags-file to ensure that collections follow the Release Management section of the Collection Requirements (ansible-community#518).

Hotfix release to fix compatibility with older setuptools versions

  • For setup.py generated for Ansible 8+, do not use recursive globs (**) as these are only supported since setuptools 62.3.0 (ansible-community#520).

Maintenance release.

  • Remove now broken self-test from release role (ansible-community#512).
  • Remove the parameters antsibull_ansible_git_repo, antsibull_ansible_git_version, and antsibull_ansible_git_dir from release role (ansible-community#512).
  • Support for building ansible major versions less than 6 is deprecated and will be removed in an upcoming release (ansible-community#515).

Release with new features, other improvements, a new build system, and a deprecation

  • Change pyproject build backend from poetry-core to hatchling. pip install antsibull works exactly the same as before, but some users may be affected depending on how they build/install the project (ansible-community#490).
  • Add a -I / --ignore and a --ignores-file flag to the antsibull-build validate-tags and antsibull-build validate-tags-file subcommands to ignore errors for certain collections (ansible-community#491).
  • Make compatible with deprecations issued by newer setuptools releases (ansible-community#433, ansible-community#502).
  • Use the pypa build tool to build wheels and source distributions for ansible in an isolated environment. This replaces direct calls to python setup.py bdist_wheel and python setup.py sdist which are deprecated (ansible-community#492).
  • The multiple and collection subcommands are deprecated and will be removed soon. They were never used to our knowledge except in the exploratory phase before the first Ansible 2.10 releases, have no test coverage, and might not even work at all. If you are actively using them and are interested in keeping them, please create an issue in the antsibull repository as soon as possible (ansible-community#505).

New release with features, bugfixes, and breaking changes.

  • Removed the antsibull-lint command line utility. It had no functionality anymore for some time now (ansible-community#466).
  • Explicitly declare the sh dependency and limit it to before 2.0.0. Also explicitly declare the dependencies on packaging, semantic_version, aiofiles, aiohttp, and twiggy (ansible-community#487).
  • Fix broken ansible-build-data repository link in ansible package README (ansible-community#485).

Feature and bugfix release.

  • Add --tags-file option to the single, rebuild-single, and prepare subcommands. This allows including a collection git tags data file in ansible-build-data and the ansible sdist (ansible-community#476).
  • Add pyproject.toml to ansible sdist to use the setuptools.build_meta PEP 517 backend. Tools that still call setup.py directly will work the same as they did before (ansible-community#471).
  • Bump minimum antsibull-core requirement to 1.5.0. It contains changes that are needed for the new --tags-file option (ansible-community#476).
  • There have been internal refactorings to simplify typing (ansible-community#469).
  • Correct Python version classifiers in the ansible setup.py template. Limit the Python 3.8 classifer to ansible 5 and 6 and add the Python 3.11 classifier to ansible >= 7 (ansible-community#479).
  • Do not crash when the changelogs/changelog.yaml file of a collection cannot be loaded (ansible-community#481, ansible-community#482).

Major feature and bugfix release with breaking changes.

  • Add a validate-tags subcommand to ensure that collection versions in an Ansible release are tagged in collections' respective git repositories (ansible-community#456).
  • Make compatible with antsibull-core 2.x.y (ansible-community#463).
  • The deprecated antsibull-lint subcommands have been removed. Use antsibull-changelog lint-changelog-yaml or antsibull-docs lint-collection-docs depending on your use-case (ansible-community#451).
  • The deprecated build-collection subcommand of antsibull-build has been removed. Use collection instead (ansible-community#451).
  • The deprecated build-multiple subcommand of antsibull-build has been removed. Use multiple instead (ansible-community#451).
  • The deprecated build-single subcommand of antsibull-build has been removed. Use single instead (ansible-community#451).
  • The deprecated new-acd subcommand of antsibull-build has been removed. Use new-ansible instead (ansible-community#451).

Bugfix release. The next minor release will no longer support Python 3.6 and 3.7.

  • Add --collection-dir to the antsibull-build collection and build-collection subcommands. Previously, the --collection-dir option was added to the wrong CLI argument parser and not exposed to users. (ansible-community#461).
  • Use compatibility code instead of trying to run asyncio.run directly, which will fail with Python 3.6 (ansible-community#459).

Bugfix release.

  • Fix handling of Python dependency data when building changelogs and collections (ansible-community#452).

Feature release for Ansible 7.

  • Now requires antsibull-core >= 1.3.0 (ansible-community#449).
  • The python_requires information is now extracted from ansible-core and stored in the .build and .deps files instead of guessing it from the Ansible version (ansible-community#449).

Feature and bugfix release.

  • Added galaxy requirements.yml file as build-release role depends on community.general collection (ansible-community#432)
  • Define minimal Python requirement for Ansible X depending on X, under the assumption that ansible-core's Python requirement is increased by one version every two ansible-core major releases, and that every Ansible major release corresponds to an ansible-core major release from Ansible 5 on (ansible-community#448).
  • The build-release role fails to execute when ./build/antsibull-build-data doesn't exist and when the antsibull_data_reset variable is set to false (ansible-community#442).
  • When building Ansible 6.3.0 or newer, fail on collection dependency validations (ansible-community/community-topics#94, ansible-community#440).

Bugfix and feature release containing breaking changes in the release role.

  • Allow to copy the files used to create the source distribution and wheels to a new directory during antsibull-build rebuild-single (ansible-community#435).
  • Perform minor refactoring of the build-release role, mostly concerning tasks/tests.yml. This reduces use of shell and set_fact, makes the role more robust, and replaces short names with FQCNs (ansible-community#432).
  • Show warnings emitted by building the source distribution and/or wheels (ansible-community#435).
  • The files in the source repository now follow the REUSE Specification. The only exceptions are changelog fragments in changelogs/fragments/ (ansible-community#437).
  • Fix typo in generated MANIFEST.in to list the existing file README.rst instead of the non-existing file README (ansible-community#435).
  • When preparing a new Ansible release, only use pre-releases for ansible-core when the Ansible release itself is an alpha pre-release. This encodes that the first beta release of a new major Ansible release coincides with the ansible-core GA (ansible-community#436).

Bugfix and feature release containing some breaking changes in the release role.

  • In the release role, automatically set antsibull_build_file and antsibull_data_dir based on antsibull_ansible_version (ansible-community#430).
  • The release role has now an argument spec (ansible-community#430).
  • In the release role, antsibull_ansible_version and antsibull_ansible_git_version must now always be specified (ansible-community#430).
  • When preparing a new Ansible release, bump the ansible-core version to the latest bugfix version (ansible-community#430).

Feature release for Ansible 6.0.0rc1.

  • Include ansible-community CLI program with --version parameter from Ansible 6.0.0rc1 on (ansible-community#429).

Feature and bugfix release with improvements for the release role, release building, and changelog generation.

  • Avoid including the complete condensed changelog of collections added to Ansible to that Ansible release's changelog and porting guide entries (ansible-community#428).
  • The build-release role now also uses antsibull_data_reset to prevent regeneration of build-X.ansible for alpha and beta-1 releases (ansible-community#422).

Bugfix release.

  • The build-release role now no longer ignores collection prereleases of collections for the alpha releases (ansible-community#420).

New feature release with one breaking change to the build-release role.

  • Add antsibull-build subcommand validate-deps which validates dependencies for an ansible_collections tree (ansible-community#416).
  • Check collection dependencies during antsibull-build rebuild-single and warn about errors (ansible-community#416).
  • In the build-release role, stop shipping a separate roles/build-release/files/deps-to-galaxy.py script and use the new galaxy-requirements.yaml style file created during release preparation (ansible-community#417).
  • Update Ansible's README.rst to focus on Ansible package details (ansible-community#415).
  • When preparing a new Ansible release with antsibull-build prepare or antsibull-build single, create a galaxy-requirements.yaml style file next to the dependencies file (ansible-community#417).
  • The build-release role no longer uses poetry to run antsibull, but assumes that antsibull is installed. To revert to the old behavior, set the Ansible variable antsibull_build_command to poetry run antsibull (ansible-community#420).

Split up antsibull into multiple PyPi packages (antsibull-core, antsibull-docs, and antsibull). Note that upgrading is a bit more complicated due to the way pip works! See below for details.

  • The antsibull package now depends on antsibull-core and antsibull-docs, and most code was moved to these two packages. The antsibull-docs CLI tool is now part of the antsibull-docs package as well. The behavior of the new version should be identical to the previous version (ansible-community#414).
  • The antsibull-lint command is deprecated. Use antsibull-changelog lint-changelog-yaml instead of antsibull-lint changelog-yaml, and use antsibull-docs lint-collection-docs instead of antsibull-lint collection-docs (ansible-community#412, ansible-community#410).
  • When upgrading from antsibull < 0.44.0 to antsibull 0.44.0+, it could happen that the antsibull-docs binary is removed due to how pip works. To make sure the antsibull-docs binary is present, either first uninstall (pip uninstall antsibull) before installing the latest antsibull version, or re-install antsibull-docs once the installation finished (pip install --force-reinstall antsibull-docs) (ansible-community#414).

Feature release.

  • Prevent crashing when non-strings are found for certain pathnames for antsibull-docs lint-collection-docs and antsibull-lint collection-docs (ansible-community#411).

Bugfix release.

  • antsibull-docs sphinx-init - the --fail-on-error option resulted in an invalid build.sh (ansible-community#409).

Major feature release preparing for Ansible 6. Also adds support for the new collection links file, and improves the attributes tables.

  • Allow collections to specify extra links (ansible-community#355).
  • Building Ansible 6+ now builds wheels next to the source tarball (ansible-community#394).
  • From Ansible 6 on, improve setup.py to exclude unnecessary files in the Python distribution (ansible-community#342).
  • Remove Ansible 2.9 / ansible-base 2.10 checks from setup.py for Ansible 6 so that we can finally ship wheels. This change is only active for Ansible 6 (ansible-community#394).
  • Add a new docs parsing backend ansible-core-2.13, which supports ansible-core 2.13+ (ansible-community#401).
  • Add an autodetection auto for the docs parsing backend to select the fastest supported backend. This is the new default (ansible-community#401).
  • Add option --no-semantic-versioning to antsibull-lint changelog-yaml command (ansible-community#405).
  • Change more references to ansible-base to ansible-core in the code (ansible-community#398).
  • If the role is used to build a non-alpha or first beta version and the bulid file does not exist, it is created instead of later failing because it does not exist (ansible-community#408).
  • Mention the ansible-core major version in the Ansible porting guide (ansible-community#397).
  • Redo attributes table using the same structure as the options and return value table. This improves its look and adds a linking mechanism (ansible-community#401).
  • Fix ansible-core version parsing for ansible-doc docs parsing backend (ansible-community#401).
  • Fix filename of mentioned ansible-core porting guide in Ansible's porting guide introductionary comment (ansible-community#398).
  • antsibull-docs will no longer traceback when it tries to process plugins not found in its own constant but are available in ansible-core (ansible-community#404).

Feature and bugfix release.

  • Add --fail-on-error to all antsibull-docs subcommands for usage in CI (ansible-community#393).
  • Allow to select a different Sphinx theme for antsibull-docs sphinx-init with the new --sphinx-theme option (ansible-community#392).
  • Fully implement antsibull-docs collection. So far --current was required (ansible-community#383).
  • Mention the plugin type more prominently in the documentation (ansible-community#364).
  • Remove email addresses and (!UNKNOWN) from plugin and role author names (ansible-community#389).
  • Support new keyword field in plugin documentations (ansible-community#329).
  • The conf.py generated by antsibull-docs sphinx-init will be set to try resolving intersphinx references to Ansible's devel docs instead of a concrete Ansible version (ansible-community#391).
  • If plugin parsing fails for antsibull-docs plugin, handle this more gracefully (ansible-community#393).
  • Improve error message when plugin specified for antsibull-docs plugin cannot be found (ansible-community#383).
  • When using --use-html-blobs, malformed HTML was generated for parameter aliases (ansible-community#388).

Bugfix release.

Bugfix release.

  • Fix bug in collection enum for docs generation, which caused role FQCNs to be mangled (ansible-community#379).

Feature and bugfix release.

  • Responsive parameter and return value tables. Also use RST tables instead of HTML blobs (ansible-community#335).
  • The antsibull-build single subcommand is deprecated. Use the prepare and rebuild-single subcommands instead (ansible-community#341).
  • Fixes an incompatibility with antsibull-lint with Python 3.9.8.
  • Improves and extends the Ansible build role and its tests.
  • Fixes M(...) when used in HTML blobs.
  • Improve wait on HTTP retries.

Docs generation:

  • Improve boilerplate for ansible.builtin documentation
  • Render choices in return value documentation
  • Add alternating background colors to option and return value tables

Also improves the Ansible release playbook/role.

Avoid creating role documentation for roles without argument spec. Avoid naming collision with Ansible Sphinx config's rst_epilog contents.

Fix for attributes support: also allow new support value N/A.

Support CLI options for the ansible.builtin.ssh connection plugin, and support ansible-core 2.12 module/plugin attributes.

Initial release.