During this maintenance window we will upgrade The Things Stack Cloud to v3.13.0
We do not expect noticeable downtime during this deployment.
Here is the changelog since the current version v3.12.2:
- Searching Packet Broker networks with `--tenant-id-contains` and `--name-contains` flags.
- Listing all listed Packet Broker networks with `ttn-lw-cli packetbroker networks list`.
- Include end device version identifiers in upstream messages (see `uplink_message.version_ids.brand_id`, `uplink_message.version_ids.model_id`, `uplink_message.version_ids.firmware_version`, `uplink_message.version_ids.hardware_version` and `uplink_message.version_ids.band_id` fields).
- Reporting uplink and downlink message delivery state changes to Packet Broker. This will be used for statistical purposes (e.g. which message is processed successfully or why it errored) as well as LoRaWAN roaming (the `XmitDataAns` result code).
- Setting API key expiry via `--api-key-expiry` flag using RFC3339 format.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added columns.
- Events storage in the Redis events backend. This can be enabled with the new `events.redis.store.enable` option. The new options `events.redis.store.ttl`, `events.redis.store.entity-ttl`, `events.redis.store.entity-count` and `events.redis.store.correlation-id-count` can be used to configure retention.
- RPC to find related events by correlation ID.
- CLI command `events find-related`.
- Support for loading Device Repository profiles from different vendors if specified. This allows reusing standard end device profiles from module makers and LoRaWAN end device stack vendors.
- Filtering out verbose events in the event views in the Console.
- The `gs.up.forward` event now includes the host an uplink was forwarded to.
- Previews for `*.update` events in the Console.
- The Console can now show recent historical events in networks that have events storage enabled.
- Add a new `mac_settings.desired_max_eirp` field that can be configured to set the desired MaxEIRP value per device.
- Support loading rate limiting profile configuration from external sources. When set, they will override embedded configuration. See `rate-limiting.config-source`, `rate-limiting.directory`, `rate-limiting.url` and `rate-limiting.blob.*` configuration options.
- `IssueDevEUI` RPC for requesting a DevEUI from a configured IEEE MAC block for devices per application.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added `eui_blocks` table and `dev_eui_counter`
column in applications table.
- This requires a new `dev-eui-block` configuration setting.
- User IDs now have a minimum length of 2 instead of 3, so that more users coming from v2 can keep their username.
- Disabled device uplink simulation and downlink message sending when skipping payload crypto.
- The UpdateAPIKey RPCs now take a fieldmask.
- The Gateway Server no longer sends `gs.up.drop` event if the Network Server does not handle an uplink message, or if the uplink does not match the DevAddr prefix of an upstream.
- Maximum size for user-defined payload formatter scripts.
- The default cap is at 4KB, see the new `as.formatters.max-parameter-length` config option.
- A maximum cap of 16KB per script is set at the API level.
- This only prevents setting large payload formatter scripts for new devices and applications; it does not remove payload formatters from existing applications and devices. Scripts sourced from the Device Repository are not affected. See [issue #4053](https://github.com/TheThingsNetwork/lorawan-stack/issues/4053
) for more context on this change.
- LoRa Basics Station `router_config` message omits hardware specific fields.
- Showing "Last seen" information in end device tables (replacing "Created").
- The `gs.status.forward` event.
- OAuth token exchange for OAuth clients that use Basic auth.
- The CLI now properly returns a non-zero exit status code on invalid commands.
- Gateway connection requests with zero EUI are rejected.
- End device payload formatter reset to `FORMATTER_NONE` in the Console.
- Memory issues when importing end devices in the Console.