Added
- Configurable Redis connection buffer sizes via
read-buffer-sizeandwrite-buffer-sizeon any Redis configuration (for exampleas.redis.read-buffer-sizeandas.redis.write-buffer-size). Both default to0, which uses the client default of 32 KiB per buffer. Deployments with a large number of connections (such as the Application Server’s per-subscription Pub/Sub connections) can lower these to reduce memory usage. MONITORING_STOPPEDvalue for the alert notification status. ForALERT_GATEWAY_DISCONNECTEDalerts, the Alert Routing Server now verifies the gateway’s live connection state with the Gateway Server when an alert resolves, and emitsMONITORING_STOPPED(instead ofRESOLVED) when monitoring stopped while the gateway was still offline, so receivers no longer read it as “gateway back online”.dcs.gcls.semtech-rjs.lns-urianddcs.gcls.semtech-rjs.lns-trustconfiguration options. When set, gateways claimed through the Semtech RJS are configured with this LNS directly, instead of being redirected to the CUPS. This fixes claiming of The Things Indoor Gateways, which cannot verify the cross-signed Let’s Encrypt certificate chain served by the CUPS.events.redis.store.event-type-namesconfiguration option: an allowlist of event names written into the per-event-type streams that group subscribers (such as the Network Operations Center) consume. Empty by default, which writes all events and preserves existing behavior. Setting it to the consumed set stops writing event-type streams that nothing reads, reducingXADDload on the events Redis. In deployments where events are published from a different process than the group subscriber, the publisher processes must be configured with the names their subscribers consume.
Changed
- Alert notification webhook, email and SMS receivers may now receive the
MONITORING_STOPPEDstatus for gateway disconnection alerts. Webhook consumers that switch exhaustively on the status should handle the new value. - The events Redis store now refreshes each per-entity event stream’s TTL at most once per half of the configured entity history TTL, instead of on every published event, to reduce
PEXPIREcommand load (and therefore CPU) on the events Redis. Event history retention is unchanged. - The rate limit for reading an end device (the
GetRPC on the Identity Server, Network Server, Application Server and Join Server end device registries) is now applied per application instead of per end device. A client that reads many devices in the same application now shares a single rate limit for those reads, rather than getting a separate limit per device.
Fixed
- Identity Server user and organization reads no longer scan the entire
accountstable: lookups against theuser_accounts/organization_accountsviews are now scoped by the account’s tenant, so theaccounts (tenant_id, uid)index is used. - Applying the MAC settings profile values to the device’s MAC state during the join procedure (OTAA) or factory reset (ABP).
- Federated (OIDC/SSO) login no longer fails with
linked_user (linked user not found)after a linked local user is purged. Purging a user now also removes its external-user associations, so no orphanedexternal_usersrow is left to block a later SSO login with the same identity. - The
as.webhook.failevent now includes the top-level correlation IDs of the upstream message when webhook retries are enabled. Previously the correlation IDs were lost when the message passed through the webhook queue, which prevented theFindRelatedEventsAPI from tracing the chain of events related to the failed webhook delivery.