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 <gateway-id> --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.
- This requires a database schema migration (
- 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.
- Additional fields for the Gateway and Rx Metadata API. This requires a database schema migration (
- Network Server now appends network identifiers in forwarded uplink messages. These are populated from the
ns.net-id
and the newns.cluster-id
configuration option.- See the new
uplink_message.network_identifiers.net_id
,uplink_message.network_identifiers.cluster_id
anduplink_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.
- See the new
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
andgs.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.
- This requires a database schema migration (
- 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.
- This requires a database schema migration (
- Gateways are now disconnected when settings affecting the connection with Gateway Server change. Use the
gs.fetch-gateway-interval
andgs.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.
- This requires a database schema migration (
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
andconsole.ui.dev-eui-app-limit
to be set with the same values as in the Identity Server configuration.
- This requires
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.
- Use the
- 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 Sandbox.
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 <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.