Added
- Locations retrieved from gateway status messages are now be displayed in the gateway map in the Console, even when they are not received through a secure connection.
- The Network Server ID (NSID, EUI-64) used in LoRaWAN Backend Interfaces is now included in the application uplink message network metadata as well as in the Backend Interfaces
HomeNSAnsmessage that Identity Server returns to clients. The NSID is configurable viais.network.ns-id. - The NetID and NSID are added to the tenant cluster configuration. This allows configuring per-tenant per-cluster NetID and NSIDs. If set, they override Identity Server’s default NetID and NSID.
- It is now possible to trigger a resending of the email validation email from within the Console. The new action is part of the error screen that users see when they log into the Console without having their contact info validated yet (and the network requires validation before usage).
- Updated Japanese translations for the Console and backend.
- Experimental support for exporting the last seen timestamp of a gateway as Prometheus metrics.
- This is exported on a separate path
/alert-metricswith separate credentials. Seehttp.alert-metrics.
- This is exported on a separate path
--grpc.correlation-ids-ignore-methodsconfiguration option, which allows certain gRPC methods to be skipped from the correlation ID middleware which adds a correlation ID with the name of the gRPC method. Methods bear the format used by--grpc.log-ignore-methods, such as/ttn.lorawan.v3.GsNs/HandleUplink.- Option to ignore the
email_verifiedfield in the callback when logging in via an OIDC authorization provider that doesn’t set it.- The
allowed_email_domainsfield of the authentication provider configuration should be set. The email in the callback should match this regex. - This requires an Identity Server database migration (
ttn-lw-stack is-db migrate).
- The
- Support for setting multiple frequency plans for gateways from the Console.
- The
ns-db purgecommand to purge unused data from the Network Server database.
Changed
- Users can now request a new email for the account validation from time to time instead of once per validation, the interval between email requests is determined by
is.user-registration.contact-info-validation.retry-intervaland by default it is an hour. - Traffic related correlation IDs have been simplified. Previously one correlation ID per component was added as traffic passed through different stack components. Now a singular correlation ID relating to the entry point of the message will be added (such as
gs:uplink:xxxfor uplinks, oras:downlink:xxxfor downlinks), and subsequent components will no longer add any extra correlation IDs (such asns:uplink:xxxoras:up:xxx). The uplink entry points arepbaandgs, while the downlink entry points arepba,nsandas. - Network Operations Center now includes the LoRa Alliance NetIDs up to revision 81.
- Network Operations Center requires the gateway uplink message’s data rate to be present in the database.
- This requires a Network Operations Center migration (
tti-lw-stack noc-db migrate). - To aggregate existing data, refresh the materialized view with gateway uplink data rate utilization. Connect with
psqlto the TimescaleDB database and run:
CALL refresh_continuous_aggregate('gateway_uplink_data_rate_utilization_5m', NOW() - INTERVAL '30 days', NOW()); - This requires a Network Operations Center migration (
- Packet Broker Agent uplink tokens are now serialized in a more efficient manner.
- The Network Server now stores only the most recent uplinks tokens.
- The Application Server webhook health system now records failures only every retry interval while in monitor mode, as opposed to recording every failure.
- Monitor mode in this context refers to situations in which either
--as.webhooks.unhealthy-attempts-thresholdor--as.webhooks.unhealthy-retry-intervalare less or equal to zero. In such situations, the Application Server will record failures but will not stop the execution of the webhooks. - Using a retry interval of zero and a non zero attempts threshold restores the previous behavior.
- Monitor mode in this context refers to situations in which either
Fixed
- Providing fixed downlink paths to the
ttn-lw-cli devices downlink {push|replace}commands using the-class-b-c.gatewaysparameter. The gateways IDs are comma separated, and the antenna indexican be provided by suffixing the ID with:i(i.e.my-gateway:0for antenna index 0). The group indexjcan be provided by suffixing the ID with:j(i.e.my-gateway:0:1for antenna index 0 and group index 1). The antenna index is mandatory if a group index is to be provided, but optional otherwise. - Gateway registration without gateway EUI not working.
- Listing deleted entities is now fixed for both admin and standard users, which previously returned an
account_not_founderror. - Update to an user’s
PrimaryEmailAddressvia a non admin now invalidates thePrimaryEmailAddressValidatedAtas it was intended. - Negative number support in Cayenne LPP.
- Fix panic in snapcraft CLI deployment, commands will no longer generate a panic error message when telemetry is enabled.