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:
