Skip to content

Releases: TheThingsNetwork/lorawan-stack

v3.31.0

04 Jul 12:16
Compare
Choose a tag to compare

Added

  • Europe 868.1 MHz single channel frequency plan.
    • This is experimental and may be removed or hidden in the future.

Changed

  • The rate limit key for LoRa Basics Station has changed from gs:accept:ws to gs:accept:semtechws/lbslns.

Fixed

  • Fix potential issue with application event stream stopping after showing initial events.
  • Fix storybook compiling issue.

v3.30.2

11 Jun 08:43
Compare
Choose a tag to compare

Fixed

  • Increased the timeout for Basic Station gateways sending HTTP headers. There should now be enough time for embedded devices with little to no hardware acceleration to perform a TLS handshake. In particular, The Things Indoor Gateway can now connect to The Things Stack presenting a ECDSA certificate.
  • Reconnect a gateway when the antenna gain is adjusted.
  • Fixed length bytes fields, such as EUIs, device addresses or device keys, are no longer considered as being all zero when provided as null values in JSON requests.

v3.30.1

13 May 14:39
Compare
Choose a tag to compare

Added

  • Support fine-grained NbTrans controls while using Dynamic ADR mode in the Console.
  • User bookmark listing now supports filtering bookmarks by entity type.
    • This can be specified by setting entity_types field in ListUserBookmarksRequest.

Fixed

  • Show both AFcntDown and NFcntDown in the Device overview in the Console.
  • Fixes the keys displayed in the session information section of overview tab of an End Device in the Console - for LW 1.1.x, replaces NwkSKey with FNwkSIntKey. For LX 1.0.x display only the NwkSKey and AppSKey.

v3.30.0

11 Apr 13:27
Compare
Choose a tag to compare

Added

  • Fine grained NbTrans overrides for the dynamic ADR mode. See the --mac-settings.adr.mode.dynamic.overrides.data-rate-[index].min-nb-trans and --mac-settings.adr.mode.dynamic.overrides.data-rate-[index].max-nb-trans family of parameters.
  • Support for storing user's bookmarks in the database.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) because of the new user_bookmarks table.
  • Support for storing user's Console Preferences in the database.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) because of the new console_preferences column in the users table.

Changed

  • Searching for collaborators displays only accounts that are not already attached to the entity's collaborator list.

v3.29.2

26 Mar 18:33
Compare
Choose a tag to compare

Fixed

  • Memory leak in components which heavily use HTTP clients, such as the Application Server.

v3.29.1

05 Mar 16:58
Compare
Choose a tag to compare

Added

  • Option to store rate limits in Redis. When used, the rate limits are applied over the entire cluster instead of per-instance.
  • Field complement_collaborators was added to SearchAccounts. Allows an user to request the accounts that are not already attached to the entity's collaborator list.

v3.29.0

06 Feb 14:00
Compare
Choose a tag to compare

Added

  • relays command to ttn-lw-cli, which enables the management of LoRaWAN relays, including their configuration and uplink forwarding rules.

Changed

  • User's primary email address validation is now decoupled from deprecated ContactInfo field.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) because of the new email_validations table.
  • Entities' ContactInfo field now returns information regarding the administrative and technical contacts instead of the deprecated ContactInfo information.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) due to the removal of old information in the contact_infos table.
    • The emails of the administrative and technical contacts are only returned in the ContactInfo field if the caller has the appropriate rights.
  • Organizations can now opt out from sending administrative and technical notifications to all collaborators.
    • New organizations do not send administrative and technical notifications to all collaborators by default.
    • To alter the behavior update the organization's fanout_notifications field.

Removed

  • The http.client.transport.compression and http.server.transport.compression experimental flags.

Fixed

  • Fix Add collaborator form not validating collaborator on submit in the Console.

v3.28.2

20 Dec 14:03
Compare
Choose a tag to compare

Added

  • Rate limiting classes for individual HTTP paths.
  • Rate limiting keys for HTTP endpoints now contain the caller API key ID when available. The caller IP is still available as a fallback.
  • Allow users to set multiple frequency plans only in the same band in the Console.

Changed

  • Server side events replaced with single socket connection using the native WebSocket API.
  • Gateways now disconnect if the Gateway Server address has changed.
    • This enables CUPS-enabled gateways to change their LNS before the periodic CUPS lookup occurs.
  • The LoRa Basics Station discovery endpoint now verifies the authorization credentials of the caller.
    • This enables the gateways to migrate to another instance gracefully while using CUPS.

Fixed

  • Batch gateway rights assertions when multiple membership chains are available (for example, both via a user and an organization).

v3.28.1

27 Nov 13:55
Compare
Choose a tag to compare

Added

  • The http.client.transport.compression experimental flag. It controls whether the HTTP clients used by the stack support gzip and zstd decompression of server responses. It is enabled by default.
  • The http.server.transport.compression experimental flag. It controls whether the HTTP servers used by the stack support gzip compression of the server response. It is enabled by default.

Changed

  • The Things Stack is now built with Go 1.21.
  • Statistics for gateways are now fetched in a single request.

Fixed

  • Resolve scroll jumps when selecting different tabs of a table in the Console.
  • BatchGetGatewayConnectionStats RPC rights check in certain cases.

v3.28.0

31 Oct 15:11
Compare
Choose a tag to compare

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 HomeNSAns message that Identity Server returns to clients. The NSID is configurable via is.network.ns-id.
  • 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.
  • --grpc.correlation-ids-ignore-methods configuration 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.
  • Support for setting multiple frequency plans for gateways from the Console.
  • The ns-db purge command 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-interval and 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:xxx for uplinks, or as:downlink:xxx for downlinks), and subsequent components will no longer add any extra correlation IDs (such as ns:uplink:xxx or as:up:xxx). The uplink entry points are pba and gs, while the downlink entry points are pba, ns and as.
  • 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-threshold or --as.webhooks.unhealthy-retry-interval are 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.

Fixed

  • Providing fixed downlink paths to the ttn-lw-cli devices downlink {push|replace} commands using the -class-b-c.gateways parameter. The gateways IDs are comma separated, and the antenna index i can be provided by suffixing the ID with :i (i.e. my-gateway:0 for antenna index 0). The group index j can be provided by suffixing the ID with :j (i.e. my-gateway:0:1 for 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_found error.
  • Update to an user's PrimaryEmailAddress via a non admin now invalidates the PrimaryEmailAddressValidatedAt as 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.