Getting Started Concepts The Things Stack Cloud The Things Stack Enterprise Integrations API Hardware
Get The Things Stack

Release Notes

    Overview
  • 3.34.1
  • 3.34.0
  • 3.33.2
  • 3.33.1
  • 3.33.0
  • 3.32.3
  • 3.32.2
  • 3.32.1
  • 3.32.0
  • 3.31.1
  • 3.30.2
  • 3.30.1
  • 3.30.0
  • 3.29.2
  • 3.29.1
  • 3.29.0
  • 3.28.2
  • 3.28.1
  • 3.28.0
  • 3.27.2
  • 3.27.1
  • 3.27.0
  • 3.26.2
  • 3.26.1
  • 3.26.0
  • 3.25.2
  • 3.25.1
  • 3.25.0
  • 3.24.2
  • 3.24.1
  • 3.24.0
  • 3.23.2
  • 3.23.1
  • 3.23.0
  • 3.22.2
  • 3.22.1
  • 3.22.0
  • 3.21.2
  • 3.21.1
  • 3.21.0
  • 3.20.2
  • 3.20.1
  • 3.20.0
  • 3.19.2
  • 3.19.1
  • 3.19.0
  • 3.18.2
  • 3.18.1
  • 3.18.0
  • 3.17.2
  • 3.17.1
  • 3.17.0
  • 3.16.3
  • 3.16.2
  • 3.16.1
  • 3.16.0
  • 3.15.2
  • 3.15.1
  • 3.15.0
  • 3.14.2
  • 3.14.1
  • 3.14.0
  • 3.13.3
  • 3.13.2
  • 3.13.1
  • 3.13.0
  • 3.12.3
  • 3.12.2
  • 3.12.1
  • 3.12.0
  • 3.11.3
  • 3.11.2
  • 3.11.1
  • 3.11.0
  • 3.10.8
  • 3.10.7
  • 3.10.6
  • 3.10.5
  • 3.10.4
  • 3.10.3
  • 3.10.2
  • 3.10.1
  • 3.10.0

3.21.0

Added

  • Add RPC to check if a gateway EUI is claimable.
  • OAuth client management in the account app.
  • Support claim protection when claiming end devices on The Things Join Server.
  • CLI commands notifications list and notifications set-status to manage user notifications.
  • Support for class B and C downlink transmissions through multiple gateways simultaneously.

Changed

  • Entities are now fully validated when updated in the stores.
    • Previously only the updated paths where validated. This lead to situations in which a partial update could cause the entity as a whole to reach an invalid state.
  • Application, gateway, end device and organization-tables in the Console are now sorted by creation time by default (newest first).
  • Collaborator and API Key tables can now be sorted in the Console.
  • The application table in the Console now shows the amount of end devices.
  • The organizations table in the Console now shows the amount of collaborators.
  • Table layouts for several entities have been improved on the Console.
  • The Storage Integration now stores data using the json data type instead of jsonb. This is relevant for decoded payloads which may contain null characters.
    • This mainly affects the TimescaleDB/PostgreSQL backend.
    • This requires a database schema migration (ttn-lw-stack storage-db migrate) because of the update column.
  • Default raw data retention for the Network Operation Center is now 3 days (instead of 30 days). You can override this with the noc.store.raw-data-retention setting.
    • For changes to take effect, perform a database schema migration (tti-lw-stack noc-db migrate).

