Upgrade The Things Stack Cloud to v3.14.0
Scheduled Maintenance Report for The Things Industries
Completed
The scheduled maintenance has been completed.
Posted Jul 27, 2021 - 12:00 CEST
In progress
Scheduled maintenance is currently in progress. We will provide updates as necessary.
Posted Jul 27, 2021 - 10:00 CEST
Scheduled
During this maintenance window we will upgrade The Things Stack Cloud to v3.14.0.

We do not expect noticeable downtime during this deployment.

Here is the changelog since the current version v3.13.3:

### Added

- Gateway antenna placement; unknown, indoor or outdoor. This can now be specified with CLI, e.g. for the first antenna: `ttn-lw-cli gateways set --antenna.index 0 --antenna.placement OUTDOOR`. The antenna placement will be reported to Packet Broker Mapper.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added columns.
- Payload formatter length validation in the Console.
- User session management (listing and deleting) in the Identity Server and the CLI.
- Improved logging for the OAuth server.
- LR-FHSS modulation
- Additional fields for the Gateway and Rx Metadata API. This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added columns.
- Support for LR-FHSS fields when translating uplink messages with the UDP protocol.
- Network Server now appends network identifiers in forwarded uplink messages. These are populated from the `ns.net-id` and the new `ns.cluster-id` configuration option.
- See the new `uplink_message.network_identifiers.net_id`, `uplink_message.network_identifiers.cluster_id` and `uplink_message.network_identifiers.tenant_id` fields.
- This can be useful for HTTP webhooks to determine the Network Server that received and forwarded an uplink message.
- `GetDefaultMACSettings` RPC for requesting the default and desired MAC settings for a Band (Frequency Plan) and LoRaWAN regional parameters version.
- Error handling for missing templates in device repository form in the Console.
- Cache gateway entity responses for requests made to the IS by the GS. See the new `gs.entity-registry-cache.size` and `gs.entity-registry-cache.timeout` configuration options.
- API for searching tenants.
- End device first activation timestamp in the Identity Server end device store.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added columns.
- Azure IoT Hub integration via an application package.
- Resilience to flakiness in upstream servers during gateway claiming.
- Opt out of Packet Broker for individual gateways, see the new `disable_packet_broker_forwarding` gateway option.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added columns.
- This is only relevant when Packet Broker is enabled and configured by the network operator.
- Gateways are now disconnected when settings affecting the connection with Gateway Server change. Use the `gs.fetch-gateway-interval` and `gs.fetch-interval-jitter` to configure how often the gateway is fetched from the entity registry.
- Small UX improvements to the LoRaCloud DAS forms in the Console.
- End device first activation timestamp in the Identity Server end device store.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the added columns.
- `AppJs` interface for applications to get the LoRaWAN AppSKey directly from the Join Server.
- Console support for DevEUI generation from the configured DevEUI address block.
- This requires `console.ui.dev-eui-issuing-enabled` and `console.ui.dev-eui-app-limit` to be set with the same values as in the Identity Server configuration.

### Changed

- When a gateway uplink message contains duplicate data uplinks, only the one with the highest RSSI are forwarded.
- The HTTP port now allows HTTP/2 connections over cleartext (h2c).
- `ttn-lw-stack ns-db migrate` command records the schema version and only performs migrations if on a newer version.
- Use the `--force` flag to force perform migrations.
- Any authenticated user in the network can now list the collaborators of entities in the network.
- The search RPCs no longer require fields to be specified in the field mask when those fields are already specified as filters.
- When generating client configuration with the CLI `use` command, automatically set the correct Identity Server and OAuth Server addresses for The Things Stack Cloud and The Things Stack Community Edition.

### Removed

- The `old` log format.

### Fixed

- Network Server ADR algorithm data rate adjustment behavior on negative margin.
- CLI `gateway set --antenna.remove` command failing to remove gateway antennas in some cases.
- CLI `gateway set --antenna.gain ` command crashing when no gateway antennas are present.
- Webhook template path variable expansion of query parameters.
- LBS LNS Auth Secret displays garbage value when updated.
- Transmit confirmation messages for LoRa Basics Station gateways.
- Instability and frequent crashes when internet connection is lost in the Console.
- Rate limiting for `TenantRegistry.GetTenantIdentifiersForGatewayEUI` is now applied per gateway EUI.
- Rate limiting for `TenantRegistry.GetTenantIdentifiersForEndDeviceEUIs` is now applied per end device EUI.
- Panic in GCS when CUPS rotation is set without a key.
- Rate limiting for `GatewayRegistry.GetGatewayIdentifiersForEUI` is now applied per gateway EUI.
- Network Server ensures that the Band ID in the end device version identifiers match the configured Frequency Plan of the device.
Posted Jul 23, 2021 - 15:59 CEST
This scheduled maintenance affected: The Things Stack Cloud (Europe 1 (eu1), North America 1 (nam1), Australia 1 (au1)).