Skip to content

Releases: FraunhoferIOSB/FAAAST-Service

v1.1.0

18 Jul 11:11
403aab4
Compare
Choose a tag to compare

🚀 New Features & Major Changes

  • General
    • Loading AAS models from JSON now fails on unknown JSON properties
    • Added lambda operation provider
    • Added additional helper methods for resolving idShort and semanticId paths
    • Added support for synchronization with multiple AAS and/or submodel registries
  • Asset Connection
    • MQTT
      • Now supports multiple subscription providers to the same topic
  • Endpoint
    • HTTP
      • Added new config property sslEnabled that allows to disable SSL/HTTPS and use HTTP instead. This is intended for development/testing purposes and some scenarios where FA³ST Service is running behind a proxy server that handles SSL/HTTPS.
      • Added new config property hostname to provide hostname of endpoint for automatic registration with registries

⚙️ Internal Changes & Bugfixes

  • General
    • Added log message when starting to indicate that constraint validation is currently not supported
    • Fixed error where complementary files within AASX model files where not correctly loaded when specifying the model file via environment variables
    • Fixed error that prevented loading models in XML format
  • Endpoint
    • OPC UA
      • Fixed error when loading models with non-unique idShorts
  • Asset Connection
    • MQTT
      • Fixed error that occured when using asset connection in read/subscribe mode with JSON payload that has string properties containing escaped JSON as text

📦 Dependencies

  • Bump aas4j.version from 1.0.1 to 1.0.2
  • Bump bouncycastle.version from 1.77 to 1.78.1
  • Bump com.fasterxml.jackson.core:jackson-databind from 2.17.0 to 2.17.2
  • Bump com.fasterxml.woodstox:woodstox-core from 6.6.2 to 7.0.0
  • Bump com.google.guava:guava from 33.1.0-jre to 33.2.1-jre
  • Bump com.google.protobuf:protobuf-java from 4.26.1 to 4.27.2
  • Bump com.guardsquare:proguard-base from 7.4.2 to 7.5.0
  • Bump com.guardsquare:proguard-core from 9.1.1 to 9.1.4
  • Bump com.puppycrawl.tools:checkstyle from 10.15.0 to 10.17.0
  • Bump commons-codec:commons-codec from 1.16.1 to 1.17.1
  • Bump commons-io:commons-io from 2.16.0 to 2.16.1
  • Bump docker/build-push-action from 5 to 6
  • Bump info.picocli:picocli from 4.7.5 to 4.7.6
  • Bump info.picocli:picocli-codegen from 4.7.5 to 4.7.6
  • Bump io.github.classgraph:classgraph from 4.8.168 to 4.8.174
  • Bump io.github.git-commit-id:git-commit-id-maven-plugin from 8.0.2 to 9.0.1
  • Bump jackson.version from 2.17.0 to 2.17.2
  • Bump jakarta.servlet:jakarta.servlet-api from 6.0.0 to 6.1.0
  • Bump jetty.version from 11.0.20 to 11.0.22
  • Bump logback.version from 1.5.3 to 1.5.6
  • Bump milo.version from 0.6.12 to 0.6.13
  • Bump netty.version from 4.1.108.Final to 4.1.111.Final
  • Bump nl.jqno.equalsverifier:equalsverifier from 3.16 to 3.16
  • Bump org.apache.commons:commons-compress from 1.26.1 to 1.26.2
  • Bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.3.1 to 3.4.0
  • Bump org.apache.maven.plugins:maven-dependency-plugin from 3.6.1 to 3.7.1
  • Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.5 to 3.3.1
  • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.2 to 3.4.2
  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0
  • Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.2 to 3.6.0
  • Bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1
  • Bump org.apache.poi:poi-ooxml from 5.2.5 to 5.3.0
  • Bump org.codehaus.mojo:build-helper-maven-plugin from 3.5.0 to 3.6.0
  • Bump org.eclipse.parsson:parsson from 1.1.5 to 1.1.6
  • Bump org.jacoco:jacoco-maven-plugin from 0.8.11 to 0.8.12
  • Bump org.mockito:mockito-core from 5.11.0 to 5.12.0
  • Bump org.owasp:dependency-check-maven from 10.0.0 to 10.0.3
  • Bump org.owasp:dependency-check-maven from 9.1.0 to 10.0.0
  • Bump org.skyscreamer:jsonassert from 1.5.1 to 1.5.3
  • Bump org.sonatype.plugins:nexus-staging-maven-plugin from 1.6.13 to 1.7.0
  • Bump slf4j.version from 2.0.12 to 2.0.13

