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
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
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.
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).
[3.28.1] - 2023-11-27
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.
[3.28.0] - 2023-10-31
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
... (truncated)
Commits
4a7d671 all: Enter release date of version 3.28.2 into the changelog
f758fe5 console: Disable WebSocket compression for Safari
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.thethings.network/lorawan-stack/v3 from 3.26.1 to 3.28.2.
Release notes
Sourced from go.thethings.network/lorawan-stack/v3's releases.
... (truncated)
Changelog
Sourced from go.thethings.network/lorawan-stack/v3's changelog.
... (truncated)
Commits
4a7d671
all: Enter release date of version 3.28.2 into the changelogf758fe5
console: Disable WebSocket compression for Safaricc7ca65
console: Address review comments71390d0
console: Clarify reconnection logic5d125b6
console: Close unauthenticated connections390b33a
console: Keep connections alive with no subscriptions19279ac
console: Periodically ping event clients1d7d633
console: Make event errors informational0b24615
console: Unify subscription closure promisec60497d
console: Make combined and individual streams semantically equivalentDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show