Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-textX for openSUSE:Factory 
checked in at 2025-11-06 18:13:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-textX (Old)
 and      /work/SRC/openSUSE:Factory/.python-textX.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-textX"

Thu Nov  6 18:13:00 2025 rev:21 rq:1315734 version:4.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-textX/python-textX.changes        
2025-05-13 20:07:11.719185430 +0200
+++ /work/SRC/openSUSE:Factory/.python-textX.new.1980/python-textX.changes      
2025-11-06 18:14:27.066580782 +0100
@@ -1,0 +2,8 @@
+Wed Oct 29 13:29:37 UTC 2025 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to 4.2.3
+  * fix: wrong reference/capture in `call_obj_processors` closure
+    leading to memory leak due to keeping reference to the Model object.
+- Use Python 3.11 on SLE-15 by default
+
+-------------------------------------------------------------------

Old:
----
  python-textX-4.2.2.tar.gz

New:
----
  python-textX-4.2.3.tar.gz

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

Other differences:
------------------
++++++ python-textX.spec ++++++
--- /var/tmp/diff_new_pack.8cy2v7/_old  2025-11-06 18:14:27.714608121 +0100
+++ /var/tmp/diff_new_pack.8cy2v7/_new  2025-11-06 18:14:27.718608289 +0100
@@ -15,9 +15,9 @@
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
-
+%{?sle15_python_module_pythons}
 Name:           python-textX
-Version:        4.2.2
+Version:        4.2.3
 Release:        0
 Summary:        Meta-language for DSL implementation inspired by Xtext
 License:        MIT

++++++ python-textX-4.2.2.tar.gz -> python-textX-4.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/.github/workflows/tests.yml 
new/textX-4.2.3/.github/workflows/tests.yml
--- old/textX-4.2.2/.github/workflows/tests.yml 2025-05-11 11:05:11.000000000 
+0200
+++ new/textX-4.2.3/.github/workflows/tests.yml 2025-10-09 13:50:43.000000000 
+0200
@@ -16,7 +16,7 @@
     runs-on: ubuntu-22.04
     strategy:
       matrix:
-        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
+        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
 
     steps:
     - uses: actions/checkout@v4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/CHANGELOG.md new/textX-4.2.3/CHANGELOG.md
--- old/textX-4.2.2/CHANGELOG.md        2025-05-11 11:05:11.000000000 +0200
+++ new/textX-4.2.3/CHANGELOG.md        2025-10-09 13:50:43.000000000 +0200
@@ -15,6 +15,13 @@
 ## [Unreleased]
 
 
+## [4.2.3] (released: 2025-10-09)
+
+### Fixed
+- fix: wrong reference/capture in `call_obj_processors` closure leading to
+  memory leak due to keeping reference to the Model object.
+
+
 ## [4.2.2] (released: 2025-05-11)
 
 ### Fixed
