I’ve just released LoRa Server 0.22.0 and LoRa App Server 0.14.0. This is quite a large release, as it changes many things including some breaking changes when you’re using the gRPC and / or REST api. The good news is that this forms the foundation for becoming compliant with the LoRaWAN Backend Interfaces, LoRaWAN 1.1 and future support for roaming.
These versions are not yet available in the Debian / Ubuntu repository to avoid automatic upgrades directly, but can be manually downloaded:
- LoRa Server: https://docs.loraserver.io/loraserver/overview/downloads/
- LoRa App Server: https://docs.loraserver.io/lora-app-server/overview/downloads/
Before you upgrade, please make a backup of your databases. Example commands:
PostgreSQL:
$ pg_dump -h localhost -U loraserver_as -W loraserver_as > loraserver_as.sql
$ pg_dump -h localhost -U loraserver_ns -W loraserver_ns > loraserver_ns.sql
Redis (save snapshot):
$ redis-cli
> save
> exit
$ cp /var/lib/redis/dump.rdb .
Changelogs
LoRa Server
0.22.0
Note: this release brings many changes! Make sure (as always) to make a
backup of your PostgreSQL and Redis database before upgrading.
Changes:
-
Data-model refactor to implement service-profile, device-profile and
routing-profile storage as defined in the
LoRaWAN backend interfaces. -
LoRa Server now uses the LoRa App Server Join-Server API as specified by the
LoRaWAN backend interfaces specification (currently hard-configured endpoint). -
Adaptive data-rate configuration is now globally configured by LoRa Server.
See configuration. -
OTAA RX configuration (RX1 delay, RX1 data-rate offset and RX2 dat-rate) is
now globally configured by LoRa Server.
See configuration.
API changes:
- Service-profile CRUD methods added
- Device-profile CRUD methods added
- Routing-profile CRUD methods added
- Device CRUD methods added
- Device (de)activation methods added
- Node-session related methods have been removed
-
EnqueueDataDownMACCommand
renamed toEnqueueDownlinkMACCommand
-
PushDataDown
renamed toSendDownlinkData
How to upgrade
Note: this release brings many changes! Make sure (as always) to make a
backup of your PostgreSQL and Redis database before upgrading.
Note: When LoRa App Server is running on a different server than LoRa Server,
make sure to set the --js-server
/ JS_SERVER
(default localhost:8003
).
This release depends on the latest LoRa App Server release (0.14). Upgrade
LoRa Server first, then proceed with upgrading LoRa App Server. See also the
LoRa App Server changelog.
LoRa App Server
0.14.0
Note: this release brings many changes! Make sure (as always) to make a
backup of your PostgreSQL and Redis database before upgrading.
Changes:
-
Data-model refactor to implement service-profile, device-profile and
routing-profile storage as defined in the
LoRaWAN backend interfaces. -
Application users have been removed to avoid complexity in the API
authorization. Users can still be assigned to organizations. -
LoRa App Server can now connect to multiple LoRa Server
instances. -
LoRa App Server exposes a Join-Server API (as defined in the LoRaWAN backend
interfaces document), which LoRa Server uses as a default join-server. -
E-mail and note field added for users.
-
Adaptive-datarate configuration has been moved to LoRa Server.
-
OTAA RX configuration has been moved to LoRa Server.
API changes:
-
New API endpoints:
-
/api/device-profiles
(management of device-profiles) -
/api/service-profiles
(management of service-profiles) -
/api/network-servers
(management of network-servers) -
/api/devices
(management of devices, used to be/api/nodes
, settings
have been removed and device-profile field has been added)
-
-
Updated API endpoints:
-
/api/applications
(management of applications, most of the settings are now part of the device-profile) -
/api/gateways
(management of gateways, network-server field has been added)
-
-
Removed API endpoints:
-
/api/applications/{id}/users
(management of application users) -
/api/nodes
(management of nodes, has been refactored into/api/devices
)
-
Note: these changes also apply to the related gRPC API endpoints.
How to upgrade
Note: this release brings many changes! Make sure (as always) to make a
backup of your PostgreSQL and Redis database before upgrading.
Note: When LoRa App Server is running on a different server than LoRa Server,
make sure to set the --as-public-server
/ AS_PUBLIC_SERVER
(default localhost:8001
).
This release depends on the latest LoRa Server release (0.22).
Start with updating LoRa Server first. See also the
LoRa Server changelog.
LoRa App Server will perform the data-migration when the --db-automigrate
/
DB_AUTOMIGRATE
config flag is set. It will:
- Create a network-server record + routing-profile on LoRa Server (so that
LoRa Server knows how to connect back). - For each organization, it will create a service-profile
- It will create device-profiles (either per device or per application when
the “use application settings” is checked)