Releases: RDFLib/pySHACL
2022-06-30 - v0.19.1 - Its Docker Time
Note, while this is a normal 0.x release, it also acts as the v1.0 release candidate.
That means, if no glaring bugs or issues are found in this release after two weeks, this version will be re-released as
PySHACL v1.0.
Fixed
- CLI Output Table formatting crashed when report graph did not contain a resultMessage
- Fixes #145
- Executing advanced-mode triples rules can sometimes skip the graph clone step, and incorrectly emits new triples directly into the input data-graph
- Discovered when investigating #148
Changed
- Executing advanced triples rules no longer incorrectly emits new triples directly into the input data-graph
- This may been seen as a breaking change, if your workflow relied on this incorrect behaviour.
- If you really the rules engine to emit new triples into your input data graph, use the
inplace
validator option.
- Updated built-in
schema.ttl
file to newer version that doesn't have UTF-8 encoding issues
Added
- Official Dockerfile is now included in the repository
- Thanks @KonradHoeffner; Fixes #135
- Published to dockerhub at ashleysommer/pyshacl
docker pull docker.io/ashleysommer/pyshacl:latest
2022-03-22 - v0.19.0 - Old bugs die hard
Note, while this is a normal 0.x release, it also acts as the v1.0 release candidate.
That means, if no glaring bugs or issues are found in this release after two weeks, this version will be re-released as
PySHACL v1.0.
In this release:
Fixed
- Fixed a long-standing oversight where ShapeLoadErrors and ConstraintLoadErrors were not reported correctly when running PySHACL in CLI mode.
- Sorry about that. Thanks lots of people for reporting this over the last year. I wish I fixed it sooner.
- Fixed a long-standing bug where using
$PATH
in a sh:sparql query on a PropertyShape would not work correctly.- Fixes #124, Thanks @Martijn-Y-ai
- Fixed a long-standing bug, that allows PySHACL to more reliably determine if graph source is a file path, or a graph string.
- Fixed an issue where
sh:pattern
could not be applied to a Literal that was not anxsd:string
or URI.- Fixes #133, Thanks @nicholascar
- Fixed the outdated/incorrect reported when a PropertyShape's
sh:path
value gets an unknown path type.- Fixes #129, Thanks @edmondchuc
Added
- New
--allow-infos
option in CLI mode and Python Module mode.- This is like
--allow-warnings
except it only allows violations with severity ofsh:Info
. - (
--allow-warnings
continues to allow bothsh:Warning
andsh:Info
as it used to.) - Fixes #126, Thanks @ajnelson-nist
- This is like
- SPARQL-based Constraints can now substitute arbitrary bound SPARQL variables into their sh:message
- Fixes #120
Changed
--allow-infos
and--allow-warnings
can now also be enabled with--allow-info
and--allow-warning
respectively.- Removed Snyk check on CI/CD pipeline, because there is an RDFLib issue blocking Snyk on PySHACL from passing.
2022-01-25 - v0.18.1 - Support read from stdin
Added the ability to pipe in SHACL file or ONT file via stdin on Linux or MacOS
Fixed an issue where the filetype detection routine in the RDF loader would fail to reset the file back to the start.
2022-01-13 - v0.18.0 - Python 3.10 support, RDFLib v6.1.1
Added
- Added Python 3.10 support (when using RDFLib v6.1.1 or greater)
- Added more type hinting, to conform to the new type hinting added by RDFLib 6.1.1
- Added Python 3.10 to test suite
Changed
- Subtle correction in the way
sh:prefixs
works withsh:declare
on the given named ontology. - Bumped some min versions of libraries, to gain compatibility with Python 3.10
Fixed
2021-12-13 - v0.17.3 - Bugfixes
Fixes
- Don't crash when a SHACL function is registered more than once (eg, if a function is both SPARQLFunction and JSFunction), fixes #108, thanks Gabe Fierro
- Fixed typo in CLI help output, thanks Alex Nelson
- Don't print env vars when importing JS module, thanks MPolitze
- Fix typo preventing OWL-RL >=6.0 to be used with pySHACL, Fixes #111
Added
- Add Snyk checks to CI/CD pipeline
2021-10-25 - v0.17.2 - CLI Table output
Fixes
- SPARQL queries with words "values", "minus", or "service" in its comments no longer incorrectly throw an exception.
Changed
- Switched from Travis to Drone for CI testing
Added
- New Table output type for commandline tool. Thanks @nicholascar
2021-10-11 - v0.17.1 - Collection of bugfixes
Fixes
- Handle transitive subclasses when evaluating sh:targetClass - @gtfierro
- Fixes #96
- Improve detection of RDF/XML files when loading unknown content
- Fixes #98
- Imported type stubs and resolved ALL MyPy issues! (this was a big effort)
- Logic fixes in the dataset loader (thanks to inconsistencies exposed by MyPy)
Changed
- Add special cases to sh:dataclass constraint, when the given shape uses rdfs:Literal or rdfs:Dataclass as the dataclass to match on
- Fixes #71
Added
- Add datashapes.org/schema as a built-in graph
- Fixes #98
- Added ability to pass a TextIO or TextIOWrapper object into the dataset loader
2021-09-13 - v0.17.0 - Dependency Up
Notice
This version of PySHACL requires RDFLib 6.0.0.
As a direct result of that, this version of PySHACL also requires Python v3.7.
Changed
- Upped RDFLib min version to 6.0.0 in order to get built-in json-ld
- Upped OWL-RL to min version 5.2.3 in order to remove json-ld dependency
- Made min python version v3.7
- Change black config to use python 3.7 compat code
- Re-black and isort all source files
minor update
bump OWL-RL version to 5.2.3, and make rdflib_jsonld
an optional dependency
2021-09-13 - v0.16.2 - Last RDFLib 5.0.0 release
Notice
This is the last version of PySHACL to support RDFLib 5.0.0, subsequent releases of PySHACL will depend on RDFLib v6.0.0.
As a direct result of that, this is also the last version of PySHACL to support Python v3.6.
Changed
- Pinned JSON-ld dep to <6.0 to avoid the tombstone release (so not to force rdflib 6.0)
- Updated minimum Black version to 21.8b0 to fix a black bug
- Re-black and isort all source files
Fixed
- Fixed detection of import error when loading json-ld module in RDF loader
- Fixed Black bug with new version of black