Skip to content

Latest commit

 

History

History
346 lines (228 loc) · 15.5 KB

CHANGELOG.rst

File metadata and controls

346 lines (228 loc) · 15.5 KB

antsibull-core Release Notes

Feature release.

  • Allow information on removed or deprecated collections to be updated. This is needed to generate a consistent changelog (#177).
  • Declare support for Python 3.13 (#176).

Feature release.

  • Allow information on removed collections from previous major releases in collection metadata schema (#174).

Feature and bugfix release.

  • Add pydantic helper for strict linting (#169).
  • Allow information on removed collections in collection metadata schema (#173).
  • Collection metadata removal schema valiation: remove bad check that deprecated redirect replacement major version must be in the future (#172).

Feature release adding a new dependency.

  • Add schema and validation helper for ansible-build-data's collection meta (ansible-community/ansible-build-data#450, #168).
  • Antsibull-core now depends on the new project antsibull-fileutils. Some code has been moved to that library; that code is re-imported to avoid breaking changes for users of antsibull-core (#166).

Bugfix release.

  • Adjust the aiohttp retry GET mananger to use ClientTimeout instead of a float, since that will be removed in aiohttp 4.0.0 (#163).
  • Bump asyncio requirement to >= 3.3.0 instead of 3.0.0. Version 3.0.0 likely never worked with the retry code that has been in here basically since he beginning (#163).
  • Make sure that app and lib contexts are cleaned up correctly in case of generator exit (#161).
  • Make sure that the right TimeoutError is used in the HTTP retry util. asyncio.TimeoutError is a deprecated alias of TimeoutError since Python 3.11 (#160).

Bugfix release.

  • Adjusting ansible-core PyPI code to also accept a filename starting with ansible_core, which seems to be in use since ansible-core 2.16.6 due to PEP-625 support in setuptools 69.3.0 (#158).

New major release.

  • Drop support for building Ansible versions less than 6.0.0 (#132).
  • Remove GalaxyClient's and CollectionDownloader's galaxy_server arguments. You need to explicitly pass in a GalaxyContext object instead (#131).
  • antsibull-core now requires major version 2 of the pydantic library. Version 1 is no longer supported (#122).
  • If ansible_base_url is provided in a config file, but ansible_core_repo_url is not, its value is no longer used for ansible_core_repo_url (#128).
  • Remove dependency on sh (#119).
  • Removed the deprecated field doc_parsing_backend from LibContext (#128).
  • Removed the deprecated fields ansible_base_url, galaxy_url, pypi_url, and collection_cache from AppContext (#128).
  • ansible_core - remove get_ansible_core_package_name() function. This is no longer necessary now that support for ansible-base has been dropped (#132).
  • ansible_core - remove ansible-core/ansible-base normalization in AnsibleCorePyPiClient. Data retrieval is only supported for ansible-core (#132).
  • antsibull_core.compat - remove deprecated asyncio_run, best_get_loop, create_task and metadata (#124, #129).
  • dependency_files - drop support for _ansible_base_version and _acd_version in pieces files. _ansible_core_version and _ansible_version, respectively, should be used instead (#132).
  • venv - remove get_command() method from VenvRunner and FakeVenvRunner (#119).
  • Avoid superfluous network request when trusting the ansible-core download cache (#135).

Add support for Python 3.12 and improve subprocess_util

  • Declare support for Python 3.12 (#103).
  • subprocess_util.async_log_run(), subprocess_util.log_run(), and the corresponding functions in venv now support passing generic callback functions for stdout_loglevel and stderr_loglevel (#113).
  • Fix typing for antsibull_core.app_context.app_context() functions (#109).
  • subprocess_util.log_run - use proper string formatting when passing command output to the logger (#116).

Feature release.

  • Allow to overwrite the version and the program name when using antsibull_core.args.get_toplevel_parser() (#96).

New major release

  • Add async_log_run() and log_run() methods to antsibull_core.venv.VenvRunner and antsibull_core.venv.FakeVenvRunner. These should be used instead of get_command() (#50).
  • Add a store_yaml_stream function to antsibull_core.yaml to dump YAML to an IO stream (#24).
  • Add a new antsibull_core.subprocess_util module to help run subprocesses output and log their output (#40).
  • Allow Galaxy client to communicate with the Galaxy v3 API (#45).
  • Allow the Galaxy downloader to trust its collection cache to avoid having to query the Galaxy server if an artifact exists in the cache. This can be set with the new configuration file option trust_collection_cache (#78).
  • Allow to cache ansible-core download artifacts with a new config file option ansible_core_cache (#80).
  • Allow to fully trust the ansible-core artifacts cache to avoid querying PyPI with a new config file option trust_ansible_core_cache (#80).
  • Allow to skip content check when doing async file copying using antsibull_core.utils.io.copy_file() (#78).
  • Avoid using the collection artifact filename returned by the Galaxy server. Instead compose it in a uniform way (#78).
  • Replace internal usage of sh with the antsibull.subprocess_util module (#51).
  • The fields ansible_core_repo_url, galaxy_url, and pypi_url have been added to the library context. If ansible_core_repo_url is not provided, it will be populated from the field ansible_base_url if that has been provided (#81).
  • Use the pypa build tool instead of directly calling setup.py which is deprecated (#51).
  • Remove breadcrumbs, indexes, and use_html_blobs from global antsibull config handling. These options are only used by antsibull-docs, which already validates them itself (#54).
  • Support for Python 3.6, 3.7, and 3.8 has been dropped. antsibull-core 2.x.y needs Python 3.9 or newer. If you need to use Python 3.6 to 3.8, please use antsibull-core 1.x.y (#16).
  • The install_package() method of antsibull_core.venv.VenvRunner now returns a subprocess.CompletedProcess object instead of an sh.RunningCommand. The rest of the function signature remains the same. Most callers should not need to access the output to begin with (#50).
  • Deprecate the get_command() methods of antsibull_core.venv.VenvRunner and antsibull_core.venv.FakeVenvRunner. These methods will be removed in antsibull-core 3.0.0. Use the new log_run() and async_run() methods instead (#50).
  • The antsibull_core.compat module deprecates the metadata module. Use importlib.metadata instead, which is available from Python 3.8 on (#16).
  • The antsibull_core.compat module deprecates the functions asyncio_run, best_get_loop, and create_task. Replace asyncio_run with asyncio.run, create_task with asyncio.create_task, and best_get_loop with asyncio.get_running_loop (#16).
  • The doc_parsing_backend option from the library context is deprecated and will be removed in antsibull-core 3.0.0. Applications that need it, such as antsibull-docs, must ensure they allow and validate this option themselves (#59).
  • The fields ansible_base_url, galaxy_url, and pypi_url of the app context have been deprecated. Use the fields ansible_core_repo_url, galaxy_url, and pypi_url, respectively, of the library context instead (#81).
  • The unused antsibull_core.schemas.config.ConfigModel model and the unused antsibull_core.config.read_config function have been removed (#82).
  • Fix a bug in Galaxy download code when the filename is found in the cache, but the checksum does not match. In that case, the collection was not copied to the destination, and the code did not try to download the correct file (#76).
  • Remove improper usage of @functools.cache on async functions in the antsibull_core.ansible_core module (#67).
  • Restrict the pydantic dependency to major version 1 (#35).
  • Restrict the sh dependency to versions before 2.0.0 (#31).

Bugfix and feature release.

  • Fix overly restrictive file name type annotations. Use StrOrBytesPath type annotation instead of str for functions that accept a file name (#14).
  • Remove use of blocking IO in an async function (#13).

Maintenance release to fix unwanted 1.3.0.post0 release.

Erroneously released version.

Feature and bugfix release.

  • Allow to write Python dependencies as _python key into build and dependency files (#10).
  • Fix async file copying helper (#11).

Feature release.

  • Improve typing (#6).
  • Make config file management more flexible to allow project-specific config file format extensions for the explicitly passed configuration files (#7).
  • The DepsFile.write() method will require the first parameter to be a packaging.version.Version object, the second parameter to be a string, and the third parameter a mapping of strings to strings, from antsibull-core 2.0.0 on (#6).
  • Adjust signature of DepsFile.write() to work around bug in antsibull (#6).

Maintenance release.

  • The files in the source repository now follow the REUSE Specification. The only exceptions are changelog fragments in changelogs/fragments/ (#5).

Bugfix release.

  • Fix detection of ansible-core devel checkouts (#4).

First stable release.

  • From version 1.0.0 on, antsibull-core is sticking to semantic versioning and aims at providing no backwards compatibility breaking changes during a major release cycle (#2).
  • Remove unused code (#1).
  • Remove package antsibull_core.utils.transformations (#1).

Initial release.