Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-tables2 for
openSUSE:Factory checked in at 2026-04-17 21:52:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-tables2 (Old)
and /work/SRC/openSUSE:Factory/.python-django-tables2.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-tables2"
Fri Apr 17 21:52:29 2026 rev:14 rq:1347771 version:3.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-django-tables2/python-django-tables2.changes
2026-04-11 22:32:35.411644588 +0200
+++
/work/SRC/openSUSE:Factory/.python-django-tables2.new.11940/python-django-tables2.changes
2026-04-17 21:56:30.954987719 +0200
@@ -1,0 +2,15 @@
+Fri Apr 17 17:22:15 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 3.0.0:
+ * Rename the `querystring` templatetag to `querystring_replace`
+ to avoid shadowing built-in one.
+ * If you use custom templates to render tables with django-
+ tables2, you should replace
+ `{% querystring %}` with `{% querystring_replace %}`
+ `RelatedLinkColumn` is removed. Replace `RelatedLinkColumn`
+ with `Column(linkify=True)`.
+ * Restore signature of `TemplateColumn.render()` (#1033) by
+ * Remove declared support for Django 4.2 and 5.1, upgrade pre-
+ commit dependencies
+
+-------------------------------------------------------------------
Old:
----
django-tables2-2.9.0.tar.gz
New:
----
django-tables2-3.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-tables2.spec ++++++
--- /var/tmp/diff_new_pack.3D90yI/_old 2026-04-17 21:56:31.519010971 +0200
+++ /var/tmp/diff_new_pack.3D90yI/_new 2026-04-17 21:56:31.519010971 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-django-tables2
-Version: 2.9.0
+Version: 3.0.0
Release: 0
Summary: Table/data-grid framework for Django
License: BSD-2-Clause
@@ -37,7 +37,7 @@
# SECTION test requirements, see requirements/common.pip
BuildRequires: %{python_module Django >= 4.2}
BuildRequires: %{python_module PyYAML}
-BuildRequires: %{python_module base >= 3.9}
+BuildRequires: %{python_module base >= 3.10}
BuildRequires: %{python_module django-filter >= 25.1}
BuildRequires: %{python_module lxml}
BuildRequires: %{python_module openpyxl}
++++++ django-tables2-2.9.0.tar.gz -> django-tables2-3.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-tables2-2.9.0/.github/workflows/ci.yml
new/django-tables2-3.0.0/.github/workflows/ci.yml
--- old/django-tables2-2.9.0/.github/workflows/ci.yml 2026-04-06
11:55:06.000000000 +0200
+++ new/django-tables2-3.0.0/.github/workflows/ci.yml 2026-04-13
09:41:32.000000000 +0200
@@ -16,17 +16,8 @@
strategy:
matrix:
python-version: ["3.10", 3.11, 3.12, 3.13, 3.14]
- django-version: [4.2, 5.1, 5.2, 6.0, "main"]
+ django-version: [5.2, 6.0, "main"]
exclude:
-
- # Django 4.2
- - python-version: 3.14
- django-version: 4.2
-
- # Django 5.1
- - python-version: 3.14
- django-version: 5.1
-
# Django 6.0
- python-version: 3.10
django-version: 6.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-tables2-2.9.0/.pre-commit-config.yaml
new/django-tables2-3.0.0/.pre-commit-config.yaml
--- old/django-tables2-2.9.0/.pre-commit-config.yaml 2026-04-06
11:55:06.000000000 +0200
+++ new/django-tables2-3.0.0/.pre-commit-config.yaml 2026-04-13
09:41:32.000000000 +0200
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.14.6
+ rev: v0.15.9
hooks:
- id: ruff-check
args: [--fix, --exit-non-zero-on-fix]
@@ -8,13 +8,13 @@
types_or: [ python, pyi ]
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
- rev: v2.15.0
+ rev: v2.16.0
hooks:
- id: pretty-format-toml
args: [--autofix]
- repo: https://github.com/adamchainz/django-upgrade
- rev: "1.29.1"
+ rev: "1.30.0"
hooks:
- id: django-upgrade
args: [--target-version, "4.2"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-tables2-2.9.0/CHANGELOG.md
new/django-tables2-3.0.0/CHANGELOG.md
--- old/django-tables2-2.9.0/CHANGELOG.md 2026-04-06 11:55:06.000000000
+0200
+++ new/django-tables2-3.0.0/CHANGELOG.md 2026-04-13 09:41:32.000000000
+0200
@@ -1,7 +1,6 @@
# Change log
-## 2.9.0 (2026-04-06)
-
+## 3.0.0 (2026-04-13)
**Breaking changes:**
- Rename the `querystring` templatetag to `querystring_replace` to avoid
shadowing built-in one.
If you use custom templates to render tables with django-tables2, you should
replace
@@ -9,6 +8,14 @@
- `RelatedLinkColumn` is removed. Replace `RelatedLinkColumn` with
`Column(linkify=True)`.
Changes:
+- Restore signature of `TemplateColumn.render()`
([#1033](https://github.com/jieter/django-tables2/pull/1033)) by
[@gythaogg](https://github.com/gythaogg) fixes
[#1032](https://github.com/jieter/django-tables2/issues/1032)
+- Remove declared support for Django 4.2 and 5.1, upgrade pre-commit
dependencies ([#1030](https://github.com/jieter/django-tables2/pull/1030))
+
+
+## 2.9.0 (2026-04-06)
+This release is yanked because it should have been released as 3.0 because of
the breaking changes.
+
+Changes:
- Remove deprecated `RelatedLinkColumn` and `NullBooleanField` support
([#1016](https://github.com/jieter/django-tables2/pull/1016))
`NullBooleanField` was removed in django 4.0
- Export `DateColumn`/`DateTimeColumn`/`TimeColumn` in ISO format
([#1022](https://github.com/jieter/django-tables2/pull/1022) by
[@spapas](https://github.com/spapas))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-tables2-2.9.0/django_tables2/__init__.py
new/django-tables2-3.0.0/django_tables2/__init__.py
--- old/django-tables2-2.9.0/django_tables2/__init__.py 2026-04-06
11:55:06.000000000 +0200
+++ new/django-tables2-3.0.0/django_tables2/__init__.py 2026-04-13
09:41:32.000000000 +0200
@@ -19,7 +19,7 @@
from .utils import A
from .views import MultiTableMixin, SingleTableMixin, SingleTableView
-__version__ = "2.9.0"
+__version__ = "3.0.0"
__all__ = (
"Table",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-tables2-2.9.0/django_tables2/columns/templatecolumn.py
new/django-tables2-3.0.0/django_tables2/columns/templatecolumn.py
--- old/django-tables2-2.9.0/django_tables2/columns/templatecolumn.py
2026-04-06 11:55:06.000000000 +0200
+++ new/django-tables2-3.0.0/django_tables2/columns/templatecolumn.py
2026-04-13 09:41:32.000000000 +0200
@@ -101,12 +101,14 @@
extra_context = call_with_appropriate(extra_context,
optional_kwargs)
return context | extra_context
- def render(self, table, **kwargs):
+ def render(self, record, table, value, bound_column, **kwargs):
# If the table is being rendered using `render_table`, it hackily
# attaches the context to the table as a gift to `TemplateColumn`.
parent_context = getattr(table, "context", Context())
- context = self.get_context_data(table=table, **kwargs)
+ context = self.get_context_data(
+ record=record, table=table, value=value,
bound_column=bound_column, **kwargs
+ )
with parent_context.update(context):
request = getattr(table, "request", None)
if self.template_code:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-tables2-2.9.0/pyproject.toml
new/django-tables2-3.0.0/pyproject.toml
--- old/django-tables2-2.9.0/pyproject.toml 2026-04-06 11:55:06.000000000
+0200
+++ new/django-tables2-3.0.0/pyproject.toml 2026-04-13 09:41:32.000000000
+0200
@@ -11,8 +11,6 @@
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
- "Framework :: Django :: 4.2",
- "Framework :: Django :: 5.1",
"Framework :: Django :: 5.2",
"Framework :: Django :: 6.0",
"Intended Audience :: Developers",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-tables2-2.9.0/tests/columns/test_templatecolumn.py
new/django-tables2-3.0.0/tests/columns/test_templatecolumn.py
--- old/django-tables2-2.9.0/tests/columns/test_templatecolumn.py
2026-04-06 11:55:06.000000000 +0200
+++ new/django-tables2-3.0.0/tests/columns/test_templatecolumn.py
2026-04-13 09:41:32.000000000 +0200
@@ -194,3 +194,20 @@
html = template.render(Context({"request": request, "table": table}))
self.assertIn("<td >/table/</td>", html)
self.assertIn("<td >GET</td>", html)
+
+ def test_render_signature(self):
+ class MyColumn(tables.TemplateColumn):
+ def render(self, record, table, *args, **kwargs):
+ return super().render(record, table, *args, **kwargs)
+
+ class Table(tables.Table):
+ col = MyColumn("{{ record.col }}")
+
+ table = Table([{"col": "value"}])
+ template = Template("{% load django_tables2 %}{% render_table table
%}")
+ request = build_request("/table/")
+
+ try:
+ template.render(Context({"request": request, "table": table}))
+ except TypeError as e:
+ self.fail(f"Render method has wrong signature: {e}")
++++++ python-django-tables2-tests-noxls.patch ++++++
--- /var/tmp/diff_new_pack.3D90yI/_old 2026-04-17 21:56:31.883025978 +0200
+++ /var/tmp/diff_new_pack.3D90yI/_new 2026-04-17 21:56:31.887026143 +0200
@@ -1,7 +1,7 @@
-Index: python-django-tables2/tests/test_export.py
+Index: django-tables2-3.0.0/tests/test_export.py
===================================================================
---- python-django-tables2.orig/tests/test_export.py
-+++ python-django-tables2/tests/test_export.py
+--- django-tables2-3.0.0.orig/tests/test_export.py
++++ django-tables2-3.0.0/tests/test_export.py
@@ -24,6 +24,10 @@ try:
except ImproperlyConfigured:
TableExport = None
@@ -29,7 +29,7 @@
def test_datetime_xls(self):
"""Verify datatime objects can be exported to xls."""
utc = pytz.timezone("UTC")
-@@ -371,8 +377,9 @@ class UnicodeExportViewTest(TestCase):
+@@ -377,8 +383,9 @@ class UnicodeExportViewTest(TestCase):
self.assertEqual(response.getvalue().decode("utf8"), expected_csv)
# smoke tests, hard to test this binary format for string containment
@@ -41,7 +41,7 @@
response = OccupationView.as_view()(build_request("/?_export=xlsx"))
self.assertGreater(len(response.content), len(expected_csv))
-@@ -387,6 +394,7 @@ class UnicodeExportViewTest(TestCase):
+@@ -393,6 +400,7 @@ class UnicodeExportViewTest(TestCase):
response = exporter.response()
self.assertEqual(response.getvalue().decode("utf8"), unicode_header +
"\r\n")