Releases: Informatievlaanderen/VSDS-LDESServer4J
v2.14.0-alpha
What's Changed
- fix: cleanup test resource files in de ldes-server-admin module in #1257
- fix: slow retention insert query in #1263
- feat: member model extractor performance increase in #1264
- fix: mongock order failure in #1266
Full Changelog: v2.13.0-alpha...v2.14.0-alpha
v2.13.0-alpha
What's Changed
- ci: prepare release 2.13.0 by @jobulcke in #1224
- fix: change expected exceptions to warnings by @Tomvbe in #1222
- feat: add type check to timestamp and version of path on ingested member by @pj-cegeka in #1217
- Use replicasets in mongodb docker by @sandervd in #1226
- fix: unexpected empty shacl behavior by @jobulcke in #1220
- fix: non rdf content type by @Tomvbe in #1228
- docs: #1136 : generalise API examples by @Yalz in #1231
- fix: slow view operations by @jobulcke in #1232
- feat: return validation message in shacl report format by @pj-cegeka in #1227
- Feat: improve blank node validation by @pj-cegeka in #1237
- fix: unexpected error when compaction is run when no data is present by @jobulcke in #1238
- fix: treeValue should be a resource with by-reference fragmentation by @jobulcke in #1239
- fix: memberid extraction fails with bnode versionof by @jobulcke in #1242
- fix: members deleted twice by @jobulcke in #1234
- feat: use in memory sequence for ingest by @Tomvbe in #1244
- fix: actuator uses internal addresses by @jobulcke in #1246
- fix: docs/_site folder was not completely ignored by @jobulcke in #1249
- fix: Remove ModelParser and move static functions to the respectful fragmentation class that uses them by @fvaes-cegeka in #1247
- feat: add interactive swagger docs to github pages by @Tomvbe in #1248
- fix: sonarcloud improvements by @Yalz in #1250
- chore: update codeowners by @jobulcke in #1252
- fix: disable ActuatorHostNameCustomizer by @pj-cegeka in #1251
- ci: finalise 2.13.0 by @Yalz in #1256
New Contributors
- @sandervd made their first contribution in #1226
- @fvaes-cegeka made their first contribution in #1247
Full Changelog: v2.12.0-alpha...v2.13.0-alpha
v2.12.0-alpha
What's Changed
Dependencies
- build(deps): bump io.micrometer:micrometer-tracing-bridge-otel from 1.2.3 to 1.2.4 by in #1194
- build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.3.0 to 2.4.0 by in #1193
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.1 by in #1201
Features
- Ingestion and bulk ignestion of state objects, and version creation in #1196, #1207, #1203, #1214 and #1216
- Additional validation on member ingestion for both version and state objects in #1213 and #1215
Fixes
- fix: not totally clear max-age documentation by in #1187
- fix: member id extraction by in #1197
- fix: #1186: update timebased relations by in #1200
- fix: code smells by in #1211
- fix: remove immutable cache from eventstream by in #1221
Full Changelog: v2.11.0-alpha...v2.12.0-alpha
v2.11.0-alpha
What's Changed
Features
- Cache control has been improved by configuring an additional property to a timebased fragmentation by @Tomvbe in #1174
- Fetching data via a binary RDF format is now possible by @jobulcke in #1184
Fixes
- fix: inconsistent logging by @jobulcke in #1183
- fix: update version based retention config docs by @Tomvbe in #1172
Dependencies
- build(deps): bump io.zipkin.reporter2:zipkin-reporter-brave from 3.2.1 to 3.3.0 by @dependabot in #1165
- build(deps): bump net.bytebuddy:byte-buddy from 1.14.11 to 1.14.12 by @dependabot in #1167
- build(deps): bump org.springframework.data:spring-data-commons from 3.2.2 to 3.2.3 by @dependabot in #1168
- build(deps-dev): bump wiremock-jre8.version from 2.35.1 to 2.35.2 by @dependabot in #1171
- build(deps): bump org.springframework.boot:spring-boot-starter-aop from 3.2.2 to 3.2.3 by @dependabot in #1177
- build(deps): bump org.springframework.boot:spring-boot-starter-actuator from 3.2.2 to 3.2.3 by @dependabot in #1176
- build(deps): bump com.github.loki4j:loki-logback-appender from 1.4.2 to 1.5.0 by @dependabot in #1179
- build(deps-dev): bump org.mockito:mockito-core from 5.10.0 to 5.11.0 by @dependabot in #1181
- build(deps): bump io.micrometer:micrometer-registry-prometheus from 1.12.3 to 1.12.4 by @dependabot in #1191
- build(deps): bump com.github.loki4j:loki-logback-appender from 1.5.0 to 1.5.1 by @dependabot in #1190
Full Changelog: v2.10.0...v2.11.0-alpha
v2.10.0
What's Changed
Features
- Add caching support for jsonld context in #1138
- Upgrade to java 21 in #1155
- Add default buckets to fragmentation strategies in #1157 and #1148
Fixes
Documentation
Dependencies
- build(deps): bump commons-codec:commons-codec from 1.16.0 to 1.16.1 by @dependabot in #1156
- build(deps): bump org.junit.platform:junit-platform-suite from 1.10.1 to 1.10.2 by @dependabot in #1144
- build(deps): bump io.pyroscope:agent from 0.12.2 to 0.13.0 by @dependabot in #1149
- build(deps): bump org.assertj:assertj-core from 3.25.2 to 3.25.3 by @dependabot in #1146
- build(deps): bump org.junit.jupiter:junit-jupiter from 5.10.1 to 5.10.2 by @dependabot in #1145
v2.10.0-alpha
What's Changed
Features
- Add caching support for jsonld context in #1138
- Upgrade to java 21 in #1155
- Add default buckets to fragmentation strategies in #1157 and #1148
Fixes
Documentation
Dependencies
- build(deps): bump commons-codec:commons-codec from 1.16.0 to 1.16.1 by @dependabot in #1156
- build(deps): bump org.junit.platform:junit-platform-suite from 1.10.1 to 1.10.2 by @dependabot in #1144
- build(deps): bump io.pyroscope:agent from 0.12.2 to 0.13.0 by @dependabot in #1149
- build(deps): bump org.assertj:assertj-core from 3.25.2 to 3.25.3 by @dependabot in #1146
- build(deps): bump org.junit.jupiter:junit-jupiter from 5.10.1 to 5.10.2 by @dependabot in #1145
v2.8.0-alpha
What's Changed
Features
New fragmentation strategy is added: reference fragmentation
In the previous release, multiple member types support was added. This came with the need to fragmentise by this member type. To provide this, a new fragmentation strategy is added, which makes it possible to fragmentise upon objects of the LDES, including the member type. This is added in #1112 and #1123
DCAT validity in health endpoint
To reflect the state of the configured DCAT metadata validity, this has been included in the health endpoint of the server in #1126
Split the ports of the fetch, admin and ingest API's
API's can be secured individually by providing the option to expose the API's on different ports in #1129
Increase robustness of the admin API to create LDESes and views
Some issues were experienced while creating event streams and views:
- it was possible to create more than one retention policy of the same type (e.g. ldes:DurationAgoPolicy of 1 year and 9 months), this has been fixed in #1127
- when an event stream was created, but an issue occurred while saving the shacl shape or views, a 400 response was sent, but the event stream was created without the views and/or shape, which was not transparent to the end user. This has been solved in #1130
Fixes
The view validation still validated for the deprecated tree:TimeBasedFragmentation
The viewShaclShape.ttl
, which is used to validate views created by the admin, still contained the deprecated tree:TimeBasedFragmentation instead of the new tree:HierarchicalTimeBasedFragmentation, this has been fixed in #1083 and #1097
Observability issues in MemberConverter
Some issues were detected in the MemberConverter with the @Observed
annotation, due to its extension of an abstract class with final methods. Now an interface is used instead of this abstract class in #1121
Duplicate member ingestion improvements
Some improvements are implemented when a duplicate member is ingested in #1110. These improvements include:
- The logging message includes more details and the logging level is set to WARN
- A 200 response is sent instead of a 201 when a duplicate member is ingested
Member id extraction issue
Since the previous release, the member extraction is happening via the versionOfPath. However, a hard coded value was used instead of the versionOfPath of the event stream. This has been fixed in #1132
No Content-Type header was provided in the Responses
When content was provided in the response body, no Content-Type was provided in the headers. This has been fixed in #1133
Documentation
- Suggestion to improve GitHub pages are implemented in #1081
- Page fragmentation name is removed from docs in #1098
- Target class is removed from API docs in #1111
- The duplicate member ingestion documentation is made more clear in #1114
- The deprecated point-in-time retention policy is removed from the documentation in #1128
Dependendies
- build(deps): bump apache-jena.version from 4.8.0 to 4.10.0 in #973
- build(deps): bump org.springframework.boot:spring-boot-starter-actuator from 3.2.0 to 3.2.1 in #1093
- build(deps): bump org.owasp:dependency-check-maven from 9.0.4 to 9.0.8 in #1092
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 in #1091
- build(deps): bump io.zipkin.reporter2:zipkin-reporter-brave from 3.1.1 to 3.2.1 in #1094
- build(deps): bump io.micrometer:micrometer-tracing-bridge-otel from 1.2.1 to 1.2.2 in #1095
- build(deps): bump io.micrometer:micrometer-registry-prometheus from 1.12.0 to 1.12.2 in #1090
- build(deps): bump org.springframework.data:spring-data-commons from 3.2.1 to 3.2.2 in #1096
- build(deps): bump com.google.guava:guava from 32.1.3-jre to 33.0.0-jre in #1099
- build(deps-dev): bump org.mockito:mockito-core from 5.8.0 to 5.9.0 in #1100
- build(deps): bump org.jetbrains:annotations from 24.0.1 to 24.1.0 in #1101
- build(deps): bump org.assertj:assertj-core from 3.24.2 to 3.25.1 in #1103
- build(deps): bump net.bytebuddy:byte-buddy from 1.14.10 to 1.14.11 in #1102
- build(deps): bump org.owasp:dependency-check-maven from 9.0.8 to 9.0.9 in #1107
- build(deps): bump org.springframework.boot:spring-boot-starter-actuator from 3.2.1 to 3.2.2 in #1116
- build(deps): bump org.springframework.boot:spring-boot-starter-aop from 3.2.1 to 3.2.2 in #1117
- cicd: use range for spring boot dependabot.yml in #1119
- build(deps): bump org.owasp:dependency-check-maven from 9.0.4 to 9.0.6 in #1120
- build(deps-dev): bump org.mockito:mockito-core from 5.9.0 to 5.10.0 in #1124
- build(deps): bump org.assertj:assertj-core from 3.25.1 to 3.25.2 in #1125
Full Changelog: v2.7.0-alpha...v2.8.0-alpha
v2.7.0-alpha
What's Changed
Features
- Support for binary representation was added in #1068 and #1071
- The flow for persisting retention_member_properties was optimalized in #1069
- Multiple member types are supported as of #1070
- The compaction module was rewritten to improve performance in #1059
- Pagination is no longer considered a fragmentation strategy as of #1073
- Unnecessary runs for retention, compaction and deletion are now prevented to improve performance in #1072
- We replaced the derby dependency by and embedded sis in #1082
Documentation
- Add open api and swagger config docs in #1066
Dependencies
- build(deps): bump io.swagger.core.v3:swagger-annotations-jakarta from 2.2.15 to 2.2.20 by @dependabot in #1065
- build(deps): bump org.springframework.data:spring-data-commons from 3.1.3 to 3.2.1 by @dependabot in #1061
- build(deps): bump io.zipkin.reporter2:zipkin-reporter-brave from 2.16.4 to 3.1.1 by @dependabot in #1075
- build(deps-dev): bump org.mockito:mockito-core from 5.7.0 to 5.8.0 by @dependabot in #1079
- build(deps): bump maven-surefire-plugin.version from 3.2.2 to 3.2.5 by @dependabot in #1078
- build(deps): bump org.springframework.boot:spring-boot-starter-aop from 3.2.0 to 3.2.1 by @dependabot in #1077
- build(deps): bump io.mongock:mongock-bom from 5.3.4 to 5.4.0 by @dependabot in #1087
- build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.2.0 to 2.3.0 by @dependabot in #1085
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.3 by @dependabot in #1084
Full Changelog: v2.6.0-alpha...v2.7.0-alpha
v2.6.0-alpha
What's Changed
Dependencies
- build(deps): bump org.owasp:dependency-check-maven from 9.0.1 to 9.0.4 in #1041
- build(deps-dev): bump cucumber.version from 7.14.0 to 7.15.0 in #1045
- build(deps): bump io.micrometer:micrometer-tracing-bridge-otel from 1.2.0 to 1.2.1 in #1051
- build(deps): bump org.junit.jupiter:junit-jupiter from 5.10.0 to 5.10.1 in #1017
Documentation
Mongo connection URI documentation has been updated in #1042
We received a contribution by @MPParsley, where the documentation for the Mongo connection URI has been updated, and now provides more information how to set up this URI with authentication
Documentation for relative URI's has been added in #1055
In the previous release, we added support for usage of relative URI's. Documentation for this feature has now been added
Features
Check for incompatible RDF types when using relative URI's has been added in #1054
In the previous release, we added support for usage of relative URI's. However, some RDF types do not support relative URI's, and therefor, a check is now added before parsing the RDF with relative URI's
Reliability & Code Quality
Flaky integration tests fixed in #1046
Some integration tests were flaky and this issue is now resolved
Code smells fixed in #1046
We encountered some code smells, but these are now fixed
Removed deprecated code in #1048
Both substring fragmentation and snapshotting were deprecated and are now completely removed
Package size reduced in #1052
In the Docker file, we now added the --no-cache
flag to reduce package size
Methods in the fetching controllers are cleaned up in #1053
In the fetching module, both the TreeNodeController
as EventstreamController
had ResponseEntity<>
as return type and used HttpServletResponse
to gain control over the HTTP response. Now the HttpServletResponse
is removed and only the ResponseEntity
is used to control the response.
Full Changelog: v2.5.0-alpha...v2.6.0-alpha
v2.5.0-alpha
Features
Dependencies
- build(deps-dev): bump de.flapdoodle.embed:de.flapdoodle.embed.mongo.spring30x from 4.9.3 to 4.11.0 in #1000
- build(deps): bump org.junit.platform:junit-platform-suite from 1.10.0 to 1.10.1 in #974
- build(deps): bump org.owasp:dependency-check-maven from 8.3.1 to 9.0.1 in #1012
- build(deps): bump net.bytebuddy:byte-buddy from 1.14.9 to 1.14.10 in #1005
Performance improvements
Optimise Ldes Member Ingestion in #1004
We directly insert new members instead of doing a save which first did a fetch to check if we required an insert or an update.
Use database to determine members ready for deletion in retention in #1007
We moved the logic to determine if members should be deleted or not from java code to a mongo query. We no longer need to read the entire database to java when we want to retire members.
Disable remaining members due to performance issues in #1028 in #1030
We disabled the property indicating how many members there are in a view as this required too much resources on large databases. This will be returned in future releases with better performance.
Features
Support non-default servlet context path in #1013
Support for the spring property server.servlet.context-path was added
Pyroscope support #1031
This makes it possible to do an in depth analysis of how requests are processed internally.
Relative url support in #1034
The server now supports relative url's. This needs to be activated by setting the new property ldes-server.use-relative-url
on true.
Improved metrics and logging in #1025 and #1023
Documentation
Update README.md in #1022
Full Changelog: v2.4.1-alpha...v2.5.0-alpha