Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-oslo.config for openSUSE:Factory checked in at 2026-06-15 19:51:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslo.config (Old) and /work/SRC/openSUSE:Factory/.python-oslo.config.new.1981 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.config" Mon Jun 15 19:51:48 2026 rev:51 rq:1359321 version:10.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslo.config/python-oslo.config.changes 2026-05-19 17:48:49.336773864 +0200 +++ /work/SRC/openSUSE:Factory/.python-oslo.config.new.1981/python-oslo.config.changes 2026-06-15 19:55:04.160668481 +0200 @@ -1,0 +2,13 @@ +Sun Jun 14 20:50:47 UTC 2026 - Dirk Müller <[email protected]> + +- update to 10.5.0: + * typing: Accept tuples to exception + * Bump python version in mypy check + * fix: setuptools.package.find is a glob + * cfg: Accepts string groups for RequiredOptError + * Drop Python 3.10 + * trivial: Remove unnecessary :type: docstrings + * Remove unnecessary annotation + * Deprecate version module + +------------------------------------------------------------------- Old: ---- oslo_config-10.4.0.tar.gz New: ---- oslo_config-10.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.config.spec ++++++ --- /var/tmp/diff_new_pack.s8KY6w/_old 2026-06-15 19:55:04.860697844 +0200 +++ /var/tmp/diff_new_pack.s8KY6w/_new 2026-06-15 19:55:04.864698012 +0200 @@ -17,7 +17,7 @@ Name: python-oslo.config -Version: 10.4.0 +Version: 10.5.0 Release: 0 Summary: OpenStack common configuration library License: Apache-2.0 ++++++ oslo_config-10.4.0.tar.gz -> oslo_config-10.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/AUTHORS new/oslo_config-10.5.0/AUTHORS --- old/oslo_config-10.4.0/AUTHORS 2026-05-18 11:30:26.000000000 +0200 +++ new/oslo_config-10.5.0/AUTHORS 2026-06-11 15:23:46.000000000 +0200 @@ -46,6 +46,7 @@ Dirk Mueller <[email protected]> Dolph Mathews <[email protected]> Doug Chivers <[email protected]> +Doug Goldstein <[email protected]> Doug Hellmann <[email protected]> Doug Hellmann <[email protected]> Edan David <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/ChangeLog new/oslo_config-10.5.0/ChangeLog --- old/oslo_config-10.4.0/ChangeLog 2026-05-18 11:30:26.000000000 +0200 +++ new/oslo_config-10.5.0/ChangeLog 2026-06-11 15:23:46.000000000 +0200 @@ -1,6 +1,18 @@ CHANGES ======= +10.5.0 +------ + +* typing: Accept tuples to exception +* Bump python version in mypy check +* fix: setuptools.package.find is a glob +* cfg: Accepts string groups for RequiredOptError +* Drop Python 3.10 +* trivial: Remove unnecessary :type: docstrings +* Remove unnecessary annotation +* Deprecate version module + 10.4.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/PKG-INFO new/oslo_config-10.5.0/PKG-INFO --- old/oslo_config-10.4.0/PKG-INFO 2026-05-18 11:30:26.679256200 +0200 +++ new/oslo_config-10.5.0/PKG-INFO 2026-06-11 15:23:46.495775200 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: oslo.config -Version: 10.4.0 +Version: 10.5.0 Summary: Oslo Configuration API Author-email: OpenStack <[email protected]> License-Expression: Apache-2.0 @@ -13,14 +13,14 @@ Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Typing :: Typed -Requires-Python: >=3.10 +Requires-Python: >=3.11 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: netaddr>=0.7.18 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo.config.egg-info/PKG-INFO new/oslo_config-10.5.0/oslo.config.egg-info/PKG-INFO --- old/oslo_config-10.4.0/oslo.config.egg-info/PKG-INFO 2026-05-18 11:30:26.000000000 +0200 +++ new/oslo_config-10.5.0/oslo.config.egg-info/PKG-INFO 2026-06-11 15:23:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: oslo.config -Version: 10.4.0 +Version: 10.5.0 Summary: Oslo Configuration API Author-email: OpenStack <[email protected]> License-Expression: Apache-2.0 @@ -13,14 +13,14 @@ Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Typing :: Typed -Requires-Python: >=3.10 +Requires-Python: >=3.11 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: netaddr>=0.7.18 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo.config.egg-info/SOURCES.txt new/oslo_config-10.5.0/oslo.config.egg-info/SOURCES.txt --- old/oslo_config-10.4.0/oslo.config.egg-info/SOURCES.txt 2026-05-18 11:30:26.000000000 +0200 +++ new/oslo_config-10.5.0/oslo.config.egg-info/SOURCES.txt 2026-06-11 15:23:46.000000000 +0200 @@ -102,11 +102,13 @@ releasenotes/notes/add_option_for_shell_completion-47b1b47d41a490e8.yaml releasenotes/notes/config-from-environment-3feba7b4cc747d2b.yaml releasenotes/notes/config-validator-256817f2183994fd.yaml +releasenotes/notes/deprecate-version-module-10817e0cac220063.yaml releasenotes/notes/dict-key-value-separator-127ce36ba4d9245f.yaml releasenotes/notes/drop-python27-support-87f1b4089d4cc78b.yaml releasenotes/notes/machine-readable-sample-config-e8f8ba43ababcf99.yaml releasenotes/notes/min_length-5e5ae84e1fa3f856.yaml releasenotes/notes/positional-arguments-are-required-22ddca72e6f523bf.yaml +releasenotes/notes/remove-py310-cb8bcd4cfab747b0.yaml releasenotes/notes/remove-py38-2cebf20be79f1709.yaml releasenotes/notes/remove-py39-2c955ada07c2a862.yaml releasenotes/notes/remove-uri-value-4078778bce0b96cb.yaml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo.config.egg-info/pbr.json new/oslo_config-10.5.0/oslo.config.egg-info/pbr.json --- old/oslo_config-10.4.0/oslo.config.egg-info/pbr.json 2026-05-18 11:30:26.000000000 +0200 +++ new/oslo_config-10.5.0/oslo.config.egg-info/pbr.json 2026-06-11 15:23:46.000000000 +0200 @@ -1 +1 @@ -{"git_version": "4317c23", "is_release": true} \ No newline at end of file +{"git_version": "183a7ab", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo_config/cfg.py new/oslo_config-10.5.0/oslo_config/cfg.py --- old/oslo_config-10.4.0/oslo_config/cfg.py 2026-05-18 11:29:37.000000000 +0200 +++ new/oslo_config-10.5.0/oslo_config/cfg.py 2026-06-11 15:22:56.000000000 +0200 @@ -16,7 +16,7 @@ import argparse import collections -from collections.abc import Callable, Iterator, Mapping, Sequence +from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence import copy import enum import errno @@ -139,12 +139,19 @@ class RequiredOptError(Error): """Raised if an option is required but no value is supplied by the user.""" - def __init__(self, opt_name: str, group: 'OptGroup | None' = None) -> None: + def __init__( + self, opt_name: str, group: 'OptGroup | str | None' = None + ) -> None: self.opt_name = opt_name self.group = group def __str__(self) -> str: - group_name = 'DEFAULT' if self.group is None else self.group.name + if isinstance(self.group, str): + group_name = self.group + elif self.group: + group_name = self.group.name + else: + group_name = 'DEFAULT' return ( f"value required for option {self.opt_name} in group " f"[{group_name}]" @@ -161,7 +168,7 @@ class ConfigFilesNotFoundError(Error): """Raised if one or more config files are not found.""" - def __init__(self, config_files: list[str]) -> None: + def __init__(self, config_files: Iterable[str]) -> None: self.config_files = config_files def __str__(self) -> str: @@ -173,7 +180,7 @@ class ConfigFilesPermissionDeniedError(Error): """Raised if one or more config files are not readable.""" - def __init__(self, config_files: list[str]) -> None: + def __init__(self, config_files: Iterable[str]) -> None: self.config_files = config_files def __str__(self) -> str: @@ -393,7 +400,6 @@ """Return a string describing where this is being called from. :param n: Number of steps up the stack to look. Defaults to ``2``. - :type n: int :returns: str """ if not _show_caller_details: @@ -461,7 +467,7 @@ :param name: the option's name :param type: the option's type. Must be a callable object that takes string - and returns converted and validated value + and returns converted and validated value :param dest: the name of the corresponding :class:`.ConfigOpts` property :param short: a single character CLI option name :param default: the default value of the option @@ -475,17 +481,16 @@ :param deprecated_opts: list of :class:`.DeprecatedOpt` :param sample_default: a default string for sample config files :param deprecated_for_removal: indicates whether this opt is planned for - removal in a future release + removal in a future release :param deprecated_reason: indicates why this opt is planned for removal in - a future release. Silently ignored if - deprecated_for_removal is False + a future release. Silently ignored if ``deprecated_for_removal`` is + ``False`` :param deprecated_since: indicates which release this opt was deprecated - in. Accepts any string, though valid version - strings are encouraged. Silently ignored if - deprecated_for_removal is False + in. Accepts any string, though valid version strings are encouraged. + Silently ignored if ``deprecated_for_removal`` is ``False`` :param mutable: True if this option may be reloaded - :param advanced: a bool True/False value if this option has advanced usage - and is not normally used by the majority of users + :param advanced: indicates whether this option has advanced usage and is + not normally used by the majority of users An Opt object has no public methods, but has a number of public properties: @@ -992,15 +997,14 @@ :param name: the option's name :param choices: Optional sequence of either valid values or tuples of valid values with descriptions. - :param quotes: If True and string is enclosed with single or double - quotes, will strip those quotes. - :param regex: Optional regular expression (string or compiled - regex) that the value must match on an unanchored - search. + :param quotes: If ``True`` and string is enclosed with single or double + quotes, will strip those quotes. + :param regex: Optional regular expression (string or compiled regex) that + the value must match on an unanchored search. :param ignore_case: If True case differences (uppercase vs. lowercase) - between 'choices' or 'regex' will be ignored. + between 'choices' or 'regex' will be ignored. :param max_length: If positive integer, the value must be less than or - equal to this parameter. + equal to this parameter. :param \*\*kwargs: arbitrary keyword arguments passed to :class:`Opt` .. versionchanged:: 2.7 @@ -1681,18 +1685,12 @@ the group description as displayed in --help :param name: the group name - :type name: str :param title: the group title for --help - :type title: str :param help: the group description for --help - :type help: str :param dynamic_group_owner: The name of the option that controls repeated instances of this group. - :type dynamic_group_owner: str :param driver_option: The name of the option within the group that controls which driver will register options. - :type driver_option: str - """ def __init__( @@ -1705,7 +1703,7 @@ ) -> None: """Constructs an OptGroup object.""" self.name = name - self.title: str = f"{name} options" if title is None else title + self.title = f"{name} options" if title is None else title self.help = help self.dynamic_group_owner = dynamic_group_owner self.driver_option = driver_option @@ -1720,7 +1718,6 @@ """Save known driver opts. :param opts: mapping between driver name and list of opts - :type opts: dict """ self._driver_opts.update(opts) @@ -3873,10 +3870,8 @@ """Return the location where the option is being set. :param name: The name of the option. - :type name: str :param group: The name of the group of the option. Defaults to ``'DEFAULT'``. - :type group: str :return: LocationInfo .. seealso:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo_config/sources/__init__.py new/oslo_config-10.5.0/oslo_config/sources/__init__.py --- old/oslo_config-10.4.0/oslo_config/sources/__init__.py 2026-05-18 11:29:37.000000000 +0200 +++ new/oslo_config-10.5.0/oslo_config/sources/__init__.py 2026-06-11 15:22:55.000000000 +0200 @@ -80,12 +80,10 @@ If a source cannot be open, raises an appropriate exception. - :param conf: The active configuration option handler from which - to seek configuration values. - :type conf: ConfigOpts + :param conf: The active configuration option handler from which to seek + configuration values. :param group_name: The configuration option group name where the - options for the source are stored. - :type group_name: str + options for the source are stored. :returns: an instance of a subclass of ConfigurationSource """ @@ -110,7 +108,6 @@ A configuration source is able to fetch configuration values based on a (group, option) key from an external source that supports key-value mapping such as INI files, key-value stores, secret stores, and so on. - """ @abc.abstractmethod @@ -123,12 +120,10 @@ """Return the value of the option from the group. :param group_name: Name of the group. - :type group_name: str :param option_name: Name of the option. - :type option_name: str :param opt: The option definition. - :type opt: Opt - :returns: A tuple (value, location) where value is the option value - or oslo_config.sources._NoValue if the (group, option) is - not present in the source, and location is a LocationInfo. + :returns: A tuple ``(value, location)`` where ``value`` is either the + option value or ``oslo_config.sources._NoValue`` if the ``(group, + option)`` is not present in the source, and ``location`` is a + ``LocationInfo``. """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo_config/sphinxext.py new/oslo_config-10.5.0/oslo_config/sphinxext.py --- old/oslo_config-10.4.0/oslo_config/sphinxext.py 2026-05-18 11:29:37.000000000 +0200 +++ new/oslo_config-10.5.0/oslo_config/sphinxext.py 2026-06-11 15:22:55.000000000 +0200 @@ -525,7 +525,7 @@ target: str, node: addnodes.pending_xref, contnode: nodes.Element, - ) -> nodes.Element | None: + ) -> nodes.reference | None: """Resolve cross-references""" if typ == 'option': group_name, option_name = target.split('.', 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/oslo_config/version.py new/oslo_config-10.5.0/oslo_config/version.py --- old/oslo_config-10.4.0/oslo_config/version.py 2026-05-18 11:29:37.000000000 +0200 +++ new/oslo_config-10.5.0/oslo_config/version.py 2026-06-11 15:22:55.000000000 +0200 @@ -12,7 +12,14 @@ # License for the specific language governing permissions and limitations under # the License. +import warnings import pbr.version +warnings.warn( + f'The {__name__} module is deprecated. Prefer use of importlib.metadata ' + f'to inspect version information for packages.', + DeprecationWarning, +) + version_info = pbr.version.VersionInfo('oslo.config') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/pyproject.toml new/oslo_config-10.5.0/pyproject.toml --- old/oslo_config-10.4.0/pyproject.toml 2026-05-18 11:29:37.000000000 +0200 +++ new/oslo_config-10.5.0/pyproject.toml 2026-06-11 15:22:55.000000000 +0200 @@ -11,7 +11,7 @@ readme = {file = "README.rst", content-type = "text/x-rst"} license = "Apache-2.0" dynamic = ["version", "dependencies"] -requires-python = ">=3.10" +requires-python = ">=3.11" classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: OpenStack", @@ -20,10 +20,10 @@ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Typing :: Typed", @@ -50,10 +50,10 @@ "remote_file" = "oslo_config.sources._uri:URIConfigurationSourceDriver" [tool.setuptools.packages.find] -include = ["oslo_config"] +include = ["oslo_config*"] [tool.mypy] -python_version = "3.10" +python_version = "3.11" show_column_numbers = true show_error_context = true strict = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/releasenotes/notes/deprecate-version-module-10817e0cac220063.yaml new/oslo_config-10.5.0/releasenotes/notes/deprecate-version-module-10817e0cac220063.yaml --- old/oslo_config-10.4.0/releasenotes/notes/deprecate-version-module-10817e0cac220063.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo_config-10.5.0/releasenotes/notes/deprecate-version-module-10817e0cac220063.yaml 2026-06-11 15:22:55.000000000 +0200 @@ -0,0 +1,6 @@ +--- +deprecations: + - | + The ``oslo_config.version`` module and associated objects has been + deprecated for removal. Prefer use of ``importlib.metadata`` to inspect + version information for installed packages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_config-10.4.0/releasenotes/notes/remove-py310-cb8bcd4cfab747b0.yaml new/oslo_config-10.5.0/releasenotes/notes/remove-py310-cb8bcd4cfab747b0.yaml --- old/oslo_config-10.4.0/releasenotes/notes/remove-py310-cb8bcd4cfab747b0.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo_config-10.5.0/releasenotes/notes/remove-py310-cb8bcd4cfab747b0.yaml 2026-06-11 15:22:55.000000000 +0200 @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Support for Python 3.10 has been removed. Now the minimum python version + supported is 3.11.