Fixed

  • End devices running on MAC versions higher or equal to 1.1 showing network downlink frame counters instead of application downlink frame counters.

  • Wrong representation of time values between midnight and 1am (eg. 24:04:11) in the Console in some cases.### Added

  • Network Operations Center with gateway insight. This is a new component that you can access at your deployment domain under the /noc path.

    • This requires a database schema initialization (tti-lw-stack noc-db init). If you are currently using Postgres without TimescaleDB, install the TimescaleDB extension before initializing the database.
  • Component selector for Join Server interoperability configuration. This allows administrators to declare separate Network Server and Application Server configuration for the same JoinEUI ranges in the same interoperability configuration. See documentation.

  • BatchGetGatewayConnectionStats RPC to fetch Gateway Connection Stats for a batch of gateways.

  • The ability to disable the downlink scheduling mechanism for individual end devices (mac-settings.schedule-downlinks).

    • This option is useful during a migration procedure in order to force the end device to join the new network. The Network Server will no longer schedule any data downlinks or MAC commands, and will stop answering potential join requests.
  • Configurable limits for the number of entity memberships an organization or user can have, as well as limits on the number of end devices in an application.

    • This requires a database schema migration (ttn-lw-stack is-db migrate) because of the added columns.
    • This introduces new configuration options is.{user,organization}-limits.{applications,clients,gateways} and is.application-limits.end-devices that default to “unlimited” (consistent with the old behavior).
  • A new implementation of the Identity Server storage layer. In v3.21.0 the new implementation is not yet used by default, but it can be enabled with the is.bunstore feature flag. A new database driver can be enabled with the is.pgdriver feature flag.

    • This requires a database schema migration (ttn-lw-stack is-db migrate) because of added columns and views.
  • Support for comma-separated (,) values in The Things Stack CSV file format for importing end devices.

  • Support for the RxParamSetup, RxTimingSetup, TxParamSetup, and DlChannel sticky answer mechanism. The commands were supported previously, but subsequent sticky responses would cause the Network Server to drop the MAC command buffer in certain situations.

  • Button with connection to the Network Operations Center in the Console.

Changed

  • Deleted users are no longer included in primary email addresses uniqueness checks. This allows a user to create a new account which uses the email address of a deleted account.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) due to updated indices.
  • Tenants created with the CLI now use a generated password and have the tenant state approved by default.
  • Tenant initial users are now always tenant administrator.
  • The CLI settings fields retry-config.enable_metadata and retry-config.default_timeout have been renamed to retry.enable-metadata and retry.default-timeout for consistency reasons.
  • Generated device ID based on a DevEUI from an imported CSV file is now prepended by eui-. This is consistent with generated device IDs by the Console.
  • The Claim Authentication Code (CAC) field is stored in the Identity Server instead of the Join Server.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) because of the added columns.
    • CAC values stored currently in the Join Server should be migrated to the Identity Server. One method is to run the following CLI commands on each device with a CAC.
      • Read the current values using ttn-lw-cli dev get <application-id> <device-id> --claim-authentication-code. This will fetch the value stored in the Join Server as a fallback.
      • Write back the value read ttn-lw-cli dev set <application-id> <device-id> --claim-authentication-code.valid_from [xxx] --claim-authentication-code.valid_to [xxx] --claim-authentication-code.value <xxx>. This will by default write to the Identity Server.
      • Note that this requires a minimum CLI version of 3.21.0.
  • Device Repository no longer uses the ApplicationID for validating requests. Authentication is still necessary, but the ApplicationID field has been deprecated in the Device Repository API.

Fixed

  • Console showing 404 Not Found errors for pages containing user IDs in the path, when the user ID has a length of two.
  • CLI no longer panics when deleting a device without JoinEUI, this scenario only occurred when deleting a device that uses ABP.
  • Console crashing when navigating to certain Packet Broker network configuration pages.
  • Packet Broker network pages becoming inaccessible until refreshing after a user navigates to a non-existing network.
  • The batch update query for EndDevice.LastSeenAt field now specifies the data type of the placeholders.
    • This resolves an issue in the Console where Last activity values were inconsistent.
← 3.21.1 3.20.2 →

On this page

Sections

Getting Started

Concepts

The Things Stack Cloud

The Things Stack Enterprise

Integrations

API

Hardware

Sitemap

View our Sitemap

Contributing

GitHub

About Us

The Things Industries