Added
- Email sent to admins when an OAuth client is requested by a non-admin user.
- Packet Broker UI in the Console (admin only).
- New config option
--console.oauth.cross-site-cookie
to control access to OAuth state cookie between origins.- This option needs to be set to
true
(default isfalse
) in multi-cluster deployments in order to support OAuth clients that use POST callbacks.
- This option needs to be set to
- Application Server forwards upstream messages of type
ApplicationDownlinkSent
for application downlink messages that were acknowledged with a TxAck message from the gateway.- MQTT clients can subscribe to the topic
v3/{application-id}/devices/{device-id}/down/sent
. - For HTTP webhooks, make sure that the Downlink Sent messages are enabled.
- MQTT clients can subscribe to the topic
- Query for the most recent application messages from the Storage Integration API with the new
last
parameter (for example,?last=10m
or?last=2h
). See also--last
argument for thettn-lw-cli applications storage get
andttn-lw-cli end-devices storage get
commands. - A location solved message is published automatically by Application Server when the decoded payload contains coordinates (e.g.
latitude
andlongitude
, among other combinations, as well as support for accuracy and altitude). - Configuration option to include Packet Broker metadata in uplink messages:
pba.home-network.include-hops
. By default, this is now disabled. - Update gateway identity, status, antennas, frequency plan, location and receive and transmit rates to Packet Broker Mapper. Mapping is enabled when the Forwarder role is enabled. The following new configuration options are introduced to change the default behavior:
gs.packetbroker.update-gateway-interval
: Update gateway intervalgs.packetbroker.update-gateway-jitter
: Jitter (fraction) to apply to the update interval to randomize intervalsgs.packetbroker.online-ttl-margin
: Time to extend the online status before it expirespba.mapper-address
: Address of Packet Broker Mapperpba.forwarder.gateway-online-ttl
: Time-to-live of online status reported to Packet Broker
- Improved error messages for Gateway Claiming and additional defaults for non-existing gateways.
Changed
- Low-level log messages from the
go-redis
library are printed only when the log level is set toDEBUG
. - GS will discard repeated gateway uplink messages (often received due to buggy gateway forwarder implementations). A gateway uplink is considered to be repeated when it has the same payload, frequency and antenna index as the last one.
- The new
gs_uplink_repeated_total
metric counts how many repeated uplinks have been discarded. - A
gs.up.repeat
event is emitted (once per minute maximum) for gateways that are stuck in a loop and forward the same uplink message.
- The new
- For ABP sessions, the CLI now requests a DevAddr from the Network Server instead of generating one from the testing NetID.
- Descriptions, tooltips and defaults for checkboxes for public gateway status and location in the Console.
- All HTTP requests made by The Things Stack now contain a
User-Agent
header in the form ofTheThingsStack/{version}
. - No connection to Packet Broker is being made when neither the Forwarder nor the Home Network role is enabled.
- Increase the default size limit for payload formatter scripts to 40KB (up from 4KB). The maximum size enforced at API level is 40KB (up from 16KB).
- For more context see issue #4053 and issue #4278.
Fixed
- Parse error in Webhook Templates.
- Clarified errors in device claiming.
- Application deletion handling in the Console.
- Error when logging into the Console when using connections without TLS.
- Account for antenna gain when the gateway is not authenticated (i.e. UDP gateway).
- Preserve antenna gain when the gateway status message contains GPS coordinates.
- Location map coordinate selection in the Console.
- Rights required for reading scheduled downlinks.