Skip to content

v1.0.0

Compare
Choose a tag to compare
@mjacoby mjacoby released this 25 Mar 13:26
· 86 commits to main since this release
81ef521

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