Skip to content

Releases: kit-data-manager/ro-crate-java

v2.0.0

13 Sep 14:06
Compare
Choose a tag to compare

With this major release, it will be easier to describe your data in some cases. The integration of ro-crate-java into your application will be easier if you use the ZipReader. Some APIs have slightly changed in order to avoid the accidental creation of invalid crates in some cases. All known bugs are now fixed and everything complies, to our knowledge, to the specification. Here are some changes we want to highlight in order to help with migration. Please refer to the Javadoc for details.

Highlights 🚀

The ZipReader is now customizable

The ZipReader unpacks the zip file into a temporary folder in order to access the files inside. This folder is, by default, located in the location where the application using ro-crate-java runs in. This can now be customized using a new ZipReader constructor. The default path also changed slightly in order to avoid collisions.

By default, the temporary folders are being removed if the Java Virtual Machine stops running. If you have a long-running application or want to manage space manually, you can now get all information to do this using getter-Methods within the ZipReader class.

Take a look into the ZipReader documentation for details.

Avoid false-positive warnings if a term is not defined in the context

We do now support full URIs which do not need to be defined in the context, as well as the @id and @json values for the @type attribute. This way you should in practice get less warnings which you could have ignored anyway.

Detect all data entities as such

When adding a data entity using ro-crate-java, we implicitly connect it to the root data entity using the hasPart property. It is up to the user to make more connections, but this is one we currently enforce, to ensure this is recognized as a data entity. If you have the need to handle this differently, please open an issue. When reading crates, we made the same assumption: that the crate will have all data entities in the hasPart property. In practice, this may not be the case. We now traverse the graph consisting of hasPart (and isPartOf) properties in order to find all data entities. When you now use crate.getAllDataEntities() and crate.getAllContextEntities(), you may get slightly different (meaning correct) results.

Encoded file paths now work as defined in the specification

We now support encoded file paths and encode them for you without any additional line of code on your side. We used the examples from the specification to ensure maintaining readability, if possible, and only fully encode when all our heuristics did not work out. This will usually keep most characters readable, like Kanji and others.

Easier provenance descriptions using the ActionEntityBuilder

We now provide an ActionEntityBuilder in order to make it easy to describe the provenance of your data.

What's Changed

  • fix: RootDataEntity identifier is not allowed for other entities. by @Pfeil in #185
  • Fix handling of possible loops in data graphs by @Pfeil in #187
  • Fix invalid context check warnings by @Pfeil in #188
  • Unpack zipped crates into unique temporary folder by @Code42Cate in #83

Full Changelog (since v2.0.0-rc4): v2.0.0-rc4...v2.0.0

Full Changelog (since v1.1.0): v1.1.0...v2.0.0

v2.0.0-rc4

04 Sep 14:59
Compare
Choose a tag to compare
v2.0.0-rc4 Pre-release
Pre-release

Another small set of breaking changes. Please try it out and crate an issue if it works for you.

What's Changed

⚡ Highlights

  • More ergonomic and consistent ActionEntityBuilder by @Pfeil in #178
  • Avoid the use of lists in APIs and replace them with appropriate interfaces. by @Pfeil in #183
  • Avoid adding dataEntities which are not being added to the root data entity by @Pfeil in #184

