diff --git a/CHANGELOG.md b/CHANGELOG.md index f6da1f6..10872ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,22 @@ and this project adheres to [Python PEP 440 Versioning](https://www.python.org/d ## [Unreleased] - Nothing yet... +## [0.26.0] - 2024-04-11 +### Added +- Added ability to specify a custom max-evaluation-depth. If you find yourself with a legitimate use case, and you are certain you need to increase this limit, and you are cetain you know what you are doing: + - use `--max-depth i` argument on the commandline where `i` is an integer 1 to 999. + - or use `max_validation_depth=i` in the validator arguments if using PySHACL as a library. + - Fixes #224 +- Add a "SHACLExecutor" context to be passed down to all Shape and Constraint objects, to allow them to operate in a common mode with common configuration values, as chosen by the mechanism that starts them (eg, the Validator). + - This will allow for further configuration of "modes of operation" for PySHACL in the future, to allow for forms of exectors other than "Validator". +### Changed +- Bumped Black version to 24.3.0 to mitigate CVE. +- Bumped Poetry and Poetry-Core version to latest-and-greatest (fixes a bunch of long-standing bugs, I highly recommend updating). +- cli `main()` no longer returns and `int`, it now emits `sys.exit(code)` and never returns. +### Fixed +- Fixed typing on Python 3.8 and 3.12 (PRs #192 and #223). Thanks @ajnelson-nist +- Fixed auto-generated validation message for `sh:not` when more than one `sh:not` is used on a constraint. + ## [0.25.0] - 2023-11-23 ### Changed - Dropped support for Python 3.7 @@ -1091,7 +1107,8 @@ just leaves the files open. Now it is up to the command-line client to close the - Initial version, limited functionality -[Unreleased]: https://github.com/RDFLib/pySHACL/compare/v0.25.0...HEAD +[Unreleased]: https://github.com/RDFLib/pySHACL/compare/v0.26.0...HEAD +[0.26.0]: https://github.com/RDFLib/pySHACL/compare/v0.25.0...v0.26.0 [0.25.0]: https://github.com/RDFLib/pySHACL/compare/v0.24.1...v0.25.0 [0.24.1]: https://github.com/RDFLib/pySHACL/compare/v0.24.0...v0.24.1 [0.24.0]: https://github.com/RDFLib/pySHACL/compare/v0.23.0...v0.24.0 diff --git a/CITATION.cff b/CITATION.cff index 3a0b25d..b7892fb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -8,7 +8,7 @@ authors: given-names: "Nicholas" orcid: "http://orcid.org/0000-0002-8742-7730" title: "pySHACL" -version: 0.25.0 +version: 0.26.0 doi: 10.5281/zenodo.4750840 license: Apache-2.0 date-released: 2022-01-13 diff --git a/Dockerfile b/Dockerfile index e73fc24..0c74b19 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ WORKDIR /home/pyshacl RUN addgroup -g 1000 -S pyshacl &&\ adduser --disabled-password --gecos "" --home "$(pwd)" --ingroup "pyshacl" --no-create-home --uid 1000 pyshacl WORKDIR /app -LABEL org.opencontainers.image.version="0.25.0" +LABEL org.opencontainers.image.version="0.26.0" COPY . . RUN chown -R pyshacl:pyshacl /home/pyshacl /app && chmod -R 775 /home/pyshacl /app USER pyshacl diff --git a/README.md b/README.md index 29c6249..d50db54 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ usage: pyshacl [-h] [-s [SHACL]] [-e [ONT]] [-i {none,rdfs,owlrl,both}] [-m] [--server] DataGraph -PySHACL 0.25.0 command line tool. +PySHACL 0.26.0 command line tool. positional arguments: DataGraph The file containing the Target Data Graph. diff --git a/pyproject.toml b/pyproject.toml index 106af5b..153d404 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ requires-python = ">=3.8.1" [tool.poetry] name = "pyshacl" -version = "0.25.0" +version = "0.26.0" # Don't forget to change the version number in __init__.py, Dockerfile, and CITATION.cff along with this one description = "Python SHACL Validator" license = "Apache-2.0" diff --git a/pyshacl/__init__.py b/pyshacl/__init__.py index 23f34d0..7db1108 100644 --- a/pyshacl/__init__.py +++ b/pyshacl/__init__.py @@ -5,7 +5,7 @@ from .validate import Validator, validate # version compliant with https://www.python.org/dev/peps/pep-0440/ -__version__ = '0.25.0' +__version__ = '0.26.0' # Don't forget to change the version number in pyproject.toml, Dockerfile, and CITATION.cff along with this one __all__ = ['validate', 'Validator', '__version__', 'Shape', 'ShapesGraph']