Added
- API and CLI commands for listing, searching for and restoring recently deleted applications, OAuth clients, gateways, organizations and users.
- State Description fields for adding context to the (rejected, flagged, suspended) state of Users and OAuth clients.
- This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the added columns.
- This requires a database schema migration (
- Searching for gateways by EUI.
- Searching for users and OAuth clients by state.
- Gateway Server forwards Tx Acknowlegdment packets to the Network Server for scheduled downlinks. These can be used by the Network Server to forward
downlink_ack
upstream messages to the Application Server. - UDP connection error caching. The duration can be configured via the
gs.udp.connection-error-expires
configuration entry. - Option to require individual gateways to use authenticated connections.
- This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the added columns.
- This requires a database schema migration (
- Login Tokens (magic login links) that can be used for password-less login.
- This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the added columns. - This feature is disabled by default; use the new
is.login-tokens.enabled
option to enable it.
- This requires a database schema migration (
- Packet Broker registration, configuration of routing policies, listing home networks and viewing routing policies set by forwarding networks. See
ttn-lw-cli packetbroker --help
for more information. - Support LoRa 2.4 GHz with Packet Broker.
- Include gateway identifiers from Packet Broker in metadata.
- Session and MAC state import functionality. This means that devices can be migrated without rejoin.
- Rate limiting for HTTP endpoints, gRPC endpoints, MQTT, UDP and WebSockets connections.
- Rate limiting is disabled by default. Refer to the
rate-limiting
configuration entry to enable.
- Rate limiting is disabled by default. Refer to the
- Profile settings link to header dropdown menu.
Changed
- Changed the pub/sub channels that the Redis backend of the Events system uses.
- Changed the encoding of events transported by the Redis backend of the Events system.
- All external HTTP calls are now using TLS client configuration. This fixes issues where HTTP calls would fail if custom (e.g. self-signed) CAs were used.
- All external HTTP calls are now using a default timeout. This fixes issues where HTTP calls would stall for a long time.
- All value wrappers now are encoded and decoded as the value being wrapped in JSON. That means, that, e.g. format of
mac_settings.rx1_delay
is changed from{"value": 2}
to just2
. - Changed the error that is returned when attempting to validate already validated contact info.
- This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the added column.
- This requires a database schema migration (
- Update Go to 1.16
- Network Server now performs more strict validation and will disallow creation and updates of invalid devices.
- DevEUI is not required for multicast devices anymore, regarding of LoRaWAN version.
Fixed
- Incorrect documentation url for event details data formats.
- Search functionality for applications, gateways and organizations in the Console.
- Error handling of end device template formats for the application overview page in the Console.
- Payload size limits for AU915 data rates 8 and 9, which are now consistent with Regional Parameters RP002-1.0.2.
- Payload size limit calculation in Network Server.
- Occasional panic in Network Server on downlink with corrupted device states.
- Occasional panic in Identity Server on extracting log fields from invalid requests.
- Print an error message stating that the Storage Integration is not available in the open source edition of The Things Stack when trying to execute
ttn-lw-stack storage-db
commands.
Docker images
docker pull thethingsnetwork/lorawan-stack:3.12
docker pull thethingsnetwork/lorawan-stack:3.12.0
docker pull ghcr.io/thethingsnetwork/lorawan-stack:3.12
docker pull ghcr.io/thethingsnetwork/lorawan-stack:3.12.0