v3.13.0
ChirpStack Network Server v3.13.0
Features
Uplink / downlink logging to Redis Stream
This implements the (optional) logging of uplink and downlink frames for gateways and devices to a Redis Stream for external logging and monitoring purposes. By default this option is disabled, it can be enabled in the Configuration.
LoRaWAN 2.4 GHz
This adds the ISM2400
band to ChirpStack for LoRaWAN 2.4 GHz support.
Improvements
Refactor downlink scheduling
This includes the following changes:
txack / removing of queue items
A downlink queue-item will only be deleted when it has been successfully acknowledged for transmission by the gateway. In case the gateway was unable to transmit the downlink, then the downlink will stay in the queue and the downlink frame-counter is not incremented. Note that the multicast frame-counter is incremented on scheduling, not after a txack, as a multicast downlink can be transmitted by multiple gateways in order to reach all devices in the multicast-group.
re-encrypt queue-items
As per LoRaWAN 1.0.4 specifications, mac-commands must be prioritized over application payloads, this mean than when there is an
application payload in the queue with frame-counter N, but the downlink with frame-counter N will be a mac-command only downlink
(because of max. payload-size restrictions), the NS will request the AS to re-encrypt the application payload using frame-counter N+1 so
that it can be sent to the device at the next downlink opportunity.
Schema migrations
Refactor SQL schema migrations from sql-migrate to golang-migrate. (#525)
Update Go import path
This updates the Go import path to github.com/brocaar/chirpstack-network-server/v3
. This fixes the go get
issue, when importing github.com/brocaar/chirpstack-network-server/v3/adr
when implementing a custom ADR algorithm.
Log timestamp precision
This adds ns precision to the log timestamp.
Custom authorization for roaming
This adds a configurable HTTP authorization header for roaming. (#528)
Class-C scheduling improvements
- Lock Class-C downlink scheduling for device when a Class-A uplink is received, to avoid that the Class-C scheduler schedules a downlink within Class-A receive-window.
- Add config option to lock gateway for a given time after a Class-C downlink, to avoid continuously sending Class-C downlinks and therefore not being able to receive any uplink (responses).
Bugfixes
- Do not try to lookup NetID of unknown devices when roaming is disabled.