v1.0.1

02 Apr 13:34
de53392
Compare
Choose a tag to compare

⚙️ Internal Changes & Bugfixes

  • General
    • Fixed some date-related unit tests that failed during daylight saving time at thereby prevented compilation of project
    • Changed line-endings of CI workflow files from CRLF to LF
  • Model
    • Updated model files related to registry to meta model v3.0

📦 Dependencies

  • Bump nl.jqno.equalsverifier:equalsverifier from 3.15.8 to 3.16
  • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.1 to 3.2.2
  • Bump com.fasterxml.woodstox:woodstox-core from 6.6.1 to 6.6.2
  • Bump com.google.protobuf:protobuf-java from 4.26.0 to 4.26.1
  • Bump com.puppycrawl.tools:checkstyle from 10.14.2 to 10.15.0
  • Bump org.owasp:dependency-check-maven from 9.0.10 to 9.1.0
  • Bump commons-io:commons-io from 2.15.1 to 2.16.0

v1.0.0

25 Mar 13:26
81ef521
Compare
Choose a tag to compare

Important

Version 1.0 is a major update and has breaking changes to all previous versions.
When upgrading to v1.0 please make sure the AAS models and payload you use are compliant to AAS spec v3.0.
Additionally, existing asset connection configurations must be updated in the config file as the serialization format for references has changed in the specificition, e.g., (Submodel)[IRI]http://example.org/foo,(Property)[ID_SHORT]bar in older configurations new becomes (Submodel)http://example.org/foo, (Property)bar, i.e. the id type has been removed and segments are not separated only by , but by , (comma followed by additional space).

New Features & Major Changes

  • General
    • Updated to AAS metamodel & API v3.0, i.e. older model file (compliant with v2.x, v3.xRCxx) can no longer be loaded with FA³ST Service as-is but have be converted to v3.0
    • Now requires Java 17+
    • Replaced AAS model & de-/serialization library, now using AAS4J (previously Java Model and Java Serializer
    • Default filename for model files changed to model.* (previously aasenvironment.*)
    • Unified way to configure certificate information (See details). Affected components: HTTP Asset Connection, OPC UA Asset Connection, HTTP Endpoint, MQTT MessageBus
    • Environment variables now use _ instead of . as a separator
    • Validation - currently completely disabled as AAS4J does not yet offer validation support
      • More fine-grained configuration of validation via configuration file
      • Enabled validation for API calls creating or updating elements (basic validation enabled by default)
      • Renamed CLI argument --no-modelValidation to --no-validation. It now enables any validation when used (overriding validation configuration in configuration file is present)
    • Renamed CLI argument --emptyModel to --empty-model
  • Endpoint
    • HTTP
      • Updated to AAS API specification v3.0.1
        • HTTP no longer supported, only HTTPS
        • all URLs are now prefixed with /api/v3.0/
      • Added support for AASX serialization
      • Added support for uploading, deleting and modifying of asset thumbnails and file attachments through API
    • OPC UA Endpoint
      • Updated OPC UA Information model to AAS specification version 3.0. As there is no official mapping of AAS v3.0 to OPC UA, the current mapping is proprietary
      • Added support for configuring supported security policies (NONE, BASIC128RSA15, BASIC256, BASIC256SHA256, AES128_SHA256_RSAOAEP, AES256_SHA256_RSAPSS) and authentication methods (Anonymous, UserName, Certificate)
  • MessageBus
    • MQTT-based MessagBus now available that supports running both as embedded MQTT server or using external one
  • Asset Connection
    • HTTP
      • Now provides a way to explicitely trust server certificates, e.g. useful when servers are using a self-signed certificate
  • File-storage
    • New file-storage interface provides functionality to store referenced files like thumbnails and files in SubmodelElements
    • Implementations for filesystem- and memory-based storages

Internal changes & bugfixes

  • General
    • Fixed a ConcurrentModificationException that could occur when accessing a submodel with subscription-based asset connection via HTTP endpoint
  • HTTP Endpoint
    • Now correctly uses base64URL-encoding for all HTTP requests (instead of base64-encoding for some)
    • No longer leaks sensitive server information in HTTP response headers (such as server version of the HTTP server library)
  • Asset Connection
    • OPC UA
      • Unit tests no longer create temp files in source folders
  • Starter
    • Improved error logging