Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-pipeline for
openSUSE:Factory checked in at 2026-03-28 20:14:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-pipeline (Old)
and /work/SRC/openSUSE:Factory/.python-django-pipeline.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-pipeline"
Sat Mar 28 20:14:11 2026 rev:8 rq:1343246 version:4.1.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-django-pipeline/python-django-pipeline.changes
2025-04-22 17:30:17.816157020 +0200
+++
/work/SRC/openSUSE:Factory/.python-django-pipeline.new.8177/python-django-pipeline.changes
2026-03-28 20:15:59.219950264 +0100
@@ -1,0 +2,8 @@
+Fri Mar 27 10:29:46 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.1.0:
+ * Add support for Python 3.13
+ * Add support for Django 5.2
+- drop django52.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
django52.patch
django_pipeline-4.0.0.tar.gz
New:
----
django_pipeline-4.1.0.tar.gz
----------(Old B)----------
Old: * Add support for Django 5.2
- drop django52.patch (upstream)
----------(Old E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-pipeline.spec ++++++
--- /var/tmp/diff_new_pack.unsZZ7/_old 2026-03-28 20:16:01.088027362 +0100
+++ /var/tmp/diff_new_pack.unsZZ7/_new 2026-03-28 20:16:01.108028189 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-django-pipeline
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,28 +17,27 @@
Name: python-django-pipeline
-Version: 4.0.0
+Version: 4.1.0
Release: 0
Summary: An asset packaging library for Django
License: MIT
Group: Development/Languages/Python
URL: https://github.com/jazzband/django-pipeline
Source:
https://files.pythonhosted.org/packages/source/d/django-pipeline/django_pipeline-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM https://github.com/jazzband/django-pipeline/pull/835 834
compatibility django52
-Patch: django52.patch
-BuildRequires: %{python_module Django >= 4.2}
+BuildRequires: %{python_module Django >= 4.0}
BuildRequires: %{python_module Jinja2}
BuildRequires: %{python_module css-html-js-minify}
BuildRequires: %{python_module jsmin}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest-django}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module setuptools >= 64}
+BuildRequires: %{python_module setuptools_scm >= 8}
BuildRequires: %{python_module slimit}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-Django >= 4.2
+Requires: python-Django >= 4.0
Recommends: python-Jinja2
BuildArch: noarch
%python_subpackages
++++++ django_pipeline-4.0.0.tar.gz -> django_pipeline-4.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/.github/workflows/test.yml
new/django_pipeline-4.1.0/.github/workflows/test.yml
--- old/django_pipeline-4.0.0/.github/workflows/test.yml 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/.github/workflows/test.yml 2025-09-13
13:31:27.000000000 +0200
@@ -9,14 +9,16 @@
strategy:
fail-fast: false
matrix:
- python-version: ['3.9', '3.10', '3.11', '3.12', 'pypy-3.10']
- django-version: ['4.1', '4.2', '5.0', '5.1', 'main']
+ python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.10']
+ django-version: ['4.1', '4.2', '5.0', '5.1', '5.2', 'main']
exclude:
- python-version: '3.9'
django-version: '5.0'
- python-version: '3.9'
django-version: '5.1'
- python-version: '3.9'
+ django-version: '5.2'
+ - python-version: '3.9'
django-version: 'main'
- python-version: 'pypy-3.10'
django-version: '4.1'
@@ -27,12 +29,26 @@
- python-version: 'pypy-3.10'
django-version: '5.1'
- python-version: 'pypy-3.10'
+ django-version: '5.2'
+ - python-version: 'pypy-3.10'
django-version: 'main'
- python-version: '3.12'
django-version: '4.1'
+ - python-version: '3.13'
+ django-version: '4.1'
+ - python-version: '3.13'
+ django-version: '4.2'
+ - python-version: '3.13'
+ django-version: '5.0'
+ - python-version: '3.13'
+ django-version: '5.1'
steps:
- uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '21'
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
@@ -80,5 +96,5 @@
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- - run: pip install --user ruff
+ - run: pip install --user ruff==0.12.5
- run: ruff check . --extend-select=C4,C9,I,PLC,PLE,PLR,U
--ignore=C414,I001,PLR0913,UP007,UP032 --target-version=py39
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/HISTORY.rst
new/django_pipeline-4.1.0/HISTORY.rst
--- old/django_pipeline-4.0.0/HISTORY.rst 2024-12-06 13:01:35.000000000
+0100
+++ new/django_pipeline-4.1.0/HISTORY.rst 2025-09-13 13:31:27.000000000
+0200
@@ -3,6 +3,11 @@
History
=======
+4.1.0
+=====
+* Add support for Python 3.13
+* Add support for Django 5.2
+
4.0.0
=====
* Drop support for Python 3.8
@@ -61,7 +66,7 @@
* Edit github actions matrix: django 3.2.9 support python 3.10, remove
python 4.0 (doesn't exist) and exclude pypy-3.8 for django-main.
* Add .pre-commit-config.yaml. Thanks to @hugovk (#762)
-* Update package.json due to CoffeeScript on NPM has moved to "coffeescript"
+* Update package.json due to CoffeeScript on NPM has moved to "coffeescript"
* Update setup.py with Django 4.0 and Python 3.10
2.0.7
@@ -84,7 +89,7 @@
of the current version to prevent error while importing. Thank to @vmsp
* Context in django.template.base is removed from Django and
not used anymore in django-pipeline.
-* Fixing widgets tests of django-pipeline due to Media.render_js change in
+* Fixing widgets tests of django-pipeline due to Media.render_js change in
Django. More information in Django ticket #31892
2.0.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/PKG-INFO
new/django_pipeline-4.1.0/PKG-INFO
--- old/django_pipeline-4.0.0/PKG-INFO 2024-12-06 13:01:43.935799600 +0100
+++ new/django_pipeline-4.1.0/PKG-INFO 2025-09-13 13:31:38.950933200 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: django-pipeline
-Version: 4.0.0
+Version: 4.1.0
Summary: Pipeline is an asset packaging library for Django.
Author-email: Timothée Peignier <[email protected]>
License: MIT
@@ -17,6 +17,7 @@
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
+Classifier: Framework :: Django :: 5.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
@@ -27,6 +28,7 @@
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 :: Implementation :: PyPy
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -43,6 +45,7 @@
Requires-Dist: tox; extra == "testing"
Requires-Dist: wheel; extra == "testing"
Requires-Dist: django; extra == "testing"
+Dynamic: license-file
Pipeline
========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django_pipeline-4.0.0/django_pipeline.egg-info/PKG-INFO
new/django_pipeline-4.1.0/django_pipeline.egg-info/PKG-INFO
--- old/django_pipeline-4.0.0/django_pipeline.egg-info/PKG-INFO 2024-12-06
13:01:43.000000000 +0100
+++ new/django_pipeline-4.1.0/django_pipeline.egg-info/PKG-INFO 2025-09-13
13:31:38.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: django-pipeline
-Version: 4.0.0
+Version: 4.1.0
Summary: Pipeline is an asset packaging library for Django.
Author-email: Timothée Peignier <[email protected]>
License: MIT
@@ -17,6 +17,7 @@
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
+Classifier: Framework :: Django :: 5.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
@@ -27,6 +28,7 @@
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 :: Implementation :: PyPy
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -43,6 +45,7 @@
Requires-Dist: tox; extra == "testing"
Requires-Dist: wheel; extra == "testing"
Requires-Dist: django; extra == "testing"
+Dynamic: license-file
Pipeline
========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/pipeline/compilers/__init__.py
new/django_pipeline-4.1.0/pipeline/compilers/__init__.py
--- old/django_pipeline-4.0.0/pipeline/compilers/__init__.py 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/pipeline/compilers/__init__.py 2025-09-13
13:31:27.000000000 +0200
@@ -49,8 +49,8 @@
return input_path
try:
- import multiprocessing
- from concurrent import futures
+ import multiprocessing # noqa: PLC0415
+ from concurrent import futures # noqa: PLC0415
except ImportError:
return list(map(_compile, paths))
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django_pipeline-4.0.0/pipeline/compressors/__init__.py
new/django_pipeline-4.1.0/pipeline/compressors/__init__.py
--- old/django_pipeline-4.0.0/pipeline/compressors/__init__.py 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/pipeline/compressors/__init__.py 2025-09-13
13:31:27.000000000 +0200
@@ -8,7 +8,6 @@
import warnings
from collections.abc import Iterator, Sequence
from itertools import takewhile
-from typing import Optional
from django.contrib.staticfiles.storage import staticfiles_storage
from django.utils.encoding import force_str, smart_bytes
@@ -108,9 +107,9 @@
def compress_js(
self,
paths: Sequence[str],
- templates: Optional[Sequence[str]] = None,
+ templates: Sequence[str] | None = None,
*,
- output_filename: Optional[str] = None,
+ output_filename: str | None = None,
**kwargs,
) -> str:
"""Concatenate and compress JS files"""
@@ -228,10 +227,10 @@
self,
paths: Sequence[str],
*,
- file_sep: Optional[str] = None,
- output_filename: Optional[str] = None,
- rewrite_path_re: Optional[re.Pattern] = None,
- variant: Optional[str] = None,
+ file_sep: str | None = None,
+ output_filename: str | None = None,
+ rewrite_path_re: re.Pattern | None = None,
+ variant: str | None = None,
) -> str:
"""Concatenate together a list of files.
@@ -246,7 +245,7 @@
source_path: str,
) -> str:
groups = m.groupdict()
- asset_path: Optional[str] = None
+ asset_path: str | None = None
prefix = ""
suffix = ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django_pipeline-4.0.0/pipeline/compressors/csshtmljsminify.py
new/django_pipeline-4.1.0/pipeline/compressors/csshtmljsminify.py
--- old/django_pipeline-4.0.0/pipeline/compressors/csshtmljsminify.py
2024-12-06 13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/pipeline/compressors/csshtmljsminify.py
2025-09-13 13:31:27.000000000 +0200
@@ -8,11 +8,11 @@
"""
def compress_css(self, css):
- from css_html_js_minify import css_minify
+ from css_html_js_minify import css_minify # noqa: PLC0415
return css_minify(css)
def compress_js(self, js):
- from css_html_js_minify import js_minify
+ from css_html_js_minify import js_minify # noqa: PLC0415
return js_minify(js)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/pipeline/compressors/jsmin.py
new/django_pipeline-4.1.0/pipeline/compressors/jsmin.py
--- old/django_pipeline-4.0.0/pipeline/compressors/jsmin.py 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/pipeline/compressors/jsmin.py 2025-09-13
13:31:27.000000000 +0200
@@ -8,6 +8,6 @@
"""
def compress_js(self, js):
- from jsmin import jsmin
+ from jsmin import jsmin # noqa: PLC0415
return jsmin(js)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/pipeline/finders.py
new/django_pipeline-4.1.0/pipeline/finders.py
--- old/django_pipeline-4.0.0/pipeline/finders.py 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/pipeline/finders.py 2025-09-13
13:31:27.000000000 +0200
@@ -18,9 +18,9 @@
class PipelineFinder(BaseStorageFinder):
storage = staticfiles_storage
- def find(self, path, all=False):
+ def find(self, path, **kwargs):
if not settings.PIPELINE_ENABLED:
- return super().find(path, all)
+ return super().find(path, **kwargs)
else:
return []
@@ -29,7 +29,7 @@
class ManifestFinder(BaseFinder):
- def find(self, path, all=False):
+ def find(self, path, **kwargs):
"""
Looks for files in PIPELINE.STYLESHEETS and PIPELINE.JAVASCRIPT
"""
@@ -37,7 +37,7 @@
for elem in chain(settings.STYLESHEETS.values(),
settings.JAVASCRIPT.values()):
if normpath(elem["output_filename"]) == normpath(path):
match = safe_join(settings.PIPELINE_ROOT, path)
- if not all:
+ if not kwargs.get("find_all", kwargs.get("all", False)):
return match
matches.append(match)
return matches
@@ -47,7 +47,7 @@
class CachedFileFinder(BaseFinder):
- def find(self, path, all=False):
+ def find(self, path, **kwargs):
"""
Work out the uncached name of the file and look that up instead
"""
@@ -56,7 +56,7 @@
except ValueError:
return []
path = ".".join((start, extn))
- return find(path, all=all) or []
+ return find(path, **kwargs) or []
def list(self, *args):
return []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/pipeline/storage.py
new/django_pipeline-4.1.0/pipeline/storage.py
--- old/django_pipeline-4.0.0/pipeline/storage.py 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/pipeline/storage.py 2025-09-13
13:31:27.000000000 +0200
@@ -22,7 +22,7 @@
if dry_run:
return
- from pipeline.packager import Packager
+ from pipeline.packager import Packager # noqa: PLC0415
packager = Packager(storage=self)
for package_name in packager.packages["css"]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/pyproject.toml
new/django_pipeline-4.1.0/pyproject.toml
--- old/django_pipeline-4.0.0/pyproject.toml 2024-12-06 13:01:35.000000000
+0100
+++ new/django_pipeline-4.1.0/pyproject.toml 2025-09-13 13:31:27.000000000
+0200
@@ -5,7 +5,7 @@
[project]
name = "django-pipeline"
requires-python = ">=3.9"
-version = "4.0.0"
+version = "4.1.0"
description = "Pipeline is an asset packaging library for Django."
readme = "README.rst"
authors = [{ "name" = "Timothée Peignier", "email" =
"[email protected]" }]
@@ -19,6 +19,7 @@
"Framework :: Django :: 4.2",
"Framework :: Django :: 5.0",
"Framework :: Django :: 5.1",
+ "Framework :: Django :: 5.2",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
@@ -29,6 +30,7 @@
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Utilities",
"Topic :: Software Development :: Libraries :: Python Modules",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django_pipeline-4.0.0/tests/tests/test_storage.py
new/django_pipeline-4.1.0/tests/tests/test_storage.py
--- old/django_pipeline-4.0.0/tests/tests/test_storage.py 2024-12-06
13:01:35.000000000 +0100
+++ new/django_pipeline-4.1.0/tests/tests/test_storage.py 2025-09-13
13:31:27.000000000 +0200
@@ -1,5 +1,6 @@
from io import StringIO
+import django
from django.contrib.staticfiles import finders
from django.contrib.staticfiles.storage import staticfiles_storage
from django.core.management import call_command
@@ -88,6 +89,24 @@
path = finders.find("nothing.css")
self.assertIsNone(path)
+ @modify_settings(STATICFILES_FINDERS={"append":
"pipeline.finders.PipelineFinder"})
+ def test_nonexistent_file_pipeline_finder_find_all(self):
+ if django.__version__ < "5.2":
+ self.skipTest("Only applicable to Django 5.2 and up")
+
+ path = finders.find("nothing.css", find_all=True)
+ self.assertIsNotNone(path)
+ self.assertEqual([], path)
+
+ @modify_settings(STATICFILES_FINDERS={"append":
"pipeline.finders.PipelineFinder"})
+ def test_nonexistent_file_pipeline_finder_all(self):
+ if django.__version__ < "6.0":
+ self.skipTest("Only applicable to versions of Django before 6.0")
+
+ path = finders.find("nothing.css", all=True)
+ self.assertIsNotNone(path)
+ self.assertEqual([], path)
+
@modify_settings(
STATICFILES_FINDERS={"append": "pipeline.finders.CachedFileFinder"}
)
@@ -106,3 +125,21 @@
def test_nonexistent_double_extension_file_cached_finder(self):
path = finders.find("app.css.map")
self.assertIsNone(path)
+
+ @modify_settings(STATICFILES_FINDERS={"append":
"pipeline.finders.ManifestFinder"})
+ def test_manifest_finder_finds_stylesheet(self):
+ path = finders.find("screen.css")
+ self.assertIsNotNone(path)
+
+ path = finders.find("screen.scss")
+ self.assertIsNone(path)
+
+ @modify_settings(STATICFILES_FINDERS={"append":
"pipeline.finders.ManifestFinder"})
+ def test_manifest_finder_finds_all_stylesheet(self):
+ paths = finders.find("screen.css", all=True)
+ self.assertIsNotNone(paths)
+ self.assertEqual(1, len(paths))
+
+ paths = finders.find("screen.scss", all=True)
+ self.assertIsNotNone(paths)
+ self.assertEqual([], paths)