Skip to content

Releases: casework/CASE-Implementation-PROV-O

0.14.0

21 Jul 18:07
aee9015

Choose a tag to compare

This is a release building on the release of 0.13.0, incorporating one update intended for the 0.13.0 release.

What's Changed

  • case-utils is updated to 0.17.0, and add badges reflecting the CASE version and CI status are now in the README ( #128 )

Full Changelog: 0.13.0...0.14.0

0.13.0

21 Jul 17:43
e53c396

Choose a tag to compare

What's Changed

Adjustments

  • In the event a node is dual-typed as prov:Entity and prov:Agent, prov:Agent's styling prevails ( #118 )
  • prov:Activity is now re-aligned to time:Interval instead of time:ProperInterval, allowing for instantaneous activities ( #113 , #117 )

Internal details

  • Entity temporal sequencing steps are now handled with SELECT SPARQL queries ( #119 )
  • pydot rendering logic for nodes is now consolidated with less reliance on cache dicts ( #127 )

Fixes

  • The README's JSON-LD context is fixed ( #112 )
  • A copy-paste error in a figure is fixed ( #116 )

Dependencies

  • The Python latter tested version is now 3.13 ( #110 )
  • Type signatures for pySHACL usage are updated ( #105 )
  • Type signatures for pydot usage are updated ( #114 )
  • GitHub Action pins are updated ( #106 )
  • The build step in CI now uses the build module ( #107 )

Maintenance

  • The check-supply-chain recipe now reviews type signatures ( #115 )
  • The check-supply-chain recipe now runs nightly ( #109 )
  • Relax pre-commit update enforcement has been relaxed, only raising a notice if code would be changed from a pin update ( #104 )
  • The CI "build" step now disambiguates some built resources ( #108 )

Licensing

  • NIST licensing text is updated ( #111 )

Full Changelog: 0.12.2...0.13.0

0.12.2

18 Jun 12:45
622348c

Choose a tag to compare

This release sets a ceiling on two dependencies for users of case-prov < 0.13.0, and catches up on build system maintenance.
This release replaces 0.12.1, which was accidentally created against an unintended branch.

Release notes drafted by @ajnelson-nist .

Release posted by @vulnmaster .

0.12.0

25 Jan 18:11
034484e

Choose a tag to compare

New features:

0.11.0

10 Jan 22:50
f5fdff1

Choose a tag to compare

New features:

0.10.0

13 Nov 20:18
e2daffe

Choose a tag to compare

This is a maintenance release, primarily issued to bump adoption of case-utils to 0.14.0 and incorporate a behavior change in handling SHACL Qualified Shapes.

The newest tested version of Python is now 3.12.

0.9.1

25 Oct 14:43
9dcda0f

Choose a tag to compare

This is a maintenance release, not revising any user user-facing features or interfaces.

  • "Supply chain" review was scheduled for nightly refreshes. This is now done instead as a pre-release check for this repository.
  • The CASE-Examples repository now uses case-prov, so the dependency this repository had on CASE-Examples became circular, and is now removed.

0.9.0

30 Aug 12:56
623417c

Choose a tag to compare

New features:

Requirement updates:

  • The minimal required Python version is now 3.9.

Maintenance updates:

0.8.0

12 Jun 19:34
42d0581

Choose a tag to compare

New features:

  • case-utils 0.11.0 is now adopted.
  • OWL-Time is now incorporated into the inferencing logic of case_prov_rdf and case_prov_dot, following the non-normative PROV-O alignment suggestions of OWL-Time Section 5.7. The case-prov README documents the illustration and inference effects.
    • To have time objects (time:Intervals and their boundary time:Instants) be visibly displayed, rather than only invisibly influencing layout, pass --display-time-links to case_prov_dot.
  • Timestamps used on case-investigation:InvestigativeActions now have a visual timeline behavior in case_prov_dot.
    • Those timestamps can also be used for timelining analysis from time:Instants inferred by case_prov_rdf. For example, an investigative action that has a uco-observable:File as a result induces a time:Instant representing the instant the file was created, which might or might not eventually receive a timestamp in an analyst's workflow, but the timestamp is asserted to be time:before the ending time:Instant of the investigative action.
    • A caveat on timestamp ordering: Only timestamps with a timezone will be cast into time:inXSDDateTimeStamp. (At the time of the 2022-11-15 OWL-Time draft, time:inXSDDateTime is deprecated.) This is left to the user as a UCO data preparation responsibility. time:Instants will still be inferred and topologically linked for timestamps without timezones.
    • Another caveat on timestamp ordering: Currently, only timestamps with a timezone (i.e. ending with either +00:00 or Z) will influence timeline sorting by case_prov_dot. Help is welcome to implement general timezone sorting in a future case-prov release.
  • On an investigative action, a uco-action:endTime timestamp is treated as a designation the action has an end. In general, an investigative action is not assumed to have an end, though all investigative actions are assumed to have a beginning.
  • case_prov_dot and case_prov_dot now have some generated effects that can be influenced from UUID randomization. A flag --use-deterministic-uuids is now provided for these commands.
  • Using the inherence functions from case-utils 0.11.0, prov:Influences (Association, Attribution, etc.) and prov:InstantaneousEvents (Generation, Start, etc.) are now handled in Python code rather than SPARQL CONSTRUCT queries. This is to avoid generating blank nodes, and to also incorporate run-time requests to use non-deterministic UUIDs or not (whether through inherence in case_utils.inherent_uuid, or the "demo" nonrandom UUIDs from case_utils.local_uuid).
  • (Also a bug fix.) Node labels from case_prov_dot are no longer limited to a single label string (e.g. if there were two rdfs:comments, only one would display).
  • Node labels from case_prov_dot now preserve the annotating predicate as part of the label's line ordering.
  • case_prov_rdf now carries forward uco-core:description rather than casting its contents to an rdfs:comment.
  • case_prov_rdf now carries forward uco-core:name, and case_prov_dot now displays it, for UCO nodes inferred to be prov:Activitys, prov:Agents, or prov:Entitys.

Maintenance updates:

  • Documentation for modules now includes doctests (inlined code samples) for functions.
  • case_prov is now type-reviewed with mypy --strict.
  • The project's home page link from PyPI has been fixed.
  • case_prov_dot's code flow has been nearly totally reordered and inline-documented.

0.7.0

04 Apr 18:07
ee10dc6

Choose a tag to compare

New features:

Maintenance updates:

  • pre-commit module versions are now reviewed nightly.
  • Some type signatures have been revised to accommodate a recent update in RDFLib.