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.- This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the added columns.
- This requires a database schema migration (
- 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.
- Add a new
mac_settings.desired_max_eirp
field that can be configured to set the desired MaxEIRP value per device. - Support loading rate limiting profile configuration from external sources. When set, they will override embedded configuration. See
rate-limiting.config-source
,rate-limiting.directory
,rate-limiting.url
andrate-limiting.blob.*
configuration options. IssueDevEUI
RPC for requesting a DevEUI from a configured IEEE MAC block for devices per application.- This requires a database schema migration (
ttn-lw-stack is-db migrate
) because of the addedeui_blocks
table anddev_eui_counter
column in applications table. - This requires a new
dev-eui-block
configuration setting.
- This requires a database schema migration (
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
- LoRa Basics Station
router_config
message omits hardware specific fields. - Showing "Last seen" information in end device tables (replacing "Created").
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. - Memory issues when importing end devices in the Console.
Docker images
docker pull thethingsnetwork/lorawan-stack:3.13
docker pull thethingsnetwork/lorawan-stack:3.13.0
docker pull ghcr.io/thethingsnetwork/lorawan-stack:3.13
docker pull ghcr.io/thethingsnetwork/lorawan-stack:3.13.0