🛠️ Maintenance

  • build(deps): bump com.networknt:json-schema-validator from 1.1.0 to 1.5.1 by @dependabot in #165
  • build(deps): bump gradle/wrapper-validation-action from 1 to 3 by @dependabot in #166
  • build(deps): bump jacksonVersion from 2.16.1 to 2.17.2 by @dependabot in #167
  • build(deps): bump com.apicatalog:titanium-json-ld from 1.3.3 to 1.4.1 by @dependabot in #168
  • build(deps): bump org.slf4j:slf4j-jdk14 from 2.0.9 to 2.0.13 by @dependabot in #169
  • build(deps): bump org.junit:junit-bom from 5.9.1 to 5.10.3 by @dependabot in #170
  • build(deps): bump gradle/gradle-build-action from 2 to 3 by @dependabot in #149
  • build(deps): bump com.github.fslev:json-compare from 6.13 to 6.15 by @dependabot in #175
  • build(deps): bump gradle/actions from 3 to 4 by @dependabot in #176
  • build(deps): bump org.junit.jupiter:junit-jupiter-params from 5.0.0-M4 to 5.11.0-RC1 by @dependabot in #172
  • build(deps): bump commons-validator:commons-validator from 1.8.0 to 1.9.0 by @dependabot in #173
  • build(deps): bump commons-io:commons-io from 2.15.1 to 2.16.1 by @dependabot in #174
  • Review identifier encoding by @Pfeil in #171
  • build(deps): bump io.freefair.maven-publish-java from 8.6 to 8.7.1 by @dependabot in #180
  • build(deps): bump org.junit:junit-bom from 5.10.3 to 5.11.0 by @dependabot in #181
  • build(deps): bump org.slf4j:slf4j-jdk14 from 2.0.13 to 2.0.16 by @dependabot in #179
  • build(deps): bump io.freefair.maven-publish-java from 8.7.1 to 8.10 by @dependabot in #182

Full Changelog: v2.0.0-rc3...v2.0.0-rc4

v2.0.0-rc3

11 Jul 08:04
16f82e3
Compare
Choose a tag to compare
v2.0.0-rc3 Pre-release
Pre-release

Highlight 🚀

This release contains some fixes.

What's Changed

  • Fix in ZIP Reader

v2.0.0-rc2

19 Jun 11:13
Compare
Choose a tag to compare
v2.0.0-rc2 Pre-release
Pre-release

Highlight 🚀

This release contains some fixes. Refactoring is also done.

What's Changed

  • Fix #6 : both properties license and datePublish are added to the root data entity
  • Fix #5 : encoding and decoding of file paths are fixed.
  • setId() and setSource() methods are no more available. The new method addContent() is implemented to add content (files, directories, urls,..) to a data entity.
  • Appropriate tests are fixed
  • Added support for provenance entities
  • Added removeProperty functionality

v2.0.0-rc1

25 Mar 13:57
Compare
Choose a tag to compare
v2.0.0-rc1 Pre-release
Pre-release

Highlight 🚀

This release contains some fixes. Refactoring is also done.

What's Changed

  • Fix #4 : both properties license and datePublish are added to the root data entity
  • Fix #5 : encoding and decoding of file paths are fixed.
  • setId() and setSource() methods are no more available. The new method addContent() is implemented to add content (files, directories, urls,..) to a data entity.
  • Appropriate tests are fixed.

v1.1.0

25 Jul 10:30
Compare
Choose a tag to compare

Highlight 🚀

This release is the stabilization of the release candidate, where we added an initial support for a feature of the 1.2-DRAFT specification of RO-Crate. It allows adding further profiles / specifications to the crate and reading/writing crates using this feature already.

While reading works basically like before, there is a new builder for functionalities which are not in a released specification yet, called the RoCrate.BuilderWithDraftFeatures. If you use a feature of 1.2-DRAFT, the version will be set internally accordingly. Besides this, everything should work as before, as our test coverage should ensure.

What's Changed

  • Fix #105: "multiple conformsTo values" by @Pfeil in #111
  • build(deps): bump com.networknt:json-schema-validator from 1.0.84 to 1.0.85 by @dependabot in #120
  • build(deps): bump com.networknt:json-schema-validator from 1.0.85 to 1.0.86 by @dependabot in #121
  • build(deps): bump org.junit:junit-bom from 5.9.3 to 5.10.0 by @dependabot in #123

Full Changelog: v1.0.7...v1.1.0

v1.1.0-rc.1

23 Jun 16:31
53aebf7
Compare
Choose a tag to compare
v1.1.0-rc.1 Pre-release
Pre-release

Highlight 🚀

In this release, we added an initial support for a feature of the 1.2-DRAFT specification of RO-Crate. It allows adding further profiles / specifications to the crate and reading/writing crates using this feature already.

