Topics
- v0.69.0
- v0.68.1
- v0.68.0
- v0.67.0
- v0.66.0
- v0.65.0
- v0.64.0
- v0.63.1
- v0.63.0
- v0.62.0
- v0.61.1
- v0.61.0
- v0.60.0
- v0.59.1
- v0.59.0
- v0.58.0
- v0.57.1
- v0.57.0
- v0.56.1
- v0.56.0
- v0.55.0
- v0.54.0
- v0.53.0
- v0.52.0
- v0.51.2
- v0.51.1
- v0.51.0
- v0.50.0
- v0.49.0
- v0.48.0
- v0.47.0
- v0.46.0
- v0.45.1
- v0.45.0
- v0.44.0
- v0.43.0
- v0.42.1
- v0.42.0
- v0.41.0
- v0.40.2
- v0.40.1
- v0.40.0
- v0.39.2
- v0.39.1
- v0.39.0
- v0.38.2
- v0.38.1
- v0.38.0
- v0.37.0
- v0.36.0
- v0.35.0
- v0.34.0
- v0.33.0
- v0.32.0
- v0.31.0
- v0.30.0
- v0.29.0
- v0.28.0
- v0.27.0
- v0.26.0
- v0.25.0
- v0.24.0
- v0.23.0
- v0.22.0
- v0.21.0
- v0.20.0
- v0.19.0
- v0.18.0
- v0.17.0
- v0.16.0
- v0.15.0
- v0.14.0
- v0.13.0
- v0.12.0
- v0.11.0
- v0.10.0
- v0.9.0
- v0.8.0
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
Feature and bugfix release.
- Allow to update collection deprecations and removals (#640).
- antsibull-build now depends on antsibull-core >= 3.4.0 (#640).
- Fix link to changelogs for collections without
changelog.yaml
(#642).
Bugfix release.
- Fix
new-ansible
subcommand so it will not wipe the newly added extra data fromchangelog.yaml
files (#641).
Feature release.
- Add a subcommand
reformat-build-data
which reformats the changelog.yaml file (#638). - Add changelog.yaml linting to
lint-build-data
(#638). - Adjust the changelog config so that changelog.yaml has a nicer order and nicer layout (#638).
- Adjust to upcoming changes in antsibull-changelog by removing superfluous parameters (#635).
- Allow to remove collection changelog entries from the Ansible changelog (#639).
- Declare support for Python 3.13 (#637).
- Now depends on antsibull-changelog >= 0.31.0 (#638).
- Use Proxy configuration settings from the environment. Check out the aiohttp documentation on Proxy support for information on which environment variables are supported (#631).
- Adjust the rebuild script included in Ansible releases to install antsibull-build instead of antsibull (#636).
Maintenance release due to rename of the repository and project from antsibull to antsibull-build.
- The name of this project has been changed from
antsibull
toantsibull-build
to reflect that it provides theantsibull-build
command and disambiguate this project from the other antsibull projects. For backwards compatibility purposes, theantsibull
project on PyPI has been converted to an empty stub package that requiresantsibull-build
, but users should immediately switch to the new name. The Git repository has also been moved to https://github.com/ansible-community/antsibull-build (#627, #629).
Feature release for the upcoming Ansible releases.
- Add
--end-of-life
flag to theannouncements
subcommand to announce the last release of a major release train (#626). - Antsibull now depends on antsibull-docs-parser 1.x.y (#623).
- Automatically generate collection deprecation and removal changelog fragments from
collection-meta.yaml
information (#623). - Prefer stderr for error messages during building Ansible and the logging facility for warnings in changelog-related code (#630).
Bugfix and feature release with breaking changes
- Add dependency on antsibull-fileutils. Some functionality from antsibull-core is moving there, so we can use it from there directly (#619).
- Add subcommand
lint-build-data
for linting build data inansible-build-data
(#617). - Remove the mention of mailing lists from the Ansible README (#613).
- The
announcements --send
command no longer attempts to send mails to the mailing lists, which have been sunset (#613).
- Add explicit dependency on PyYAML, since we directly use it (#619).
- announcements - fix link to ansible-core changelog in the Ansible package release announcement template (#621).
Bugfix and feature release.
- If you are using argcomplete, you can now tab-complete
antsibull-build
command lines. See Activating global completion in the argcomplete README for how to enable tab completion globally. This will also tab-complete Ansible commands such asansible-playbook
andansible-test
(#611).
- Fix bug when handling
antsibull_build_reset
was passed in as a string from CLI (#602).
Bugfix release.
- Fix bug in
--preserve-deps
option handling (#602).
Feature release for improving the automatic release workflow.
- The release role now has a
antsibull_build_reset
option, which defaults to the value ofantsibull_data_reset
, that allows to control whether.build
files are reset during alpha and beta-1 releases (#601).
Feature release for improving the automatic release workflow.
- Add option
--preserve-deps
to theprepare
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 whenantsibull_preserve_deps=true
(#599). - Allow the release role to skip the
prepare
step by settingantsibull_skip_prepare=true
if the.deps
file already exists (#598). - The
prepare
subcommand will no longer overwrite an existing release summary in thechangelog.yaml
file (#597). - Use feature freeze for all betas from
b2
on, and all release candidates in the release role (#598).
- The release role no longer automatically skips the
prepare
step when the.deps
file already exists. If you need this behavior, setantsibull_skip_prepare=true
(#598).
Bugfix release.
- The PyPI API model used during the release announcement generation has been updated to accept
null
forkeywords
,maintainer
, andmaintainer_email
(#594).
Maintenance and bugfix release.
- Add support for the antsibull-core v3 (#593).
- announcements - add missing newline before heading in email template (#589).
Bugfix and feature release
- Add a
sanity-tests
subcommand to run sanity tests accross the collection tree created byverify-upstreams
and display the results (#556). - Add a
verify-upstreams
subcommand to ensure that files in a collections' Galaxy collection artifact match its upstream repository (#556). - Add new
antsibull-build announcements
command to generate release announcement text (#573). - Add new
antsibull-build send-announcements
command to interactively send release announcements. Make sure to installpyperclip
withpip install antsibull[clipboard]
to fully take advantage of its functionality (#573). - Add support for the latest antsibull-core v3 pre-release,
3.0.0a1
(#586). - Adjust the
pip install antsibull
call in thebuild-ansible.sh
script added to theansible
source distribution to use the version of antsibull used to build the ansible release (#563). - Change the license from
GPL-3.0-or-later
toGPL-3.0-or-later AND Python-2.0.1
. Antsibull now contains a small amount of code derived from CPython (#556). - Explicitly set up Galaxy context instead of relying on deprecated functionality from antsibull-core (#570).
- The Ansible changelog is now generated both in MarkDown and ReStructuredText (#576).
- The dependency on antsibull-changelog has been bumped to 0.24.0 or later (#576).
ansible
package README - add a link to theansible-build-data
issue tracker (#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 (#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. usepython_requires
instead ofrequires_python
(#559).
Feature release for the upcoming Ansible 9.0.0rc1 release.
ansible
python metadata - remove links specific toansible-core
and add links to the Ansible forum and theansible-build-data
repository (#558).- build-release role - add
changed_when: false
to validate-tags task (https://github.com/ansible-community/antsibulll/pull/557). - build-release role - add a test to ensure that Python files in the ansible package successfully compile (#552).
- build-release role - directly install the wheel when running tests (#553).
- Fix regression in
validate-tags
subcommand argument validation that caused a traceback (#51).
Feature release for the upcoming Ansible 9.0.0a1 release.
- Support a constraints file that allows to fix dependencies for the
new-ansible
andprepare
subcommands (#546).
- Fix URL to
ansible-core
on PyPI in theansible
README (ansible-collections/overview#228, #541).
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 (#540).
This release adds a couple new features and drops support for older ansible versions.
- Antsibull now no longer depends directly on
sh
(#514). - Antsibull now uses
sys.executable
instead of the first'python'
in$PATH
to call the PyPA build tool (#514). - Make
dep_closure
errors clearer by including the offending collection's version in the message (#531). - Move setuptools configuration into the declarative
setup.cfg
format for Ansible 9 and above.ansible
sdists will still contain asetup.py
file, but we recommend that users move to tools likepip
andbuild
and the PEP 517 interface instead of setuptools' deprecatedsetup.py
interface (#530). - Now depends antsibull-core 2.0.0 or newer; antsibull-core 1.x.y is no longer supported (#514).
- release playbook - run
antsibull-build validate-tags-file
to ensure that collections follow the Release Management section of the Collection Requirements (#518).
- Remove code to build ansible versions < 6.0.0 from the
setup.py
template and elsewhere in the codebase.antsibull-build
will error out if a user attempts to build an unsupported version (#477, #524). - Removed the deprecated
multiple
andcollection
subcommands (#522, #525).
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 (#520).
Maintenance release.
- Remove now broken self-test from release role (#512).
- Remove the parameters
antsibull_ansible_git_repo
,antsibull_ansible_git_version
, andantsibull_ansible_git_dir
from release role (#512).
- Support for building ansible major versions less than 6 is deprecated and will be removed in an upcoming release (#515).
Release with new features, other improvements, a new build system, and a deprecation
- Change pyproject build backend from
poetry-core
tohatchling
.pip install antsibull
works exactly the same as before, but some users may be affected depending on how they build/install the project (#490).
- Add a
-I
/--ignore
and a--ignores-file
flag to theantsibull-build validate-tags
andantsibull-build validate-tags-file
subcommands to ignore errors for certain collections (#491). - Make compatible with deprecations issued by newer setuptools releases (#433, #502).
- Use the pypa
build
tool to build wheels and source distributions for ansible in an isolated environment. This replaces direct calls topython setup.py bdist_wheel
andpython setup.py sdist
which are deprecated (#492).
- The
multiple
andcollection
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 (#505).
New release with features, bugfixes, and breaking changes.
- Drop support for Python 3.8 (#465).
- Removed the
antsibull-lint
command line utility. It had no functionality anymore for some time now (#466).
- Explicitly declare the
sh
dependency and limit it to before 2.0.0. Also explicitly declare the dependencies onpackaging
,semantic_version
,aiofiles
,aiohttp
, andtwiggy
(#487). - Fix broken ansible-build-data repository link in ansible package README (#485).
Feature and bugfix release.
- Add
--tags-file
option to thesingle
,rebuild-single
, andprepare
subcommands. This allows including a collection git tags data file in ansible-build-data and the ansible sdist (#476). - Add
pyproject.toml
to ansible sdist to use thesetuptools.build_meta
PEP 517 backend. Tools that still callsetup.py
directly will work the same as they did before (#471). - Bump minimum
antsibull-core
requirement to 1.5.0. It contains changes that are needed for the new--tags-file
option (#476). - There have been internal refactorings to simplify typing (#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 (#479). - Do not crash when the
changelogs/changelog.yaml
file of a collection cannot be loaded (#481, #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 (#456). - Make compatible with antsibull-core 2.x.y (#463).
- Drops support for Python 3.6 an 3.7 (#458, #460).
- The antsibull-docs dependency has been removed (#451).
- The deprecated
antsibull-lint
subcommands have been removed. Useantsibull-changelog lint-changelog-yaml
orantsibull-docs lint-collection-docs
depending on your use-case (#451). - The deprecated
build-collection
subcommand ofantsibull-build
has been removed. Usecollection
instead (#451). - The deprecated
build-multiple
subcommand ofantsibull-build
has been removed. Usemultiple
instead (#451). - The deprecated
build-single
subcommand ofantsibull-build
has been removed. Usesingle
instead (#451). - The deprecated
new-acd
subcommand ofantsibull-build
has been removed. Usenew-ansible
instead (#451).
Bugfix release. The next minor release will no longer support Python 3.6 and 3.7.
- Add
--collection-dir
to theantsibull-build
collection
andbuild-collection
subcommands. Previously, the--collection-dir
option was added to the wrong CLI argument parser and not exposed to users. (#461). - Use compatibility code instead of trying to run
asyncio.run
directly, which will fail with Python 3.6 (#459).
Bugfix release.
- Fix handling of Python dependency data when building changelogs and collections (#452).
Feature release for Ansible 7.
- Now requires antsibull-core >= 1.3.0 (#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 (#449).
Feature and bugfix release.
- Added galaxy
requirements.yml
file asbuild-release
role depends oncommunity.general
collection (#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 (#448).
- The
build-release
role fails to execute when./build/antsibull-build-data
doesn't exist and when theantsibull_data_reset
variable is set tofalse
(#442). - When building Ansible 6.3.0 or newer, fail on collection dependency validations (ansible-community/community-topics#94, #440).
- Adjust release role to work around a bug in the current beta version of ansible-core 2.14 (#447).
- Fix typing errors in the
multiple
subcommand (#443).
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
(#435). - Perform minor refactoring of the
build-release
role, mostly concerningtasks/tests.yml
. This reduces use ofshell
andset_fact
, makes the role more robust, and replaces short names with FQCNs (#432). - Show warnings emitted by building the source distribution and/or wheels (#435).
- The files in the source repository now follow the REUSE Specification. The only exceptions are changelog fragments in
changelogs/fragments/
(#437).
- The
build-release
role now depends on thecommunity.general
collection (#432).
- Fix typo in generated MANIFEST.in to list the existing file
README.rst
instead of the non-existing fileREADME
(#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 (#436).
Bugfix and feature release containing some breaking changes in the release role.
- In the release role, automatically set
antsibull_build_file
andantsibull_data_dir
based onantsibull_ansible_version
(#430). - The release role has now an argument spec (#430).
- In the release role,
antsibull_ansible_version
andantsibull_ansible_git_version
must now always be specified (#430).
- When preparing a new Ansible release, bump the ansible-core version to the latest bugfix version (#430).
Feature release for Ansible 6.0.0rc1.
- Include
ansible-community
CLI program with--version
parameter from Ansible 6.0.0rc1 on (#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 (#428).
- The
build-release
role now also usesantsibull_data_reset
to prevent regeneration ofbuild-X.ansible
for alpha and beta-1 releases (#422).
- In the build-release role, when
antsibull_force_rebuild
is true, delete the existing python wheel in addition to the release tarball (#427). - Remove various empty lines from generated
setup.py
(#424, #425). - Use
packaging.version
instead of (indirectly)distutils.version
to check whether the correct ansible-core version is installed (#426).
Bugfix release.
- The
build-release
role now no longer ignores collection prereleases of collections for the alpha releases (#420).
New feature release with one breaking change to the build-release
role.
- Add
antsibull-build
subcommandvalidate-deps
which validates dependencies for anansible_collections
tree (#416). - Check collection dependencies during
antsibull-build rebuild-single
and warn about errors (#416). - In the
build-release
role, stop shipping a separateroles/build-release/files/deps-to-galaxy.py
script and use the new galaxy-requirements.yaml style file created during release preparation (#417). - Update Ansible's
README.rst
to focus on Ansible package details (#415). - When preparing a new Ansible release with
antsibull-build prepare
orantsibull-build single
, create a galaxy-requirements.yaml style file next to the dependencies file (#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 variableantsibull_build_command
topoetry run antsibull
(#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 onantsibull-core
andantsibull-docs
, and most code was moved to these two packages. Theantsibull-docs
CLI tool is now part of theantsibull-docs
package as well. The behavior of the new version should be identical to the previous version (#414).
- The antsibull-lint command is deprecated. Use
antsibull-changelog lint-changelog-yaml
instead ofantsibull-lint changelog-yaml
, and useantsibull-docs lint-collection-docs
instead ofantsibull-lint collection-docs
(#412, #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 theantsibull-docs
binary is present, either first uninstall (pip uninstall antsibull
) before installing the latest antsibull version, or re-installantsibull-docs
once the installation finished (pip install --force-reinstall antsibull-docs
) (#414).
Feature release.
- Add
lint-collection-docs
subcommand toantsibull-docs
. It behaves identical toantsibull-lint collection-docs
(#411, #410). - Support
MANIFEST.json
and not onlygalaxy.yml
forantsibull-docs lint-collection-docs
andantsibull-lint collection-docs
(#411).
- Prevent crashing when non-strings are found for certain pathnames for
antsibull-docs lint-collection-docs
andantsibull-lint collection-docs
(#411).
Bugfix release.
- antsibull-docs sphinx-init - the
--fail-on-error
option resulted in an invalidbuild.sh
(#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 (#355).
- Building Ansible 6+ now builds wheels next to the source tarball (#394).
- From Ansible 6 on, improve
setup.py
to exclude unnecessary files in the Python distribution (#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 (#394).
- Add a new docs parsing backend
ansible-core-2.13
, which supports ansible-core 2.13+ (#401). - Add an autodetection
auto
for the docs parsing backend to select the fastest supported backend. This is the new default (#401). - Add option
--no-semantic-versioning
toantsibull-lint changelog-yaml
command (#405). - Change more references to ansible-base to ansible-core in the code (#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 (#408).
- Mention the
ansible-core
major version in the Ansible porting guide (#397). - Redo attributes table using the same structure as the options and return value table. This improves its look and adds a linking mechanism (#401).
- Fix ansible-core version parsing for
ansible-doc
docs parsing backend (#401). - Fix filename of mentioned ansible-core porting guide in Ansible's porting guide introductionary comment (#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 (#404).
Feature and bugfix release.
- Add
--fail-on-error
to all antsibull-docs subcommands for usage in CI (#393). - Allow to select a different Sphinx theme for
antsibull-docs sphinx-init
with the new--sphinx-theme
option (#392). - Fully implement
antsibull-docs collection
. So far--current
was required (#383). - Mention the plugin type more prominently in the documentation (#364).
- Remove email addresses and
(!UNKNOWN)
from plugin and role author names (#389). - Support new
keyword
field in plugin documentations (#329). - The
conf.py
generated byantsibull-docs sphinx-init
will be set to try resolving intersphinx references to Ansible'sdevel
docs instead of a concrete Ansible version (#391).
- If plugin parsing fails for
antsibull-docs plugin
, handle this more gracefully (#393). - Improve error message when plugin specified for
antsibull-docs plugin
cannot be found (#383). - When using
--use-html-blobs
, malformed HTML was generated for parameter aliases (#388).
Bugfix release.
- Fix
rsync
call whenantsibull-docs sphinx-init
is used with--squash-hieararchy
(#382). - Fix invalid HTML in return value RST tables. Closing
</div>
were missing for a wrapping<div>
of every content cell, causing problems with some text-based browsers (https://github.com/ansible-community/antsibull/issues/386, #387). - Work around Python argparse bug by using vendored class for all Python versions until the bug is fixed in argparse. This makes
--help
work for all antsibull-docs subcommands (#384).
Bugfix release.
- Fix bug in collection enum for docs generation, which caused role FQCNs to be mangled (#379).
Feature and bugfix release.
- Responsive parameter and return value tables. Also use RST tables instead of HTML blobs (#335).
- Add a changelog (#378).
- Allow to specify
collection_cache
in config file (#375). - Allow to still use HTML blobs for parameter and return value tables. This can be controlled by a CLI option
--use-html-blobs
and by a global config optionuse_html_blobs
(#360). - Avoid prereleases when creating the
.build
file inantsibull-build new-acd
. The old behavior of including them can be obtained by passing the--allow-prereleases
option (#298). - Change ansible-base references in documentation and code to ansible-core where it makes sense (#353).
- During docs build, only write/copy files to the destination that have changed assuming they are not too large (#374).
- Improve
build-ansible.sh
script integrated in the release tarball (#369). - Improve
galaxy-requirements.yaml
generation (#350). - Mention new options in the porting guide (#363).
- Modify
thread_max
default value from 80 to 8 (#365, #370). - Move modules to beginning of plugin index (#336).
- Remove unnecessary Python 2 boilerplates (#371).
- Simplify ansible-core dependency in
setup.py
with compatibility operator (#346). - Split
antsibull-build single
subcommand intoprepare
andrebuild-single
subcommand (#341). - Stop using deprecated Python standard library
distutils.version
(#372). - Various improvements to the build role (#338).
- The
antsibull-build single
subcommand is deprecated. Use theprepare
andrebuild-single
subcommands instead (#341).
- Fix
rsync
flags in build scripts generated byantsibull-docs sphinx-init
to allow Sphinx to not rebuild unchanged files (#357). - Fix boolean logic error when
--skip-indexes
was used inantsibull-docs
(#377). - Fix feature freeze handling after Beta 1 in build role (#337).
- Require Python 3.8 for Ansible 5 (#345).
- 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.