@@ -763,7 +770,9 @@
 [#92]: https://github.com/textX/textX/pull/92
 [#40]: https://github.com/textX/textX/issues/40
 
-[Unreleased]: https://github.com/textX/textX/compare/4.2.1...HEAD
+[Unreleased]: https://github.com/textX/textX/compare/4.2.3...HEAD
+[4.2.3]: https://github.com/textX/textX/compare/4.2.2...4.2.3
+[4.2.2]: https://github.com/textX/textX/compare/4.2.1...4.2.2
 [4.2.1]: https://github.com/textX/textX/compare/4.2.0...4.2.1
 [4.2.0]: https://github.com/textX/textX/compare/4.1.0...4.2.0
 [4.1.0]: https://github.com/textX/textX/compare/4.0.1...4.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/docs/src/process.md 
new/textX-4.2.3/docs/src/process.md
--- old/textX-4.2.2/docs/src/process.md 2025-05-11 11:05:11.000000000 +0200
+++ new/textX-4.2.3/docs/src/process.md 2025-10-09 13:50:43.000000000 +0200
@@ -21,9 +21,9 @@
   `next-release` branch is the latest and greatest version with **all** 
finished
   features applied.
 - When the time for minor release come we follow [textX release
-  checklist](./#textx-release-checklist) defined bellow.
+  checklist](#textx-release-checklist) defined bellow.
 - When the time for major release come we merge `next-release` branch to
-  `master` and follow [textX release checklist](./#textx-release-checklist)
+  `master` and follow [textX release checklist](#textx-release-checklist)
   defined bellow.
 
 
@@ -32,47 +32,49 @@
  
 # textX release checklist
 
-  1. If minor/major version increase, create maintenance/support branch from 
the
-     current master. The name is `support/v<previous major.minor.x>` (e.g.
-     `support/v2.0.x`).
-  2. Create a temporary branch for preparing the next release called
-     `release-preparation` and switch to that branch.
-  3. Update version in the `textX/__init__.py`.
-  4. Update CHANGELOG (create new section for the release, update github links,
-     give credits to contributors).
-  5. Push release branch and create PR. Wait for tests to pass. Wait for the
+  1. Create a branch for the next release called `release/<version>` and switch
+     to that branch.
+  2. Update version in the `pyproject.toml`.
+  3. Update CHANGELOG (create new section for the release, update github links,
+     give credits to contributors). Do not forget link to changes at the 
bottom.
+  4. Push release branch and create PR. Wait for tests to pass. Wait for the
      review process to complete.
-  6. Delete all previous distributions in the `dist` folder.
-  7. Create whl/tar.gz packages
+  5. Delete all previous distributions in the `dist` folder.
+      ```
+      rm dist/*
+      ```
+  6. Create `whl/tar.gz` packages.
 
       ```
-      python setup.py bdist_wheel sdist
+      flit build
       ```
 
-  8. Release to PyPI testing
+  7. Release to PyPI testing.
 
       ```
-      python setup.py publishtest
+      flit publish --repository testpypi
       ```
+      - Check release at https://test.pypi.org/project/textX/#history
 
-  9. Release to PyPI
+  8. Release to PyPI.
 
       ```
-      python setup.py publish
+      flit publish
       ```
+      - Check release at https://pypi.org/project/textX/#history
 
-  10. In case of errors repeat steps 3-10.
-  11. Create git tag in the form of `v<version>` (e.g. `v2.1.0`). Push the tag.
-  12. Merge PR and delete PR branch (`release-preparation`).
-  13. Change the version in `textX/__init__.py` to next minor version with
-      `.dev0` addition (e.g. `v2.2.0.dev0`).
-  14. Merge `master` to `next-version` to keep it up-to-date.
+  9. In case of errors repeat steps 3-10.
+  10. Create git tag in the form of `<version>` (e.g. `4.1.0`). Push the tag.
+  11. Merge release branch in to `master`.
+  12. Change the version in `pyproject.toml` to next minor version with `.dev0`
+      addition (e.g. `4.2.0.dev0`).
+  13. Merge `master` to `next-release` to keep it up-to-date.
 
 ```admonish
-For supporting previous versions only bugfix releases will be made. The process
-is similar. The difference for support release would be that release process
-would be based of the `support` branch instead of the `master` branch as is 
done
-for regular releases. Thus, for support release, we would skip step 1, in step 
5
-we would create PR against the support branch, and we won't do steps 13-15.
+For supporting previous versions only bugfix releases will be made as 
necessary.
+The process is similar. The difference would be that PR would be issued against
+the `release` branch instead of the `master` branch as is done for regular
+releases.
 ```
 
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/pyproject.toml 
new/textX-4.2.3/pyproject.toml
--- old/textX-4.2.2/pyproject.toml      2025-05-11 11:05:11.000000000 +0200
+++ new/textX-4.2.3/pyproject.toml      2025-10-09 13:50:43.000000000 +0200
@@ -1,7 +1,7 @@
 [project]
 name = "textX"
+version = "4.2.3"
 description = "Meta-language for DSL implementation inspired by Xtext"
-dynamic = ["version"]
 authors = [
     {name = "Igor R. Dejanović", email = "[email protected]"},
     {name = "Pierre Bayerl", email = "[email protected]"},
@@ -30,6 +30,7 @@
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: 3.14",
 ]
 
 requires-python = ">=3.8"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/textx/__init__.py 
new/textX-4.2.3/textx/__init__.py
--- old/textX-4.2.2/textx/__init__.py   2025-05-11 11:05:11.000000000 +0200
+++ new/textX-4.2.3/textx/__init__.py   2025-10-09 13:50:43.000000000 +0200
@@ -37,4 +37,9 @@
     language,
 )
 
-__version__ = "4.2.2"
+try:
+    from importlib.metadata import version
+except ModuleNotFoundError:
+    from importlib_metadata import version
+
+__version__ = version("textx")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/textx/lang.py 
new/textX-4.2.3/textx/lang.py
--- old/textX-4.2.2/textx/lang.py       2025-05-11 11:05:11.000000000 +0200
+++ new/textX-4.2.3/textx/lang.py       2025-10-09 13:50:43.000000000 +0200
@@ -997,11 +997,7 @@
             if "eolterm" in modifiers:
                 assignment_rule.eolterm = True
 
-        if target_cls:
-            attr_type = target_cls
-        else:
-            # Use STRING as default attr class
-            attr_type = base_rule_name if base_rule_name else "STRING"
+        attr_type = target_cls or (base_rule_name if base_rule_name else 
"STRING")
         if not cls_attr.cls:
             cls_attr.cls = ClassCrossRef(cls_name=attr_type, 
position=node.position)
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/textX-4.2.2/textx/model.py 
new/textX-4.2.3/textx/model.py
--- old/textX-4.2.2/textx/model.py      2025-05-11 11:05:11.000000000 +0200
+++ new/textX-4.2.3/textx/model.py      2025-10-09 13:50:43.000000000 +0200
@@ -774,7 +774,7 @@
                 metaclass_of_grammar_rule = 
metamodel[model_obj.__class__.__name__]
         except KeyError as e:
             raise TextXSemanticError(
-                f'Unknown meta-class "{model.obj.__class__.__name__}".'
+                f'Unknown meta-class "{model_obj.__class__.__name__}".'
             ) from e
 
         if metaclass_of_grammar_rule._tx_type is RULE_MATCH:

Reply via email to