Skip to content

Releases: TNO/knowledge-engine

1.2.5

17 Jun 14:50
4ea4eaa
Compare
Choose a tag to compare
  • PR #509: Make our documentation more user friendly with search, code highlights and even a dark mode. We also made it available on docs.knowledge-engine.eu!
  • #495: Fixed knowledge directory version docker image that failed to start.
  • #506: Solved bug where typed literals were converted into plain literals.
  • #440: Solved bug in reasoner where KB was asked the same question multiple times.

Full Changelog: 1.2.4...1.2.5

1.2.4

01 Mar 13:22
Compare
Choose a tag to compare
  • Upgrade base image + upgrade libraries fixing critical and high CVE by @johankumps in #14
  • Fixes #451: Moved log statements about meta interactions to debug level
  • Fixes #456: Avoid exception when SmartConnector is called after it has stopped
  • Fixes #457: Removes possibly sensitive data from log files
  • Fixes #463: Improved handling of unavailable KERs which caused CompletionException in the logs
  • Fixes #474: Added validation for the KE_RUNTIME_EXPOSED_URL
  • Fixes #475: Send correct KER id in DELETE /runtimedetails/{id} calls
  • Fixes #480: Handle NullPointerException when receiving a message with an unknown id
  • Create initial CI workflow with Github Actions
  • Upgraded dependencies for junit-jupiter-api, jgrapht-core, openapi, jersey, javax validation-api, builder-helper-maven-plugin, maven-shade-plugin, openapi-generator-maven-plugin, apache-jena-libs (#461, #460, #462, #9, #468, #466, #465, #472, #471, #467)

New Contributors

Full Changelog: 1.2.3...1.2.4

1.2.3

15 Dec 13:34
Compare
Choose a tag to compare
  • Improve stability and recoverability when running the KE in distributed mode
  • Solve memory leak by too many unhandled handle requests

1.2.2

13 Oct 07:59
Compare
Choose a tag to compare
  • Improve inter KER communication using timeouts, log statements and detecting unreachable KERs.

1.2.1

26 May 14:58
Compare
Choose a tag to compare
  • Fixed a bug related to using authentication in distributed mode.

1.2.0

28 Apr 14:12
Compare
Choose a tag to compare
  • Major improvements to the reasoner, making it more powerful. See this blog post for more information.
  • It is now possible to provide Basic Authentication information within both the KE_RUNTIME_EXPOSED_URL and KD_URL environment variables that are used in distributed mode. This allows restricting participation in the data exchange to those who have a valid username and password. Note that Basic Authentication is only secure if combined with HTTPS and actually adding Basic Authentication and HTTPS requires the use of a correctly configured reverse proxy like NGINX.
  • Improved knowledge base ID validation. This could be breaking if you use an invalid URL under certain circumstances.
  • Knowledge base ID uniqueness check in distributed mode. If two knowledge bases currently use the same knowledge base ID in distributed mode (in different runtimes), it does not give a clear error in version 1.1.3 (although it probably behaves incorrectly), but in this version it will give a clear error when registering your knowledge base.
  • This version requires Java 17 instead of Java 11.

1.1.3

16 Dec 10:10
Compare
Choose a tag to compare
  • It is now supported to select multiple Knowledge Bases with a recipient selector.
  • It is now not possible anymore to confuse other Smart Connectors by lying to them via a client Knowledge Interaction, telling that your Knowledge Base can do certain things that it actually cannot.
  • The Docker images are now built for multiple processor architectures (linux/arm64 and linux/amd64) to support more platforms.

1.1.2

15 Dec 11:03
Compare
Choose a tag to compare
  • Stricter binding validation
    • This could break some cases where the Knowledge Engine is used incorrectly. To see an example of something that breaks, check out the description of the issue.
    • This strict validation is enabled by default, but can be disabled by setting SC_VALIDATE_OUTGOING_BINDINGS_WRT_INCOMING_BINDINGS=false
  • When running the KE REST server, there is now a path /rest/version where you can retrieve the version of the Knowledge Engine that is running.
  • Knowledge Base Ontology is now called Knowledge Engine Ontology, as it concerns more than just Knowledge Bases.
  • Ontology base URI has been changed from https://www.tno.nl/energy/ontology/interconnect to https://w3id.org/knowledge-engine. (We still have to configure the redirect with w3id.org, but this is possible.)
  • Stability & performance improvements
  • Fixed bug where the REST API incorrectly returns HTTP 500.

1.1.1

15 Dec 11:03
Compare
Choose a tag to compare
  • :scales: Stability improvement :scales: : When the two first requests for the KE REST server arrive almost simultaneously, it will now correclty create only a single RestKnowledgeBaseManager.
  • 🚀 Performance improvement 🚀 : When using the Knowledge Engine in distributed mode, different KE runtimes will now find each other much quicker!
  • ✨ New feature! ✨ : It is now possible to optionally provide a name when registering a Knowledge Interaction. If the name is given, it is used instead of a UUID to build the Knowledge Interaction's URI. See the example in the OpenAPI spec.
  • Updates to the revamped admin-ui module: The Admin UI is a Knowledge Base that provides information about other Knowledge Bases via a REST API. This will be used in a front-end (Knowledge Explorer) where the Knowledge Network can be visualised and administered.
  • Removed/lowered a lot of logging. Special care was taken to lower the amount of privacy-sensitive data that is logged.

1.1.0

15 Dec 11:03
Compare
Choose a tag to compare
  • NEW FEATURE ✨ The reasoner is added. It is disabled by default.
    • To enable it:
      • If you use the REST API: Add a property reasonerEnabled with value true to the POST /sc call to enable it for your smart connector's proactive interactions.
      • If you use the Java Developer API: Use the SmartConnector::setReasonerEnabled method.
    • ⚠️ BREAKING ⚠️ This might break some client code that depends on the response schema of GET /sc. The objects in the returned array now have a reasonerEnabled property that indicates whether the reasoner is enabled for that smart connector.
  • The REST API now consistently returns JSON.
    • ⚠️ BREAKING ⚠️ Clients need to be updated, most importantly, they need to make sure that the response of POST /sc/ki is interpreted as a JSON object instead of a plain text string.
  • If you use the distributed version of the Knowledge Engine, you can now (1) configure the URL at which your runtime is exposed to different runtimes, and (2) configure the URL at which your Knowledge Directory is exposed to the runtimes.
    • This means that it is now possible to place a reverse proxy in front of the Knowledge Engine and Knowledge Directory, allowing TLS-encrypted communication. 🔒
    • ⚠️ BREAKING ⚠️ The configuration has changed for this. Refer to the README for the latest examples.