Added
- Searching Packet Broker networks with
--tenant-id-contains
and--name-contains
flags. - Listing all listed Packet Broker networks with
ttn-lw-cli packetbroker networks list
. - Include end device version identifiers in upstream messages (see
uplink_message.version_ids.brand_id
,uplink_message.version_ids.model_id
,uplink_message.version_ids.firmware_version
,uplink_message.version_ids.hardware_version
anduplink_message.version_ids.band_id
fields). - Reporting uplink and downlink message delivery state changes to Packet Broker. This will be used for statistical purposes (e.g. which message is processed successfully or why it errored) as well as LoRaWAN roaming (the
XmitDataAns
result code). - Setting API key expiry via
--api-key-expiry
flag using RFC3339 format. - Events storage in the Redis events backend. This can be enabled with the new
events.redis.store.enable
option. The new optionsevents.redis.store.ttl
,events.redis.store.entity-ttl
,events.redis.store.entity-count
andevents.redis.store.correlation-id-count
can be used to configure retention. - RPC to find related events by correlation ID.
- CLI command
events find-related
. - Support for loading Device Repository profiles from different vendors if specified. This allows reusing standard end device profiles from module makers and LoRaWAN end device stack vendors.
- Filtering out verbose events in the event views in the Console.
- The
gs.up.forward
event now includes the host an uplink was forwarded to. - Previews for
*.update
events in the Console. - The Console can now show recent historical events in networks that have events storage enabled.
Changed
- User IDs now have a minimum length of 2 instead of 3, so that more users coming from v2 can keep their username.
- Disabled device uplink simulation and downlink message sending when skipping payload crypto.
- The UpdateAPIKey RPCs now take a fieldmask.
- The Gateway Server no longer sends
gs.up.drop
event if the Network Server does not handle an uplink message, or if the uplink does not match the DevAddr prefix of an upstream. - Maximum size for user-defined payload formatter scripts.
- The default cap is at 4KB, see the new
as.formatters.max-parameter-length
config option. - A maximum cap of 16KB per script is set at the API level.
- This only prevents setting large payload formatter scripts for new devices and applications; it does not remove payload formatters from existing applications and devices. Scripts sourced from the Device Repository are not affected. See issue #4053 for more context on this change.
- The default cap is at 4KB, see the new
Removed
- The
gs.status.forward
event.
Fixed
- OAuth token exchange for OAuth clients that use Basic auth.
- The CLI now properly returns a non-zero exit status code on invalid commands.
- Gateway connection requests with zero EUI are rejected.
- End device payload formatter reset to
FORMATTER_NONE
in the Console.