Changelogs
LoRa App Server v2.0.0
Upgrade notes
Before upgrading to v2, first make sure you have the latest v1 installed and running
(including LoRa App Server). As always, it is recommended to make a backup
first
Features
LoRaWAN 1.1 support
This release adds support for LoRaWAN 1.1 devices (meaning that both LoRaWAN 1.0
and LoRaWAN 1.1 devices are supported). Please note that the LoRaWAN 1.0 AppKey
is now called NwkKey and LoRaWAN 1.1 adds a new key called AppKey.
(Encrypted) key signaling
The LoRa App Server join-server API supports using Key Encryption Keys (KEK)
for encrypting the session-keys on a (re)join-request, requested by LoRa Server.
It will also send the (encrypted) AppSKey in this response to LoRa Server.
When LoRa Server receives the first uplink from the device (in case of a rejoin-request,
this will be the first uplink using the new security context), it will send this
(encrypted) AppSKey together with the application payload to LoRa App Server.
This will also be the moment when LoRa App Server will sent the join notification!
New UI
The LoRa App Server web-interface has been re-designed with a focus on better
navigation. All main components are now accessible from a sidebar.
Changes
Device-status
The device-status has been removed from the uplink payload and is sent over
a separate MQTT topic (or HTTP integration). This to make sure that the
the device-status is only published when an update is available.
See also Sending and receiving data.
API changes
The API has been cleaned up to improve consistency and usability. This update
affects most of the endpoints! Most of these changes can be summarized by
the following example (where device
is a separate object which now can be
re-used for create / get and update methods).
Old API
POST /api/devices
{
"name": "test-device",
"devEUI": "0102030405060708",
"applicationID": "123"
...
}
New API
POST /api/devices
{
"device": {
"name": "test-device",
"devEUI": "0102030405060708",
"applicationID": "123"
...
}
}
InfluxDB changes
The device_uplink
measurement spreading_factor
, bandwidth
, modulation
and bitrate
tags are now replaced by a single dr
tag.
Uplink message payload
The uplink message payload (used for MQTT and HTTP integrations) has been
modified slightly:
- It now contains a
dr
field indicating the used uplink data-rate. - Location related fields of each
rxInfo
element has been moved inside alocation
object. -
MAC
has been renamed togatewayID
for eachrxInfo
element. - The
adr
field has been moved out oftxInfo
and moved into the root object.
Downlink queue changes
The reference
field has been removed to simplify the downlink queue handling.
When using the REST or gRPC API interface, the response to an enqueue action
contains the frame-counter mapped with the downlink queue item. This
frame-counter then can be used to map the acknowledgement in case of a confirmed
downlink payload.
LoRa Server v2.0.0
Upgrade nodes
Before upgrading to v2, first make sure you have the latest v1 installed and running
(including LoRa App Server). As always, it is recommended to make a backup
first
Features
- LoRaWAN 1.1 support!
- Support for signaling received (encrypted) AppSKey from join-server to
application-server on security context change. - Support for Key Encryption Keys, used for handling encrypted keys from the
join-server.
Changes
- LoRa Server calls the
SetDeviceStatus
API method of LoRa App Server
when it receives aDevStatusAns
mac-command. - Device-sessions are stored using Protobuf encoding in Redis
(more compact storage). - Cleanup of gRPC API methods and arguments to follow the Protobuf style-guide
and to make message re-usable. When youâre integrating directly with the
LoRa Server gRPC API, then you must update your API client as these changes are
backwards incompatible! - Config option added to globally disable ADR.
- Config option added to override default downlink tx power.
How to upgrade
Debian / Ubuntu
Change to the 2.x stable repository:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00
sudo echo "deb https://artifacts.loraserver.io/packages/2.x/deb stable main" | sudo tee /etc/apt/sources.list.d/loraserver.list
sudo apt-get update && sudo apt-get upgrade
Docker
Use 2
as tag when pulling the LoRa Server images (e.g. loraserver:2
, lora-app-server:2
or lora-gateway-bridge:2
).