Added
- API Authentication and authorization via session cookie.
- ⚠ This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the added and modified columns. - This changes the
AuthInfo
API response.
- ⚠ This requires a database schema migration (
- Skipping payload crypto on application-level via application link's
skip_payload_crypto
field. - Authentication method, ID and Remote IP in events metadata.
- Service data messages published by integrations. Can be consumed using the bundled MQTT server, Webhooks or Pub/Sub integrations.
- Application package application-wide associations support.
- LoRaCloud DAS application package server URL overrides support.
- Key vault caching mechanism (see
--key-vault.cache.size
and--key-vault.cache.ttl
options). - Generic encryption/decryption to KeyVault.
- Option to ignore log messages for selected gRPC method on success (see
grpc.log-ignore-methods
option). - CLI auto-completion support (automatically enabled for installable packages, also see
ttn-lw-cli complete
command). - Options to disable profile picture and end device picture uploads (
is.profile-picture.disable-upload
andis.end-device-picture.disable-upload
). - Options to allow/deny non-admin users to create applications, gateways, etc. (the the
is.user-rights.*
options). - Admins now receive emails about requested user accounts that need approval.
- Support for synchronizing gateway clocks via uplink tokens. UDP gateways may not connect to the same Gateway Server instance.
- Consistent command aliases for CLI commands.
- Laird gateway documentation.
- Option to allow unauthenticated Basic Station connections (
gs.basic-station.allow-unauthenticated
)- ⚠ Without this option, Basic Station gateways that do not use authentication will not be allowed to connect.
- Option to require TLS on connections to Redis servers (see
redis.tls.require
and related options). - Documentation for
cache
options. - Documentation for the Gateway Server MQTT protocol.
- Add user page in console.
- Troubleshooting guide.
- API to get configuration from the Identity Server (including user registration options and password requirements).
- Synchronize gateway time by uplink token on downstream in case the Gateway Server instance is not handling the upstream gateway connection.
- Work-around for Basic Station gateways sending uplink frames with no
xtime
.
Changed
- Remove version from hosted documentation paths.
- Gateway connection stats are now stored in a single key.
- The example configuration for deployments with custom certificates now also uses a CA certificate.
- Increase Network Server application uplink buffer queue size.
ttn-lw-cli use
command no longer adds default HTTP ports (80/443) to the OAuth Server address.- Suppress the HTTP server logs from the standard library. This is intended to stop the false positive "unexpected EOF" error logs generated by health checks on the HTTPS ports (for API, BasicStation and Interop servers).
- Automatic collapse and expand of the sidebar navigation in the Console based on screen width.
- The header of the sidebar is now clickable in the Console.
- Overall layout and behavior of the sidebar in the Console improved.
- Improved layout and screen space utilization of event data views in the Console.
- Allow setting all default MAC settings of the Network Server. Support setting enum values using strings where applicable.
Deprecated
- End device
skip_payload_crypto
field: it gets replaced byskip_payload_crypto_override
.
Fixed
- Inconsistent error message responses when retrieving connection stats from GS if the gateway is not connected.
- Empty form validation in the Console.
- CLI crash when listing application package default associations without providing an application ID.
- Decoding of uplinks with frame counters exceeding 16 bits in Application Server.
- Validation of keys for gateway metrics and version fields.
- Read only access for the gateway overview page in the Console.
- Fix an issue that frequently caused event data views crashing in the Console.
- Application Server contacting Join Server via interop for fetching the AppSKey.
- Low color contrast situations in the Console.
- Application Server pub/sub integrations race condition during shutdown.
- Console webhook templates empty headers error.
- Console MQTT URL validation.
- AFCntDown from the application-layer is respected when skipping application payload crypto.
- RTT usage for calculating downlink delta.
- Synchronize concentrator timestamp when uplink messages arrive out-of-order.
Docker images
docker pull thethingsnetwork/lorawan-stack-dev:f2316b56126c6f4e84f43fb3da632b743f4871e3
docker pull thethingsnetwork/lorawan-stack:3.9
docker pull thethingsnetwork/lorawan-stack:3.9.0