While reading works basically like before, there is a new builder for functionalities which are not in a released specification yet, called the RoCrate.BuilderWithDraftFeatures. If you use a feature of 1.2-DRAFT, the version will be set internally accordingly.

Besides this, everything should work as before, as our test coverage should ensure. If you encounter any issues, please do not hesitate to open an issue. The final version 1.1.0 is planned soon. Consider this release candidate (RC) just to be an invitation to try this new feature things out. The API will only change if we encounter issues in the new features.

What's Changed

Full Changelog: v1.0.7...v1.1.0-rc.1

v1.0.7

23 Jun 16:07
Compare
Choose a tag to compare

This is a maintenance release, updating the dependencies of ro-crate-java.

What's Changed

  • Bump net.lingala.zip4j:zip4j from 2.11.3 to 2.11.4 by @dependabot in #94
  • Bump net.lingala.zip4j:zip4j from 2.11.4 to 2.11.5 by @dependabot in #96
  • Bump com.networknt:json-schema-validator from 1.0.76 to 1.0.78 by @dependabot in #98
  • Bump io.github.gradle-nexus.publish-plugin from 1.1.0 to 1.3.0 by @dependabot in #99
  • Bump com.github.kt3k.coveralls from 2.12.0 to 2.12.2 by @dependabot in #100
  • Bump com.apicatalog:titanium-json-ld from 1.3.1 to 1.3.2 by @dependabot in #102
  • Bump org.slf4j:slf4j-jdk14 from 2.0.6 to 2.0.7 by @dependabot in #103
  • Bump com.networknt:json-schema-validator from 1.0.78 to 1.0.79 by @dependabot in #104
  • Bump jacksonVersion from 2.14.2 to 2.15.0 by @dependabot in #106
  • Bump com.networknt:json-schema-validator from 1.0.79 to 1.0.80 by @dependabot in #107
  • Bump com.networknt:json-schema-validator from 1.0.80 to 1.0.81 by @dependabot in #110
  • Bump org.junit:junit-bom from 5.9.2 to 5.9.3 by @dependabot in #108
  • Bump com.github.fslev:json-compare from 6.7 to 6.9 by @dependabot in #109
  • Bump jacksonVersion from 2.15.0 to 2.15.1 by @dependabot in #112
  • Bump com.networknt:json-schema-validator from 1.0.81 to 1.0.82 by @dependabot in #113
  • Bump commons-io:commons-io from 2.11.0 to 2.12.0 by @dependabot in #114
  • Bump com.networknt:json-schema-validator from 1.0.82 to 1.0.83 by @dependabot in #115
  • Bump jacksonVersion from 2.15.1 to 2.15.2 by @dependabot in #117
  • Bump com.github.fslev:json-compare from 6.9 to 6.10 by @dependabot in #116
  • Bump com.networknt:json-schema-validator from 1.0.83 to 1.0.84 by @dependabot in #118
  • Bump commons-io:commons-io from 2.12.0 to 2.13.0 by @dependabot in #119

Full Changelog: v1.0.6...v1.0.7

v1.0.6

01 Feb 14:35
Compare
Choose a tag to compare

This is a pure maintenance release. A lot of dependencies have been updated, improving stability and security of ro-crate.java.

What's Changed

Full Changelog: v1.0.5...v1.0.6

v1.0.5

12 Aug 14:02
Compare
Choose a tag to compare

This release contains two fixes, but also some missing features to the API 🚀
The API is still compatible, so updating should not result in any issues.

What's Changed

  • 🌻 Feat: add deleteValuePairFromContext by @Code42Cate in #38
  • 🌻 Feat: enable RoCrateBuilder to extend existing RoCrate by @Code42Cate in #39
  • 🌻 Feat: add deleteUrlFromContext by @Code42Cate in #40
  • 🔨 Fix: Reusing reader breaks previous imports. by @Pfeil in #43
  • 🔨 Fix RoCrate default constructor. by @Pfeil in #42

Full Changelog: v1.0.4...v1.0.5