Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-oslo.policy for openSUSE:Factory checked in at 2026-08-09 21:34:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslo.policy (Old) and /work/SRC/openSUSE:Factory/.python-oslo.policy.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.policy" Sun Aug 9 21:34:56 2026 rev:27 rq:1369790 version:6.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslo.policy/python-oslo.policy.changes 2026-06-15 19:47:50.126459817 +0200 +++ /work/SRC/openSUSE:Factory/.python-oslo.policy.new.16738/python-oslo.policy.changes 2026-08-09 21:37:19.750307304 +0200 @@ -1,0 +2,12 @@ +Wed Aug 5 14:48:44 UTC 2026 - Dirk Müller <[email protected]> + +- update to 6.0.0: + * Remove support of configuring scope enforcement + * zuul: Use openstack-python3-next-jobs template + * pre-commit: Bump versions + * Do not install code to build release notes + * Remove Python 3.10 support + * typing: Fix compatibility with typed oslo.config + * Deprecate version module + +------------------------------------------------------------------- Old: ---- oslo_policy-5.1.0.tar.gz New: ---- oslo_policy-6.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.policy.spec ++++++ --- /var/tmp/diff_new_pack.BMmZ2t/_old 2026-08-09 21:37:20.226323513 +0200 +++ /var/tmp/diff_new_pack.BMmZ2t/_new 2026-08-09 21:37:20.226323513 +0200 @@ -17,7 +17,7 @@ Name: python-oslo.policy -Version: 5.1.0 +Version: 6.0.0 Release: 0 Summary: OpenStack Oslo Policy library License: Apache-2.0 ++++++ oslo_policy-5.1.0.tar.gz -> oslo_policy-6.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/.pre-commit-config.yaml new/oslo_policy-6.0.0/.pre-commit-config.yaml --- old/oslo_policy-5.1.0/.pre-commit-config.yaml 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/.pre-commit-config.yaml 2026-07-08 19:39:20.000000000 +0200 @@ -13,13 +13,13 @@ - id: check-yaml files: .*\.(yaml|yml)$ - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.8 + rev: v0.15.19 hooks: - id: ruff-check args: ['--fix', '--unsafe-fixes'] - id: ruff-format - repo: https://opendev.org/openstack/hacking - rev: 8.0.0 + rev: 8.1.0 hooks: - id: hacking additional_dependencies: [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/.zuul.yaml new/oslo_policy-6.0.0/.zuul.yaml --- old/oslo_policy-5.1.0/.zuul.yaml 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/.zuul.yaml 2026-07-08 19:39:20.000000000 +0200 @@ -1,3 +1,5 @@ +--- + - job: name: cross-nova-tox-functional parent: openstack-tox @@ -7,6 +9,7 @@ zuul_work_dir: src/opendev.org/openstack/nova tox_envlist: functional required-projects: + - openstack/placement - openstack/nova - openstack/oslo.policy irrelevant-files: &irrelevant-files @@ -51,6 +54,7 @@ - check-requirements - lib-forward-testing-python3 - openstack-python3-jobs + - openstack-python3-next-jobs - periodic-stable-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/AUTHORS new/oslo_policy-6.0.0/AUTHORS --- old/oslo_policy-5.1.0/AUTHORS 2026-05-18 11:18:12.000000000 +0200 +++ new/oslo_policy-6.0.0/AUTHORS 2026-07-08 19:39:46.000000000 +0200 @@ -41,6 +41,7 @@ Florent Flament <[email protected]> Gary Kotton <[email protected]> Ghanshyam <[email protected]> +Ghanshyam Maan <[email protected]> Ghanshyam Mann <[email protected]> Haiwei Xu <[email protected]> He Jie Xu <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/ChangeLog new/oslo_policy-6.0.0/ChangeLog --- old/oslo_policy-5.1.0/ChangeLog 2026-05-18 11:18:12.000000000 +0200 +++ new/oslo_policy-6.0.0/ChangeLog 2026-07-08 19:39:46.000000000 +0200 @@ -1,6 +1,17 @@ CHANGES ======= +6.0.0 +----- + +* Remove support of configuring scope enforcement +* zuul: Use openstack-python3-next-jobs template +* pre-commit: Bump versions +* Do not install code to build release notes +* Remove Python 3.10 support +* typing: Fix compatibility with typed oslo.config +* Deprecate version module + 5.1.0 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/PKG-INFO new/oslo_policy-6.0.0/PKG-INFO --- old/oslo_policy-5.1.0/PKG-INFO 2026-05-18 11:18:12.435669400 +0200 +++ new/oslo_policy-6.0.0/PKG-INFO 2026-07-08 19:39:47.014288200 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: oslo.policy -Version: 5.1.0 +Version: 6.0.0 Summary: Oslo Policy library Author-email: OpenStack <[email protected]> License-Expression: Apache-2.0 @@ -12,14 +12,14 @@ Classifier: Operating System :: POSIX :: Linux 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: requests>=2.14.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo.policy.egg-info/PKG-INFO new/oslo_policy-6.0.0/oslo.policy.egg-info/PKG-INFO --- old/oslo_policy-5.1.0/oslo.policy.egg-info/PKG-INFO 2026-05-18 11:18:12.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo.policy.egg-info/PKG-INFO 2026-07-08 19:39:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: oslo.policy -Version: 5.1.0 +Version: 6.0.0 Summary: Oslo Policy library Author-email: OpenStack <[email protected]> License-Expression: Apache-2.0 @@ -12,14 +12,14 @@ Classifier: Operating System :: POSIX :: Linux 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: requests>=2.14.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo.policy.egg-info/SOURCES.txt new/oslo_policy-6.0.0/oslo.policy.egg-info/SOURCES.txt --- old/oslo_policy-5.1.0/oslo.policy.egg-info/SOURCES.txt 2026-05-18 11:18:12.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo.policy.egg-info/SOURCES.txt 2026-07-08 19:39:46.000000000 +0200 @@ -93,6 +93,7 @@ releasenotes/notes/bug-1913718-f1b46bbff3231d98.yaml releasenotes/notes/bug-1943584-fc74f9205039883c.yaml releasenotes/notes/deprecate-policy-file-json-format-e1921f15b5d00287.yaml +releasenotes/notes/deprecate-version-module-458bb95ca17e6953.yaml releasenotes/notes/drop-py38-e6f497fd0af1dbe1.yaml releasenotes/notes/drop-python27-support-9aa06224812cc352.yaml releasenotes/notes/enforce-scope-checks-always-when-rule-has-scope_types-8f983cdf70766e4f.yaml @@ -110,7 +111,9 @@ releasenotes/notes/policy-file-validator-906d5cff864a2d51.yaml releasenotes/notes/policy-yaml-by-default-8c88efb7f5db14d1.yaml releasenotes/notes/remove-default-section-fallback-d1485959653438b6.yaml +releasenotes/notes/remove-enforce-scope-flag-1c3e886a31fc9b66.yaml releasenotes/notes/remove-json-format-support-e6a32981dff45139.yaml +releasenotes/notes/remove-py310-b4b450497a710352.yaml releasenotes/notes/remove-py39-ccce0cffbb3a90ab.yaml releasenotes/notes/requests-timeout-fbd57c7a4fdd908f.yaml releasenotes/source/2023.1.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo.policy.egg-info/pbr.json new/oslo_policy-6.0.0/oslo.policy.egg-info/pbr.json --- old/oslo_policy-5.1.0/oslo.policy.egg-info/pbr.json 2026-05-18 11:18:12.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo.policy.egg-info/pbr.json 2026-07-08 19:39:46.000000000 +0200 @@ -1 +1 @@ -{"git_version": "7b09e2d", "is_release": true} \ No newline at end of file +{"git_version": "79fd95e", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/_cache_handler.py new/oslo_policy-6.0.0/oslo_policy/_cache_handler.py --- old/oslo_policy-5.1.0/oslo_policy/_cache_handler.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/_cache_handler.py 2026-07-08 19:39:20.000000000 +0200 @@ -72,14 +72,14 @@ {'filename': filename, 'msg': msg}, ) if err_code == errno.EACCES: - raise cfg.ConfigFilesPermissionDeniedError((filename,)) + raise cfg.ConfigFilesPermissionDeniedError([filename]) except OSError as err: msg = err.strerror LOG.error( 'Config file not found %(filename)s: %(msg)s', {'filename': filename, 'msg': msg}, ) - raise cfg.ConfigFilesNotFoundError((filename,)) + raise cfg.ConfigFilesNotFoundError([filename]) cache_info['mtime'] = mtime reloaded = True return (reloaded, cache_info['data']) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/_checks.py new/oslo_policy-6.0.0/oslo_policy/_checks.py --- old/oslo_policy-5.1.0/oslo_policy/_checks.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/_checks.py 2026-07-08 19:39:20.000000000 +0200 @@ -18,15 +18,12 @@ import ast from collections.abc import Callable, Mapping, MutableMapping, Sequence import inspect -from typing import Any, TypeAlias, TypeVar, TYPE_CHECKING, overload +from typing import Any, Self, TypeAlias, TypeVar, TYPE_CHECKING, overload from oslo_context import context import stevedore -from typing_extensions import Self if TYPE_CHECKING: - from typing_extensions import Self - from oslo_policy.policy import Enforcer CredsT: TypeAlias = context.RequestContext | MutableMapping[str, Any] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/generator.py new/oslo_policy-6.0.0/oslo_policy/generator.py --- old/oslo_policy-5.1.0/oslo_policy/generator.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/generator.py 2026-07-08 19:39:20.000000000 +0200 @@ -540,7 +540,7 @@ # anything. Once everyone has migrated, we can make the arg required again # and remove this check. if conf.namespace is None: - raise cfg.RequiredOptError('namespace', 'DEFAULT') + raise cfg.RequiredOptError('namespace', cfg.OptGroup('DEFAULT')) def generate_sample( @@ -552,7 +552,8 @@ conf = cfg.CONF conf.register_cli_opts(GENERATOR_OPTS + RULE_OPTS) conf.register_opts(GENERATOR_OPTS + RULE_OPTS) - conf(args) + # https://review.opendev.org/c/openstack/oslo.config/+/992762 + conf(list(args) if args else None) _check_for_namespace_opt(conf) _generate_sample( conf.namespace, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/opts.py new/oslo_policy-6.0.0/oslo_policy/opts.py --- old/oslo_policy-5.1.0/oslo_policy/opts.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/opts.py 2026-07-08 19:39:20.000000000 +0200 @@ -26,27 +26,6 @@ _options = [ cfg.BoolOpt( - 'enforce_scope', - default=True, - deprecated_for_removal=True, - deprecated_reason='This configuration was added temporarily ' - 'to facilitate a smooth transition to the ' - 'new RBAC. OpenStack will always enforce ' - 'scope checks. This configuration option ' - 'is deprecated and will be removed in the ' - '2025.2 cycle.', - help=_( - 'This option controls whether or not to enforce scope ' - 'when evaluating policies. If ``True``, the scope of ' - 'the token used in the request is compared to the ' - '``scope_types`` of the policy being enforced. If the ' - 'scopes do not match, an ``InvalidScope`` exception ' - 'will be raised. If ``False``, a message will be ' - 'logged informing operators that policies are being ' - 'invoked with mismatching scope.' - ), - ), - cfg.BoolOpt( 'enforce_new_defaults', default=True, help=_( @@ -55,10 +34,7 @@ '``True``, the old deprecated defaults are not going ' 'to be evaluated. This means if any existing token is ' 'allowed for old defaults but is disallowed for new ' - 'defaults, it will be disallowed. It is encouraged to ' - 'enable this flag along with the ``enforce_scope`` ' - 'flag so that you can get the benefits of new defaults ' - 'and ``scope_type`` together. If ``False``, the ' + 'defaults, it will be disallowed. If ``False``, the ' "deprecated policy check string is logically OR'd " 'with the new policy check string, allowing for a ' 'graceful upgrade experience between releases with ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/policy.py new/oslo_policy-6.0.0/oslo_policy/policy.py --- old/oslo_policy-5.1.0/oslo_policy/policy.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/policy.py 2026-07-08 19:39:20.000000000 +0200 @@ -224,14 +224,13 @@ import copy import logging import os -from typing import Any, TypeAlias, TypedDict, cast +from typing import Any, Self, TypeAlias, TypedDict import warnings from oslo_config import cfg from oslo_context import context from oslo_serialization import jsonutils from oslo_utils import strutils -from typing_extensions import Self import yaml from oslo_policy import _cache_handler @@ -966,12 +965,11 @@ :returns: The policy path :raises: ConfigFilesNotFoundError if the file/path couldn't be located. """ - policy_path = cast(str | None, self.conf.find_file(path)) - + policy_path = self.conf.find_file(path) if policy_path: return policy_path - raise cfg.ConfigFilesNotFoundError((path,)) + raise cfg.ConfigFilesNotFoundError([path]) def enforce( self, @@ -1124,7 +1122,8 @@ self, creds: MutableMapping[str, Any], rule: '_checks.BaseCheck | RuleDefault', - do_raise: bool = True, + *, + do_raise: bool, ) -> bool: if not rule.scope_types: return True @@ -1142,22 +1141,9 @@ result = True if rule.scope_types and token_scope not in rule.scope_types: - if self.conf.oslo_policy.enforce_scope: - if do_raise: - raise InvalidScope(rule, rule.scope_types, token_scope) - else: - result = False - # If we don't raise an exception we should at least - # inform operators about policies that are being used - # with improper scopes. - msg = ( - f'Policy {rule} failed scope check. The token ' - f'used to make the request was {token_scope} ' - f'scoped but the policy requires {rule.scope_types} ' - f'scope. This behavior may change in the future ' - f'where using the intended scope is required' - ) - warnings.warn(msg) + if do_raise: + raise InvalidScope(rule, rule.scope_types, token_scope) + result = False return result def _map_context_attributes_into_creds( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/tests/test_opts.py new/oslo_policy-6.0.0/oslo_policy/tests/test_opts.py --- old/oslo_policy-5.1.0/oslo_policy/tests/test_opts.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/tests/test_opts.py 2026-07-08 19:39:20.000000000 +0200 @@ -38,18 +38,8 @@ opts.set_defaults(self.conf, policy_file='new-value.json') self.assertEqual('new-value.json', self.conf.oslo_policy.policy_file) - def test_set_defaults_enforce_scope(self): + def test_set_enforce_new_defaults_opt(self): opts._register(self.conf) - self.assertEqual(True, self.conf.oslo_policy.enforce_scope) - opts.set_defaults(self.conf, enforce_scope=False) - self.assertEqual(False, self.conf.oslo_policy.enforce_scope) - - def test_set_defaults_two_opts(self): - opts._register(self.conf) - self.assertEqual(True, self.conf.oslo_policy.enforce_scope) self.assertEqual(True, self.conf.oslo_policy.enforce_new_defaults) - opts.set_defaults( - self.conf, enforce_scope=False, enforce_new_defaults=False - ) - self.assertEqual(False, self.conf.oslo_policy.enforce_scope) + opts.set_defaults(self.conf, enforce_new_defaults=False) self.assertEqual(False, self.conf.oslo_policy.enforce_new_defaults) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/tests/test_policy.py new/oslo_policy-6.0.0/oslo_policy/tests/test_policy.py --- old/oslo_policy-5.1.0/oslo_policy/tests/test_policy.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/tests/test_policy.py 2026-07-08 19:39:20.000000000 +0200 @@ -803,7 +803,7 @@ enforcer._get_policy_path, enforcer.policy_file, ) - self.assertEqual(('raise_error.yaml',), e.config_files) + self.assertEqual(['raise_error.yaml'], e.config_files) def test_enforcer_set_rules(self): rules: dict[str, _checks.BaseCheck] = {'test': _checks.FalseCheck()} @@ -961,7 +961,6 @@ self.enforcer.enforce('fake_rule', {}, policy_values) def test_enforcer_understands_system_scope(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['system'] ) @@ -971,7 +970,6 @@ self.enforcer.enforce('fake_rule', {}, ctx) def test_enforcer_understands_system_scope_creds_dict(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['system'] ) @@ -984,7 +982,6 @@ self.enforcer.enforce('fake_rule', {}, creds) def test_enforcer_raises_invalid_scope_with_system_scope_type(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['system'] ) @@ -1021,7 +1018,6 @@ ) def test_enforcer_understands_domain_scope(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['domain'] ) @@ -1031,7 +1027,6 @@ self.enforcer.enforce('fake_rule', {}, ctx) def test_enforcer_raises_invalid_scope_with_domain_scope_type(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['domain'] ) @@ -1068,7 +1063,6 @@ ) def test_enforcer_understands_project_scope(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['project'] ) @@ -1078,7 +1072,6 @@ self.enforcer.enforce('fake_rule', {}, ctx) def test_enforcer_raises_invalid_scope_with_project_scope_type(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = policy.RuleDefault( name='fake_rule', check_str='role:test', scope_types=['project'] ) @@ -1115,14 +1108,12 @@ ) def test_enforce_scope_with_subclassed_checks_when_scope_not_set(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = _checks.TrueCheck() rule.scope_types = None ctx = context.RequestContext(system_scope='all', roles=['admin']) self.enforcer.enforce(rule, {}, ctx) def test_enforcer_raises_invalid_scope_with_subclassed_checks(self): - self.conf.set_override('enforce_scope', True, group='oslo_policy') rule = _checks.TrueCheck() rule.scope_types = ['domain'] ctx = context.RequestContext(system_scope='all', roles=['admin']) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/oslo_policy/version.py new/oslo_policy-6.0.0/oslo_policy/version.py --- old/oslo_policy-5.1.0/oslo_policy/version.py 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/oslo_policy/version.py 2026-07-08 19:39:20.000000000 +0200 @@ -12,6 +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.policy') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/pyproject.toml new/oslo_policy-6.0.0/pyproject.toml --- old/oslo_policy-5.1.0/pyproject.toml 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/pyproject.toml 2026-07-08 19:39:20.000000000 +0200 @@ -10,7 +10,7 @@ {name = "OpenStack", email = "[email protected]"}, ] license = "Apache-2.0" -requires-python = ">=3.10" +requires-python = ">=3.11" classifiers = [ "Environment :: OpenStack", "Intended Audience :: Information Technology", @@ -18,10 +18,10 @@ "Operating System :: POSIX :: Linux", "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", @@ -52,7 +52,7 @@ include = ["oslo_policy"] [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_policy-5.1.0/releasenotes/notes/deprecate-version-module-458bb95ca17e6953.yaml new/oslo_policy-6.0.0/releasenotes/notes/deprecate-version-module-458bb95ca17e6953.yaml --- old/oslo_policy-5.1.0/releasenotes/notes/deprecate-version-module-458bb95ca17e6953.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo_policy-6.0.0/releasenotes/notes/deprecate-version-module-458bb95ca17e6953.yaml 2026-07-08 19:39:20.000000000 +0200 @@ -0,0 +1,6 @@ +--- +deprecations: + - | + The ``oslo_policy.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_policy-5.1.0/releasenotes/notes/remove-enforce-scope-flag-1c3e886a31fc9b66.yaml new/oslo_policy-6.0.0/releasenotes/notes/remove-enforce-scope-flag-1c3e886a31fc9b66.yaml --- old/oslo_policy-5.1.0/releasenotes/notes/remove-enforce-scope-flag-1c3e886a31fc9b66.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo_policy-6.0.0/releasenotes/notes/remove-enforce-scope-flag-1c3e886a31fc9b66.yaml 2026-07-08 19:39:20.000000000 +0200 @@ -0,0 +1,8 @@ +--- +upgrade: + - | + Configuring scope enforcement is no longer supported. If policy rules + have the ``scope_types`` defined then scope enforcement will always occur. + The config option ``enforce_scope``, which was added temporarily to + facilitate a smooth transition to the new RBAC model, has now been + removed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/releasenotes/notes/remove-py310-b4b450497a710352.yaml new/oslo_policy-6.0.0/releasenotes/notes/remove-py310-b4b450497a710352.yaml --- old/oslo_policy-5.1.0/releasenotes/notes/remove-py310-b4b450497a710352.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo_policy-6.0.0/releasenotes/notes/remove-py310-b4b450497a710352.yaml 2026-07-08 19:39:20.000000000 +0200 @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Support for Python 3.10 has been removed. Now the minimum python version + supported is 3.11. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo_policy-5.1.0/tox.ini new/oslo_policy-6.0.0/tox.ini --- old/oslo_policy-5.1.0/tox.ini 2026-05-18 11:17:44.000000000 +0200 +++ new/oslo_policy-6.0.0/tox.ini 2026-07-08 19:39:20.000000000 +0200 @@ -7,7 +7,6 @@ {env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} deps = -r{toxinidir}/test-requirements.txt - -r{toxinidir}/requirements.txt commands = stestr run --slowest {posargs} [testenv:pep8] @@ -56,6 +55,7 @@ coverage report --show-missing [testenv:releasenotes] +skip_install = true allowlist_externals = rm deps =
