Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-hatchling for
openSUSE:Factory checked in at 2026-09-23 14:32:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hatchling (Old)
and /work/SRC/openSUSE:Factory/.python-hatchling.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hatchling"
Wed Sep 23 14:32:26 2026 rev:39 rq:1379580 version:1.32.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hatchling/python-hatchling.changes
2026-09-21 12:01:22.556601012 +0200
+++
/work/SRC/openSUSE:Factory/.python-hatchling.new.383539/python-hatchling.changes
2026-09-23 14:32:57.401335709 +0200
@@ -1,0 +2,14 @@
+Mon Sep 21 19:58:25 UTC 2026 - BenoƮt Monin <[email protected]>
+
+- update to version 1.32.4:
+ * Fixed:
+ + Revert the extra type parameter added to
+ BuildHookInterface in 1.32.3, which broke plugins
+ that subscripted the interface with a single argument
+ (e.g. BuildHookInterface[MyConfig]) by raising TypeError at
+ import time. BuilderConfig is likewise no longer generic,
+ restoring the pre-1.32.3 plugin interface.
+ + Strip spaces around version metadata when using original
+ input for CalVer to keep leading zeroes.
+
+-------------------------------------------------------------------
Old:
----
hatchling-1.32.3.tar.gz
New:
----
hatchling-1.32.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-hatchling.spec ++++++
--- /var/tmp/diff_new_pack.WeoNoA/_old 2026-09-23 14:32:58.019361546 +0200
+++ /var/tmp/diff_new_pack.WeoNoA/_new 2026-09-23 14:32:58.020361587 +0200
@@ -24,7 +24,7 @@
%{?pythons_for_pypi}
%{?sle15_python_module_pythons}
Name: python-hatchling
-Version: 1.32.3
+Version: 1.32.4
Release: 0
Summary: Build backend used by Hatch
License: MIT
++++++ hatchling-1.32.3.tar.gz -> hatchling-1.32.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/PKG-INFO
new/hatchling-1.32.4/PKG-INFO
--- old/hatchling-1.32.3/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.5
Name: hatchling
-Version: 1.32.3
+Version: 1.32.4
Summary: Modern, extensible Python build backend
Project-URL: Homepage, https://hatch.pypa.io/latest/
Project-URL: Sponsor, https://github.com/sponsors/ofek
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/__about__.py
new/hatchling-1.32.4/src/hatchling/__about__.py
--- old/hatchling-1.32.3/src/hatchling/__about__.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/__about__.py 2020-02-02
01:00:00.000000000 +0100
@@ -1 +1 @@
-__version__ = "1.32.3"
+__version__ = "1.32.4"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/builders/binary.py
new/hatchling-1.32.4/src/hatchling/builders/binary.py
--- old/hatchling-1.32.3/src/hatchling/builders/binary.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/binary.py 2020-02-02
01:00:00.000000000 +0100
@@ -6,13 +6,12 @@
from hatchling.builders.config import BuilderConfig
from hatchling.builders.plugin.interface import BuilderInterface
-from hatchling.plugin.manager import PluginManager
if TYPE_CHECKING:
from collections.abc import Callable
-class BinaryBuilderConfig(BuilderConfig[PluginManager]):
+class BinaryBuilderConfig(BuilderConfig):
SUPPORTED_VERSIONS = ("3.12", "3.11", "3.10", "3.9", "3.8", "3.7")
def __init__(self, *args: Any, **kwargs: Any) -> None:
@@ -83,7 +82,7 @@
return self.__pyapp_version
-class BinaryBuilder(BuilderInterface[BinaryBuilderConfig, PluginManager]):
+class BinaryBuilder(BuilderInterface):
"""
Build binaries
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/builders/config.py
new/hatchling-1.32.4/src/hatchling/builders/config.py
--- old/hatchling-1.32.3/src/hatchling/builders/config.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/config.py 2020-02-02
01:00:00.000000000 +0100
@@ -3,28 +3,25 @@
import os
from contextlib import contextmanager
from functools import cached_property
-from typing import TYPE_CHECKING, Any, Generic, TypeVar
+from typing import TYPE_CHECKING, Any, TypeVar
import pathspec
from hatchling.builders.constants import DEFAULT_BUILD_DIRECTORY,
EXCLUDED_DIRECTORIES, BuildEnvVars
from hatchling.builders.utils import normalize_inclusion_map,
normalize_relative_directory, normalize_relative_path
from hatchling.metadata.utils import normalize_project_name
-from hatchling.plugin.manager import PluginManagerBound
from hatchling.utils.fs import locate_file
if TYPE_CHECKING:
from collections.abc import Generator
- from typing_extensions import Self
-
from hatchling.builders.plugin.interface import BuilderInterface
-class BuilderConfig(Generic[PluginManagerBound]):
+class BuilderConfig:
def __init__(
self,
- builder: BuilderInterface[Self, PluginManagerBound],
+ builder: BuilderInterface,
root: str,
plugin_name: str,
build_config: dict[str, Any],
@@ -46,7 +43,7 @@
self.build_reserved_paths: set[str] = set()
@property
- def builder(self) -> BuilderInterface[Self, PluginManagerBound]:
+ def builder(self) -> BuilderInterface:
return self.__builder
@property
@@ -864,4 +861,4 @@
return default
-BuilderConfigBound = TypeVar("BuilderConfigBound", bound=BuilderConfig[Any])
+BuilderConfigBound = TypeVar("BuilderConfigBound", bound=BuilderConfig)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/builders/custom.py
new/hatchling-1.32.4/src/hatchling/builders/custom.py
--- old/hatchling-1.32.3/src/hatchling/builders/custom.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/custom.py 2020-02-02
01:00:00.000000000 +0100
@@ -21,9 +21,9 @@
root: str,
plugin_manager: PluginManagerBound | None = None,
config: dict[str, Any] | None = None,
- metadata: ProjectMetadata[PluginManagerBound] | None = None,
+ metadata: ProjectMetadata | None = None,
app: Application | None = None,
- ) -> BuilderInterface[Any, PluginManagerBound]:
+ ) -> BuilderInterface:
project_metadata = ProjectMetadata(root, plugin_manager, config)
target_config =
project_metadata.hatch.build_targets.get(cls.PLUGIN_NAME, {})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hatchling-1.32.3/src/hatchling/builders/hooks/plugin/interface.py
new/hatchling-1.32.4/src/hatchling/builders/hooks/plugin/interface.py
--- old/hatchling-1.32.3/src/hatchling/builders/hooks/plugin/interface.py
2020-02-02 01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/hooks/plugin/interface.py
2020-02-02 01:00:00.000000000 +0100
@@ -3,25 +3,23 @@
from typing import TYPE_CHECKING, Any, Generic, cast
from hatchling.builders.config import BuilderConfigBound
-from hatchling.plugin.manager import PluginManagerBound
if TYPE_CHECKING:
from hatchling.bridge.app import Application
from hatchling.metadata.core import ProjectMetadata
-class BuildHookInterface(Generic[BuilderConfigBound, PluginManagerBound]): #
no cov
+class BuildHookInterface(Generic[BuilderConfigBound]): # no cov
"""
Example usage:
```python tab="plugin.py"
from hatchling.builders.hooks.plugin.interface import BuildHookInterface
- from hatchling.plugin.manager import PluginManager
from .builder import SpecialBuilderConfig
- class SpecialBuildHook(BuildHookInterface[SpecialBuilderConfig,
PluginManager]):
+ class SpecialBuildHook(BuildHookInterface[SpecialBuilderConfig]):
PLUGIN_NAME = "special"
...
```
@@ -46,7 +44,7 @@
root: str,
config: dict[str, Any],
build_config: BuilderConfigBound,
- metadata: ProjectMetadata[PluginManagerBound],
+ metadata: ProjectMetadata,
directory: str,
target_name: str,
app: Application | None = None,
@@ -91,7 +89,7 @@
return self.__config
@property
- def metadata(self) -> ProjectMetadata[PluginManagerBound]:
+ def metadata(self) -> ProjectMetadata:
# Undocumented for now
return self.__metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hatchling-1.32.3/src/hatchling/builders/plugin/hooks.py
new/hatchling-1.32.4/src/hatchling/builders/plugin/hooks.py
--- old/hatchling-1.32.3/src/hatchling/builders/plugin/hooks.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/plugin/hooks.py 2020-02-02
01:00:00.000000000 +0100
@@ -15,4 +15,4 @@
@hookimpl
def hatch_register_builder() -> list[type[BuilderInterface]]:
- return [AppBuilder, BinaryBuilder, CustomBuilder, SdistBuilder,
WheelBuilder]
+ return [AppBuilder, BinaryBuilder, CustomBuilder, SdistBuilder,
WheelBuilder] # type: ignore[list-item]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/builders/sdist.py
new/hatchling-1.32.4/src/hatchling/builders/sdist.py
--- old/hatchling-1.32.3/src/hatchling/builders/sdist.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/sdist.py 2020-02-02
01:00:00.000000000 +0100
@@ -21,7 +21,6 @@
replace_file,
)
from hatchling.metadata.spec import DEFAULT_METADATA_VERSION,
get_core_metadata_constructors
-from hatchling.plugin.manager import PluginManager
from hatchling.utils.constants import DEFAULT_BUILD_SCRIPT, DEFAULT_CONFIG_FILE
if TYPE_CHECKING:
@@ -88,7 +87,7 @@
self.fd.close()
-class SdistBuilderConfig(BuilderConfig[PluginManager]):
+class SdistBuilderConfig(BuilderConfig):
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
@@ -143,7 +142,7 @@
return self.__support_legacy
-class SdistBuilder(BuilderInterface[SdistBuilderConfig, PluginManager]):
+class SdistBuilder(BuilderInterface):
"""
Build an archive of the source files
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/builders/wheel.py
new/hatchling-1.32.4/src/hatchling/builders/wheel.py
--- old/hatchling-1.32.3/src/hatchling/builders/wheel.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/builders/wheel.py 2020-02-02
01:00:00.000000000 +0100
@@ -27,7 +27,6 @@
set_zip_info_mode,
)
from hatchling.metadata.spec import DEFAULT_METADATA_VERSION,
get_core_metadata_constructors
-from hatchling.plugin.manager import PluginManager
if TYPE_CHECKING:
from collections.abc import Callable, Iterable, Sequence
@@ -215,7 +214,7 @@
self.fd.close()
-class WheelBuilderConfig(BuilderConfig[PluginManager]):
+class WheelBuilderConfig(BuilderConfig):
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
@@ -493,7 +492,7 @@
return name
-class WheelBuilder(BuilderInterface[WheelBuilderConfig, PluginManager]):
+class WheelBuilder(BuilderInterface):
"""
Build a binary distribution (.whl file)
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hatchling-1.32.3/src/hatchling/metadata/core.py
new/hatchling-1.32.4/src/hatchling/metadata/core.py
--- old/hatchling-1.32.3/src/hatchling/metadata/core.py 2020-02-02
01:00:00.000000000 +0100
+++ new/hatchling-1.32.4/src/hatchling/metadata/core.py 2020-02-02
01:00:00.000000000 +0100
@@ -157,7 +157,7 @@
@property
def original_version(self) -> str:
"""
- The version as written by the user, before PEP 440 normalization.
+ The version as written by the user, with surrounding whitespace
removed.
The normalized `version` is used for distribution file names and
`.dist-info`
directories, but core metadata records the original string so that
stylized
@@ -275,7 +275,7 @@
message = f"Invalid version `{version}` from {source}, see
https://peps.python.org/pep-0440/"
raise ValueError(message) from None
else:
- self._original_version = version
+ self._original_version = version.strip()
return normalized_version
def validate_fields(self) -> None: