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-09-02 17:00:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.config (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.config.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.config"

Wed Sep  2 17:00:51 2026 rev:53 rq:1375237 version:10.7.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.config/python-oslo.config.changes    
2026-08-09 21:37:04.885801164 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.config.new.1265/python-oslo.config.changes
  2026-09-02 17:01:02.604791141 +0200
@@ -1,0 +2,8 @@
+Tue Sep  1 21:35:23 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 10.7.0:
+  * bindep: Remove stale marker
+  * Implements sample_max and sample_min
+  * Maintain doc8 options in pyproject.toml
+
+-------------------------------------------------------------------

Old:
----
  oslo_config-10.6.0.tar.gz

New:
----
  oslo_config-10.7.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oslo.config.spec ++++++
--- /var/tmp/diff_new_pack.gzx2bx/_old  2026-09-02 17:01:03.252813402 +0200
+++ /var/tmp/diff_new_pack.gzx2bx/_new  2026-09-02 17:01:03.254813471 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-oslo.config
-Version:        10.6.0
+Version:        10.7.0
 Release:        0
 Summary:        OpenStack common configuration library
 License:        Apache-2.0

++++++ oslo_config-10.6.0.tar.gz -> oslo_config-10.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/.pre-commit-config.yaml 
new/oslo_config-10.7.0/.pre-commit-config.yaml
--- old/oslo_config-10.6.0/.pre-commit-config.yaml      2026-07-16 
13:15:12.000000000 +0200
+++ new/oslo_config-10.7.0/.pre-commit-config.yaml      2026-08-07 
13:12:55.000000000 +0200
@@ -27,4 +27,3 @@
     rev: v2.0.0
     hooks:
       - id: doc8
-        args: ['--ignore', 'D001']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/AUTHORS 
new/oslo_config-10.7.0/AUTHORS
--- old/oslo_config-10.6.0/AUTHORS      2026-07-16 13:15:43.000000000 +0200
+++ new/oslo_config-10.7.0/AUTHORS      2026-08-07 13:13:32.000000000 +0200
@@ -162,6 +162,7 @@
 Takashi Kajinami <[email protected]>
 Takashi NATSUME <[email protected]>
 Thomas Bechtold <[email protected]>
+Thomas Goirand <[email protected]>
 Thomas Herve <[email protected]>
 Thomas Morin <[email protected]>
 Tim Miller <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/ChangeLog 
new/oslo_config-10.7.0/ChangeLog
--- old/oslo_config-10.6.0/ChangeLog    2026-07-16 13:15:43.000000000 +0200
+++ new/oslo_config-10.7.0/ChangeLog    2026-08-07 13:13:32.000000000 +0200
@@ -1,9 +1,17 @@
 CHANGES
 =======
 
+10.7.0
+------
+
+* bindep: Remove stale marker
+* Implements sample\_max and sample\_min
+* Maintain doc8 options in pyproject.toml
+
 10.6.0
 ------
 
+* Document ConfigOpts state snapshots
 * Name ConfigOpts serialized state version
 * ruff: Enable log-related checks
 * Support ConfigOpts state snapshots for spawn workers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/PKG-INFO 
new/oslo_config-10.7.0/PKG-INFO
--- old/oslo_config-10.6.0/PKG-INFO     2026-07-16 13:15:43.727089000 +0200
+++ new/oslo_config-10.7.0/PKG-INFO     2026-08-07 13:13:32.971447700 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: oslo.config
-Version: 10.6.0
+Version: 10.7.0
 Summary: Oslo Configuration API
 Author-email: OpenStack <[email protected]>
 License-Expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/bindep.txt 
new/oslo_config-10.7.0/bindep.txt
--- old/oslo_config-10.6.0/bindep.txt   2026-07-16 13:15:12.000000000 +0200
+++ new/oslo_config-10.7.0/bindep.txt   2026-08-07 13:12:55.000000000 +0200
@@ -2,6 +2,6 @@
 # see http://docs.openstack.org/infra/bindep/ for additional information.
 
 locales [platform:debian]
-python3-all-dev [platform:ubuntu !platform:ubuntu-precise]
+python3-all-dev [platform:ubuntu]
 python3-dev [platform:dpkg]
 python3-devel [platform:fedora]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo_config-10.6.0/doc/source/reference/configopts-state.rst 
new/oslo_config-10.7.0/doc/source/reference/configopts-state.rst
--- old/oslo_config-10.6.0/doc/source/reference/configopts-state.rst    
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo_config-10.7.0/doc/source/reference/configopts-state.rst    
2026-08-07 13:12:55.000000000 +0200
@@ -0,0 +1,73 @@
+========================================
+ ConfigOpts state and spawn processes
+========================================
+
+The ``spawn`` multiprocessing start method starts a fresh Python interpreter.
+Unlike a process created with ``fork``, the child does not inherit the parent
+process memory state.  A configured :class:`~oslo_config.cfg.ConfigOpts`
+instance can be passed to a spawned worker because it supports Python
+``pickle`` serialization.
+
+The :meth:`~oslo_config.cfg.ConfigOpts.export_state` method returns an explicit
+snapshot, and :meth:`~oslo_config.cfg.ConfigOpts.import_state` creates a new
+``ConfigOpts`` instance from such a snapshot.  Pickling a ``ConfigOpts``
+instance uses the same snapshot representation.
+
+The snapshot preserves registered options and groups, parsed command-line and
+configuration-file values, defaults, overrides, parsed namespaces, and setup
+metadata such as the project name and default configuration files and
+directories.
+
+Process-local state is intentionally not serialized.  This includes argparse
+parsers, caches, mutation hooks, extension managers, and environment drivers.
+The child recreates the internal objects needed for normal option access, but
+applications must register mutation hooks again and recreate any other
+process-local state that they need in the child.
+
+Alternative configuration sources
+---------------------------------
+
+A snapshot cannot be exported after alternative configuration sources have
+been loaded.  These sources are typically created when the ``config_source``
+option or ``--config_source`` command-line argument is used, and may contain
+process-local or non-picklable resources.  In that case, serialization raises
+:class:`~oslo_config.cfg.ConfigOptsSerializationError` rather than silently
+discarding configuration state.  Driver option metadata associated with
+configuration source drivers is also unsupported.
+
+Applications that use alternative sources should pass serializable inputs to
+the child and recreate the sources there instead of passing the configured
+``ConfigOpts`` instance.
+
+Using ConfigOpts with multiprocessing spawn
+-------------------------------------------
+
+Worker functions must be defined at module scope so that ``spawn`` can import
+them.  In this example, the override set in the parent is available in the
+child:
+
+.. code-block:: python
+
+   import multiprocessing
+
+   from oslo_config import cfg
+
+
+   def worker(conf, result_queue):
+       result_queue.put(conf.worker_count)
+
+
+   if __name__ == '__main__':
+       conf = cfg.ConfigOpts()
+       conf.register_opt(cfg.IntOpt('worker_count', default=1))
+       conf.set_override('worker_count', 4)
+
+       context = multiprocessing.get_context('spawn')
+       result_queue = context.Queue()
+       process = context.Process(target=worker, args=(conf, result_queue))
+       process.start()
+
+       assert result_queue.get() == 4
+       process.join()
+       assert process.exitcode == 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/doc/source/reference/index.rst 
new/oslo_config-10.7.0/doc/source/reference/index.rst
--- old/oslo_config-10.6.0/doc/source/reference/index.rst       2026-07-16 
13:15:12.000000000 +0200
+++ new/oslo_config-10.7.0/doc/source/reference/index.rst       2026-08-07 
13:12:55.000000000 +0200
@@ -9,6 +9,7 @@
    defining
    naming
    accessing
+   configopts-state
    configuration-files
    command-line
    deprecating
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/oslo.config.egg-info/PKG-INFO 
new/oslo_config-10.7.0/oslo.config.egg-info/PKG-INFO
--- old/oslo_config-10.6.0/oslo.config.egg-info/PKG-INFO        2026-07-16 
13:15:43.000000000 +0200
+++ new/oslo_config-10.7.0/oslo.config.egg-info/PKG-INFO        2026-08-07 
13:13:32.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: oslo.config
-Version: 10.6.0
+Version: 10.7.0
 Summary: Oslo Configuration API
 Author-email: OpenStack <[email protected]>
 License-Expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/oslo.config.egg-info/SOURCES.txt 
new/oslo_config-10.7.0/oslo.config.egg-info/SOURCES.txt
--- old/oslo_config-10.6.0/oslo.config.egg-info/SOURCES.txt     2026-07-16 
13:15:43.000000000 +0200
+++ new/oslo_config-10.7.0/oslo.config.egg-info/SOURCES.txt     2026-08-07 
13:13:32.000000000 +0200
@@ -31,6 +31,7 @@
 doc/source/contributor/index.rst
 doc/source/reference/accessing.rst
 doc/source/reference/command-line.rst
+doc/source/reference/configopts-state.rst
 doc/source/reference/configuration-files.rst
 doc/source/reference/defining.rst
 doc/source/reference/deprecating.rst
@@ -113,6 +114,7 @@
 releasenotes/notes/remove-py38-2cebf20be79f1709.yaml
 releasenotes/notes/remove-py39-2c955ada07c2a862.yaml
 releasenotes/notes/remove-uri-value-4078778bce0b96cb.yaml
+releasenotes/notes/sample_min-and-max-9f1b321fa408bf2f.yaml
 releasenotes/notes/show-deprecated-reason-361a8eb31e05c97e.yaml
 releasenotes/notes/support-choice-descriptions-8b2d0c14fbd16b2a.yaml
 releasenotes/notes/support-fatal-deprecations-ea0513aa58a395ca.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/oslo.config.egg-info/pbr.json 
new/oslo_config-10.7.0/oslo.config.egg-info/pbr.json
--- old/oslo_config-10.6.0/oslo.config.egg-info/pbr.json        2026-07-16 
13:15:43.000000000 +0200
+++ new/oslo_config-10.7.0/oslo.config.egg-info/pbr.json        2026-08-07 
13:13:32.000000000 +0200
@@ -1 +1 @@
-{"git_version": "e148266", "is_release": true}
\ No newline at end of file
+{"git_version": "37b7876", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/oslo_config/cfg.py 
new/oslo_config-10.7.0/oslo_config/cfg.py
--- old/oslo_config-10.6.0/oslo_config/cfg.py   2026-07-16 13:15:12.000000000 
+0200
+++ new/oslo_config-10.7.0/oslo_config/cfg.py   2026-08-07 13:12:55.000000000 
+0200
@@ -1176,6 +1176,8 @@
     :param max: maximum value the integer can take
     :param choices: Optional sequence of either valid values or tuples of valid
         values with descriptions.
+    :param sample_min: a minimum value string for sample config files
+    :param sample_max: a maximum value string for sample config files
     :param \*\*kwargs: arbitrary keyword arguments passed to :class:`Opt`
 
     .. versionchanged:: 1.15
@@ -1186,6 +1188,11 @@
     .. versionchanged:: 9.3.0
 
        Added *choices* parameter.
+
+    .. versionchanged:: 10.7.0
+
+       Added sample_min and sample_max,
+
     """
 
     def __init__(
@@ -1194,11 +1201,19 @@
         min: int | None = None,
         max: int | None = None,
         choices: Any = None,
+        sample_min: str | None = None,
+        sample_max: str | None = None,
         **kwargs: Any,
     ) -> None:
         super().__init__(
             name,
-            type=types.Integer(min=min, max=max, choices=choices),
+            type=types.Integer(
+                min=min,
+                max=max,
+                choices=choices,
+                sample_min=sample_min,
+                sample_max=sample_max,
+            ),
             **kwargs,
         )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/oslo_config/generator.py 
new/oslo_config-10.7.0/oslo_config/generator.py
--- old/oslo_config-10.6.0/oslo_config/generator.py     2026-07-16 
13:15:12.000000000 +0200
+++ new/oslo_config-10.7.0/oslo_config/generator.py     2026-08-07 
13:12:55.000000000 +0200
@@ -337,10 +337,16 @@
         lines = self._format_help(help_text)
 
         if getattr(opt.type, 'min', None) is not None:
-            lines.append(f'# Minimum value: {opt.type.min}\n')
+            if getattr(opt.type, 'sample_min', None) is not None:
+                lines.append(f'# Minimum value: {opt.type.sample_min}\n')
+            else:
+                lines.append(f'# Minimum value: {opt.type.min}\n')
 
         if getattr(opt.type, 'max', None) is not None:
-            lines.append(f'# Maximum value: {opt.type.max}\n')
+            if getattr(opt.type, 'sample_max', None) is not None:
+                lines.append(f'# Maximum value: {opt.type.sample_max}\n')
+            else:
+                lines.append(f'# Maximum value: {opt.type.max}\n')
 
         if getattr(opt.type, 'choices', None):
             lines.append('# Possible values:\n')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo_config-10.6.0/oslo_config/tests/test_generator.py 
new/oslo_config-10.7.0/oslo_config/tests/test_generator.py
--- old/oslo_config-10.6.0/oslo_config/tests/test_generator.py  2026-07-16 
13:15:12.000000000 +0200
+++ new/oslo_config-10.7.0/oslo_config/tests/test_generator.py  2026-08-07 
13:12:55.000000000 +0200
@@ -160,6 +160,20 @@
         'int_opt_max_0': cfg.IntOpt(
             'int_opt_max_0', default=-1, max=0, help='an integer'
         ),
+        'int_opt_max_0_with_spl': cfg.IntOpt(
+            'int_opt_max_0_with_spl',
+            default=-1,
+            max=0,
+            sample_max='zero',
+            help='an integer',
+        ),
+        'int_opt_min_2_with_spl': cfg.IntOpt(
+            'int_opt_min_2_with_spl',
+            default=5,
+            min=0,
+            sample_min='two',
+            help='an integer',
+        ),
         'float_opt': cfg.FloatOpt('float_opt', default=0.1, help='a float'),
         'list_opt': cfg.ListOpt(
             'list_opt', default=['1', '2', '3'], help='a list'
@@ -788,6 +802,38 @@
 ''',
             ),
         ),
+        (
+            'int_opt_max_0_with_spl',
+            dict(
+                opts=[('test', [(None, [opts['int_opt_max_0_with_spl']])])],
+                expected='''[DEFAULT]
+
+#
+# From test
+#
+
+# an integer (integer value)
+# Maximum value: zero
+#int_opt_max_0_with_spl = -1
+''',
+            ),
+        ),
+        (
+            'int_opt_min_2_with_spl',
+            dict(
+                opts=[('test', [(None, [opts['int_opt_min_2_with_spl']])])],
+                expected='''[DEFAULT]
+
+#
+# From test
+#
+
+# an integer (integer value)
+# Minimum value: two
+#int_opt_min_2_with_spl = 5
+''',
+            ),
+        ),
         (
             'float_opt',
             dict(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/oslo_config/types.py 
new/oslo_config-10.7.0/oslo_config/types.py
--- old/oslo_config-10.6.0/oslo_config/types.py 2026-07-16 13:15:12.000000000 
+0200
+++ new/oslo_config-10.7.0/oslo_config/types.py 2026-08-07 13:12:55.000000000 
+0200
@@ -291,6 +291,10 @@
     :param type_name: Type name to be used in the sample config file.
     :param min: Optional check that value is greater than or equal to min.
     :param max: Optional check that value is less than or equal to max.
+    :param sample_min: Optional display value when generating config file,
+                       replacing min.
+    :param sample_max: Optional display value when generating config file,
+                       replacing max.
     :param choices: Optional sequence of either valid values or tuples of valid
         values with descriptions.
 
@@ -299,6 +303,11 @@
     .. versionchanged:: 5.2
        The *choices* parameter will now accept a sequence of tuples, where each
        tuple is of form (*choice*, *description*)
+
+    .. versionchanged:: 10.7.0
+
+       Added sample_min and sample_max,
+
     """
 
     choices: collections.OrderedDict[int | float, str | None] | None
@@ -310,6 +319,8 @@
         min: int | float | None = None,
         max: int | float | None = None,
         choices: Any = None,
+        sample_min: str | None = None,
+        sample_max: str | None = None,
     ) -> None:
         super().__init__(type_name=type_name)
 
@@ -336,6 +347,8 @@
 
         self.min = min
         self.max = max
+        self.sample_min = sample_min
+        self.sample_max = sample_max
         self.num_type = num_type
 
     def __call__(self, value: Any) -> int | float | None:
@@ -407,6 +420,10 @@
     :param type_name: Type name to be used in the sample config file.
     :param choices: Optional sequence of either valid values or tuples of valid
         values with descriptions.
+    :param sample_min: Optional display value when generating config file,
+                       replacing min.
+    :param sample_max: Optional display value when generating config file,
+                       replacing max.
 
     .. versionchanged:: 2.4
        The class now honors zero for *min* and *max* parameters.
@@ -424,6 +441,11 @@
     .. versionchanged:: 5.2
        The *choices* parameter will now accept a sequence of tuples, where each
        tuple is of form (*choice*, *description*)
+
+    .. versionchanged:: 10.7.0
+
+       Added sample_min and sample_max,
+
     """
 
     def __init__(
@@ -432,8 +454,18 @@
         max: int | None = None,
         type_name: str = 'integer value',
         choices: Any = None,
+        sample_min: str | None = None,
+        sample_max: str | None = None,
     ) -> None:
-        super().__init__(int, type_name, min=min, max=max, choices=choices)
+        super().__init__(
+            int,
+            type_name,
+            min=min,
+            max=max,
+            choices=choices,
+            sample_min=sample_min,
+            sample_max=sample_max,
+        )
 
 
 class Float(Number):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_config-10.6.0/pyproject.toml 
new/oslo_config-10.7.0/pyproject.toml
--- old/oslo_config-10.6.0/pyproject.toml       2026-07-16 13:15:12.000000000 
+0200
+++ new/oslo_config-10.7.0/pyproject.toml       2026-08-07 13:12:55.000000000 
+0200
@@ -83,3 +83,6 @@
 
 [tool.ruff.lint.per-file-ignores]
 "oslo_config/tests/*" = ["S"]
+
+[tool.doc8]
+ignore = ["D001"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo_config-10.6.0/releasenotes/notes/configopts-serialization-spawn-9f6d3a1c2b4e5f70.yaml
 
new/oslo_config-10.7.0/releasenotes/notes/configopts-serialization-spawn-9f6d3a1c2b4e5f70.yaml
--- 
old/oslo_config-10.6.0/releasenotes/notes/configopts-serialization-spawn-9f6d3a1c2b4e5f70.yaml
      2026-07-16 13:15:12.000000000 +0200
+++ 
new/oslo_config-10.7.0/releasenotes/notes/configopts-serialization-spawn-9f6d3a1c2b4e5f70.yaml
      2026-08-07 13:12:55.000000000 +0200
@@ -10,5 +10,7 @@
 
     Process-local helpers such as argparse parsers, caches, extension managers,
     mutation hooks, and environment drivers are intentionally excluded from the
-    serialized state. Loaded configuration source objects are rejected with
-    ``ConfigOptsSerializationError`` instead of being silently dropped.
+    serialized state. Loaded configuration source objects, typically created
+    through the ``config_source`` option or ``--config_source`` argument, are
+    rejected with ``ConfigOptsSerializationError`` instead of being silently
+    dropped.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo_config-10.6.0/releasenotes/notes/sample_min-and-max-9f1b321fa408bf2f.yaml
 
new/oslo_config-10.7.0/releasenotes/notes/sample_min-and-max-9f1b321fa408bf2f.yaml
--- 
old/oslo_config-10.6.0/releasenotes/notes/sample_min-and-max-9f1b321fa408bf2f.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo_config-10.7.0/releasenotes/notes/sample_min-and-max-9f1b321fa408bf2f.yaml
  2026-08-07 13:12:55.000000000 +0200
@@ -0,0 +1,10 @@
+---
+features:
+  - |
+    There is now new `sample_min` and `sample_max` attributes to the int
+    configuration object. They may be use to replace the min and max values
+    when generating the configuration file with oslo-config-generator. For
+    example, if one wants max=processutils.get_worker_count(), it is desirable
+    to set a sample_max value (ie: `sample_max='<WORKER_COUNT>'`) to avoid
+    that the number of CPU of the builder machine leaks in the generated
+    configuration file.

Reply via email to