Skip to content

OpenRemote

v1.24.0 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

asset-management building web dataplatform device-management edge-computing
+14 more
energy energy-management energy-monitor fleet-management fleet-telematics iot iot-application iot-platform modbus mqtt mqtt-broker ota-update rules-engine smartcity

Affected surfaces

breaking_upgrade

ReleasePort's take

Light signal
editorial:auto 12d

The Keycloak adapter is being replaced with a Nimbus‑based JWT verifier; deprecate the old meta item "Data points max age days" and its environment variable.

Why it matters: Operators must migrate Keycloak integration to the new Nimbus verifier before deployment. The deprecated "Data points max age days" configuration will be removed in a future release, requiring immediate update of related settings.

Summary

AI summary

Updates Other changes, ⭐ Enhancements, and 🛠 Breaking Changes across a mixed release.

Changes in this release

Breaking High

Requires PostgreSQL versions 15.14+ or 17.9+; older versions will fail to boot.

Requires PostgreSQL versions 15.14+ or 17.9+; older versions will fail to boot.

Source: granite4.1:30b@2026-05-22-audit

Confidence: low

Breaking Medium

Upgraded to Groovy version 5.0, impacting Groovy rules and tests.

Upgraded to Groovy version 5.0, impacting Groovy rules and tests.

Source: llm_adapter@2026-05-22

Confidence: high

Breaking Medium

Replace obsolete Keycloak adapter with Nimbus based JWT token verifier.

Replace obsolete Keycloak adapter with Nimbus based JWT token verifier.

Source: llm_adapter@2026-05-22

Confidence: low

Breaking Medium

PostgreSQL TimescaleDB now uses HyperCore compression by default.

PostgreSQL TimescaleDB now uses HyperCore compression by default.

Source: llm_adapter@2026-05-22

Confidence: low

Feature Medium

Added Giga and Tera units.

Added Giga and Tera units.

Source: llm_adapter@2026-05-22

Confidence: low

Feature Low

Introduces OR_DATA_POINTS_MAX_AGE_WEEKS environment variable for data point retention policy.

Introduces OR_DATA_POINTS_MAX_AGE_WEEKS environment variable for data point retention policy.

Source: granite4.1:30b@2026-05-22-audit

Confidence: low

Dependency Medium

Upgraded Gradle to version 9.5.0.

Upgraded Gradle to version 9.5.0.

Source: llm_adapter@2026-05-22

Confidence: low

Performance Medium

Enable hypercore compression by default on the asset_datapoint table.

Enable hypercore compression by default on the asset_datapoint table.

Source: llm_adapter@2026-05-22

Confidence: low

Deprecation Medium

Deprecated "Data points max age days" meta item and OR_DATA_POINTS_MAX_AGE_DAYS environment variable.

Deprecated "Data points max age days" meta item and OR_DATA_POINTS_MAX_AGE_DAYS environment variable.

Source: llm_adapter@2026-05-22

Confidence: high

Bugfix Medium

Fix WebSocket unsubscribe without event type or subscriptionId.

Fix WebSocket unsubscribe without event type or subscriptionId.

Source: llm_adapter@2026-05-22

Confidence: high

Refactor Medium

Switched to ubi10 based OpenJDK base image and pinned version to 1.24-5.

Switched to ubi10 based OpenJDK base image and pinned version to 1.24-5.

Source: llm_adapter@2026-05-22

Confidence: low

Full changelog

⚠️ Important notes / Before you upgrade ⚠️

  • This release requires openremote/postgresql version either 15.14+ or 17.9+
    The PostgreSQL TimescaleDB database now uses HyperCore compression by default.
    Not upgrading your containers to these versions will result in a failure to boot. See PR #2352.
    If you'd like to upgrade major PostgreSQL versions, first update to the latest openremote/postgresql version of 15.14+,
    follow the TimescaleDB documentation on upgrading, and change your major to 17.9+.

  • "Data points max age days" meta item, and the OR_DATA_POINTS_MAX_AGE_DAYS environment variable have been deprecated.
    As of this version, these won't function anymore. Instead, use the OR_DATA_POINTS_MAX_AGE_WEEKS environment variable.
    You can not configure individual age policies for attributes as of this release. See PR #2352.

  • We have upgraded to Groovy version 5.0.
    This will impact Groovy rules of your system, and tests in your custom projects.
    For a full breakdown, check the release notes for Groovy 5.0 here.

  • Several breaking changes for people integrating or modifying the OpenRemote codebase.
    For full details, see the contents of this pull request: https://github.com/openremote/openremote/pull/2650
    .

What's Changed

🛠 Breaking Changes

  • Replace obsolete Keycloak adapter with Nimbus based JWT token verifier by @richturner in https://github.com/openremote/openremote/pull/2650

⭐ Enhancements

  • Enable hypercore compression by default on the asset_datapoint table by @Miggets7 in https://github.com/openremote/openremote/pull/2352
  • Add Giga and Tera units by @delamiro in https://github.com/openremote/openremote/pull/2746
  • Update JSON Schema descriptions for SimulatorAgentLink by @Ekhorn in https://github.com/openremote/openremote/pull/2780
  • Upgrade to groovy 5 and adapt spock dependency for it by @ebariaux in https://github.com/openremote/openremote/pull/2786
  • Use ubi10 based OpenJDK base image and pin version to 1.24-5 by @ebariaux in https://github.com/openremote/openremote/pull/2787
  • Upgrade gradle to 9.5.0 by @ebariaux in https://github.com/openremote/openremote/pull/2785

🐞 Bug fixes

  • Fix WebSocket unsubscribe without event type or subscriptionId by @wborn in https://github.com/openremote/openremote/pull/2774

Other changes

  • Remove secrets processing in pipeline by @Ekhorn in https://github.com/openremote/openremote/pull/2738
  • CI/CD Fix if GFE_PASSWORD is missing by @Ekhorn in https://github.com/openremote/openremote/pull/2740
  • CI/CD: Fix broken precedence of inputs and secrets by @richturner in https://github.com/openremote/openremote/pull/2739
  • Add additional useful query exporter metric by @richturner in https://github.com/openremote/openremote/pull/2741
  • Correctly set GFE_PASSWORD as environment variable by @Ekhorn in https://github.com/openremote/openremote/pull/2748
  • CI/CD: Add breaking changes section to release notes by @richturner in https://github.com/openremote/openremote/pull/2783
  • Limit forwarded SISH TCP ports to 100 by @denniskuijs in https://github.com/openremote/openremote/pull/2782
  • Add Asset table fillfactor migration script and document postgres container memory settings by @richturner in https://github.com/openremote/openremote/pull/2773

Full Changelog: https://github.com/openremote/openremote/compare/1.23.1...1.24.0

Breaking Changes

  • Minimum PostgreSQL version requirement: either openremote/postgresql 15.14+ or 17.9+ (previous versions will fail to boot).
  • Deprecation of "Data points max age days" meta item and OR_DATA_POINTS_MAX_AGE_DAYS environment variable; use OR_DATA_POINTS_MAX_AGE_WEEKS instead.
  • Replacement of obsolete Keycloak adapter with Nimbus based JWT token verifier.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track OpenRemote

Get notified when new releases ship.

Sign up free

About OpenRemote

IoT Asset management, Flow Rules and WHEN-THEN rules, Data visualization, Edge Gateway.

All releases →

Related context

Beta — feedback welcome: [email protected]