Release history for libmodulemd

2.14.0      2022-02-04

This release is fully compatible with the previous version 2.13.0 except
behaviour changes described in Fixes section.

Enhancements:
- New functions for stripping XMD from an index
  (modulemd_module_index_clear_xmds()), from a module
  (modulemd_module_clear_xmds()), and from a version 2 module stream
  (modulemd_module_stream_v2_clear_xmd()). This enables you to prevent from leaking
  private build options to output modulemd-v2 documents.
- Interpret an invalid buildorder 18446744073709551615 as -1 if the library
  is built with a new build boolean accept_overflowed_buildorder set to true.
- Document module version, buildorder, and epoch limits in the specifications.
  Also clarify that an epoch number at RPM artifacts is mandatory.
- Document that modulemd_module_get_defaults can return NULL
- Improve a documentation for modulemd_module_set_defaults() and
  modulemd_module_index_upgrade_defaults() functions.
- Improve modulemd-validator(1) manual page.
- Drop a build dependency on help2man tool.

Fixes:
- Fix a crash when updating an index with an invalid subdocument and a NULL
  error parameter.
- Fix clobbering module defaults on a modulemd_module_set_defaults() error.
- Fix modulemd_module_index_upgrade_defaults() to actually use the requested
  version.
- Reject duplicate contexts in modulemd-packager-v3 documents.
- Report an error if modulemd-validator tool is invoked with both --version
  option and an unknown option.
- Fix an undefined behaviour when comparing integers of different signs.
- Fix DNF examples in a documentation.
- Actually execute modulemd-obsoletes Python tests.
- Fix deprecation warnings in tests with glib2-2.69.0.
- Fix deprecation warnings in Python tests and make the test compatible with
  Python 3.11.


2.13.0      2021-07-09

This release is fully compatible with the previous 2.12.1 version.

Enhancements:
- Add /data/demodularized/rpms list to modulemd and modulemd-packager formats.
  The listed binary RPM package names will be handled by a package manager as
  removed from all previous module versions. This enables moving a package from
  a module to a non-modular package set.
- modulemd-validator tool enables you to constrain a document type with a new
  "--type" option. Without this option, all document types recognized by
  a modulemd index are accepted. To validate version 3 of modulemd-packager
  format, use "modulemd-validator --type modulemd-packager-v3 foo.yaml"
  command.
- Allow disabling Python 3. You can pass -Dwith_py3=false to a meson setup
  command to disable building a binding for Python 3. The binding is enabled
  by default.

Fixes:
- Reject invalid integers. Purely non-numeric values and negative numbers where
  an unsigned type is mandated by a specification raise a parser error now.
- Handle a failed g_setenv() call in modulemd-validator.
- Prevent from dereferencing a NULL pointer when reporting invalid
  subdocuments.
- A build script now refuses to disable Glib introspection
  (-Dskip_introspection=true) while a Python binding is requested
  (-Dwith_py3=true).
- "modulemd-validator --version" command returns 0 exit code now.


2.12.1      2021-05-03

This is a bug-fix release fully compatible with the previous 2.12.0
version. Notable changes:

Enhancements:
- Improve diagnostic messages for compression tests.
- Tests performed in a GitHub continues integration are faster.
- Use GitHub actions to perform CI tests also on ArchLinux, Mageia,
  Mandriva, and OpenSUSE.

Fixes:
- Relax context value up to 13 characters including an underscore
  character in modulemd v2 format. This reenables scratch-builds in MBS.
- Migrate Packit tests from a deprecated current_version_command to
  a newer actions/get-current-version.


2.12.0      2021-01-15

Enhancements:
- Enable component 'buildorder' for modulemd-packager v2 and v3 documents.

Fixes:
- When adding obsoletes ensure index has stream mdversion at least 2.
- Add missing @staticmethod for python2.

