release notes

Release notes Indicium (2023.2.10)

Related products: Indicium Service Tier
Release notes Indicium (2023.2.10)

Hello everyone,

In this sprint, we have added UI and HTTP license endpoints for licensing an IAM environment. We have also added support for the upcoming Thinkwise Platform release 2023.2. In addition, support for versions 2021.2 and 2021.3 has ended.

You can read more about Indicium's features in the Indicium user manual.

 

About Indicium

Two types of the Thinkwise Indicium Application Tier are available:

Contents

 

Breaking

Support for Thinkwise Platform releases 2021.2 and 2021.3 has ended

Indicium Indicium Basic

In accordance with our Lifecycle Policy, we have ended the support for platform versions 2021.2 and 2021.3 as of this release.

 

New

License endpoints

Indicium Main Administrator

We have added UI and HTTP endpoints for licensing an IAM environment. Users can use these endpoints to update the license information of their IAM environment without having to log into IAM.

The UI page is available at <Indicium URL>/license for logged in users who are a Main Administrator. You can also access this page by clicking on the License link on the root page of Indicium.

The UI endpoint page

If Indicium detects that the environment is not registered, it displays the link Register environment. Afterward registering your environment, you can check for an updated license without restarting Indicium.

The /license HTTP endpoint can also be used to fetch a JSON representation of the current status of the license. Make sure to include an Accept header containing application/json in your GET request to the endpoint:

GET /license
Accept application/json

Example responses:

// If unregistered

200 OK

{
"state": "Unregistered",
"refresh_on": "2023-06-27T08:54:56.92Z",
"valid_until": "2023-06-27T09:04:56.92Z",
"is_updating": false,
"registration_url": "http://tcp.thinkwise.app/<rest of url>"
}

// If valid

200 OK

{
"state": "Valid",
"refresh_on": "2023-07-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}

// If stale because the refresh date has been passed

200 OK

{
"state": "StaleByDate",
"refresh_on": "2023-07-25T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// or if the IAM contains a model that wasn't part of the current license

200 OK

{
"state": "StaleByGuid",
"refresh_on": "2023-07-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// If expired

200 OK
{
"state": "Expired",
"refresh_on": "2023-06-27T08:53:51.1337524Z",
"valid_until": "2023-07-25T08:53:51.1337529Z",
"is_updating": false
}

You can also trigger the check for an updated license by making a POST request to a /license/update endpoint. Use this together with the Licensing:ScheduleUpdate setting to, for example, disable the hourly update schedule and have a CI environment perform the update at a specific time of the day instead.

The procedure for this is as follows:

POST /license/update

// If the update completes within 10 seconds, which it should in most cases, you will receive the same response data as with a GET request to /license e.g.

200 OK
{
"state": "Valid",
"refresh_on": "2023-08-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// If it somehow takes longer than that, the client will instead receive a 201 Created response with a Location header that points to the /license endpoint.
// The idea is that now, to prevent queuing another license update, the client must poll the /license endpoint every so often until it confirms that the "is_updating" property specifies false.

// For example
// It took longer than 10 seconds to perform the license update

201 Created
Location <Indicium>/license

// Poll /license
GET /license
Accept application/json

// If not done updating

200 OK
{
"state": "Expired",
"refresh_on": "2023-06-27T08:53:51.1337524Z",
"valid_until": "2023-07-25T08:53:51.1337529Z",
"is_updating": true
}
// When done updating

200 OK
{
"state": "Valid",
"refresh_on": "2023-08-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}

Questions or suggestions?

Questions or suggestions about the release notes? Let us know in the Thinkwise Community!.