Upgrading to 2.11.0
This note describes the necessary steps to upgrade to Stellio 2.11.0
Relaxing of tenants names
Starting from version 2.11.0, Stellio has applied the relaxing of tenants names that has been introduced in version 1.7.1 of the NGSI-LD specification. The name of a tenant can now be a string (before it had to be an URI). As a consequence, the variable defining the name of a tenant has been updated to reflect this change (basically, using a name
prefix instead of a uri
one).
In Docker based deployments, the name of the default tenant is now defined by the APPLICATION_TENANTS_0_NAME
environment variable (it was previously defined by the APPLICATION_TENANTS_0_URI
environment variable).
In the same way, apply the same kind of renaming for the other tenants declared in your Stellio instances.
Strict checking of JSON-LD contexts
As part of the release of the 2.11.0 version, Stellio switched the library used to do JSON-LD processing from JSONLD-Java to Titanium.
The Titanium library does a strict checking of the JSON-LD specification and, in particular, it rejects JSON-LD contexts whose Content-Type is not application/json
or a media type with a +json
suffix (as described in https://www.w3.org/TR/json-ld11-api/#loaddocumentcallback).
Especially, if you are using JSON-LD contexts from the Smart Data Models initiative, ensure to use the version that is correctly served. For instance, instead of using https://raw.githubusercontent.com/smart-data-models/dataModel.Environment/master/context.jsonld, use the version hosted on GitHub pages: https://smart-data-models.github.io/dataModel.Environment/context.jsonld.