LoRa Server v1 has been released not too long ago and it marked a stable version after many v0.x releases with some internal code-cleanup (migration code).
Meanwhile I’ve also been working on what will become the LoRa (App) Server release v2. The two main features / changes that this release will include are:
- LoRaWAN 1.1 support
- A cleaner API
LoRaWAN 1.1
Together with Stackforce (the guys behind https://github.com/Lora-net/LoRaMac-node) I have been working on adding LoRaWAN 1.1 support to LoRa Server. There are still a couple of areas that have been untested at the LoRa Server side, but in general this is fully functional Note that this means that both LoRaWAN 1.0 and LoRaWAN 1.1 will be supported.
API cleanup
Over the years many API changes were made, also introducing some inconsistencies. As the introduction of LoRaWAN 1.1 already introduces some backwards incompatible changes to the API with regards to the root keys I also took this as an opportunity to go through the entire API and make sure all methods, messages and fields are consistent.
When using the LoRa App Server REST API, probably the biggest change you will see that a lot of objects / messages have been made re-usable. Example to demonstrate this:
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"
...
}
}
This means that the device
object / gRPC message (when using the gRPC API) is now the same for create, get and update. So after a GET
you can update the fields of the device
object and use this device
object in your POST
.
As before, the REST API is documented at the LoRa App Server /api
endpoint
This is still work in progress, but I would love your feedback! When you’re using Docker, you can grab the :latest
tag instead of :1
for both LoRa App Server as LoRa Server. You can also use the code from the master
branch of both repositories. Soon I will also publish a first test release to the 2.x
debian repository (testing channel).
Looking forward to your feedback!