chirpstack-application-server

ChirpStack Application Server is an open-source LoRaWAN application-server.

MIT License

Stars
491

Bot releases are visible (Hide)

chirpstack-application-server - v3.13.2

Published by brocaar almost 4 years ago

v3.13.2

Bugfixes

chirpstack-application-server - v3.13.1

Published by brocaar almost 4 years ago

v3.13.1

Bugfixes

  • Fix wifi based geolocation in combination with LoRa Cloud DAS integration.
chirpstack-application-server - v3.13.0

Published by brocaar almost 4 years ago

v3.13.0

Features

Pilot Things integration

This release adds a per-application Pilot Things integration. (#527)

Improvements

  • Expose gateway certificate expiration date in web-interface.
  • Improve organization auto-complete with total count of available options.
  • Make setting default gRPC resolver a config option.
    • Note: this changes the default resolver from dns back to passthrough,
      which is the default value for the Go gRPC library.
  • Support SCRAM-SHA-256/512 for Kafka integration. (#549)
  • Add tls_enabled option to Redis configuration.
  • Improve user email validation regexp. (#553)
  • Implement JWT token audience validation.
  • Make it impossible for users to delete themselves. (#557)
  • Add ms precision to LoRa Cloud DAS integration timestamps. (#556)
  • Implement UplinkMsgWifi + wifi stream record workaround for LoRa Cloud DAS integration.
  • Replace Math.random by window.crypto in UI.

Bugfixes

  • Exclude email validation for admin user. (#540)
  • Fix healthcheck -> health log line. (#550)
  • Fix list service-profiles for API-key users. (#532)
  • Fix create API-key with empty string name and validate max length. (#555)
chirpstack-application-server - v3.13.0-test.1

Published by brocaar about 4 years ago

chirpstack-application-server - v3.12.2

Published by brocaar about 4 years ago

v3.12.2

Improvements

  • Add gateway-profile option to configure (expected) gateway stats interval.
  • Implement workaround for parsing LoRa Cloud stream records containing GNSS payloads.

Bugfixes

  • Revert 'Add WebSocket ping (30s interval) to avoid that load-balancers close the connection after inactivity' as it causes more issues that that it solves.
  • Fix resetting altitude when updating the gateway location.
chirpstack-application-server - v3.12.1

Published by brocaar about 4 years ago

v3.12.1

Bugfixes

  • Fix duplicated network-server entries in API and web-interface.
  • Fix auto-complete select placeholder. (#526)
chirpstack-application-server - v3.12.0

Published by brocaar about 4 years ago

ChirpStack Application Server v3.12.0

Features

LoRa Cloud DAS GNSS resolving

This implements the handling of LoRa Cloud Device & Application Services GNSS payload on pre-configured port (default 198).

Dashboards

Implement global and per organization dashboard of active devices and gateways. Please note that for devices, you must configure the expected uplink interval in the device-profile so that ChirpStack knows the difference between an active and inactive devices.

Improvements

  • Add WebSocket ping (30s interval) to avoid that load-balancers close the connection after inactivity.
  • Add Prometheus metrics for MQTT integration.
  • Make it possible for organization admins to update the name of the organization.
  • Add logout_url configuration option for OpenID Connect authentication.

Bugfixes

  • Fix create FUOTA deployment and network-server with empty name. (#511)
  • Fix 'can't evaluate field TLS in type struct' error for configfile command. (#518)
  • Fix /api/network-servers error when using API key. (#488)
  • Fix /api/gateway-profiles error when using API key. (#525)
chirpstack-application-server - v3.11.1

Published by brocaar about 4 years ago

ChirpStack Application Server v3.11.1

Improvements

  • Update Kafka configuration parameters so that it is possible to integrate with Azure Event Hub.

Bugfixes

  • Fix setting LoRa Cloud DAS Modem port default value.
chirpstack-application-server - v3.11.0

Published by brocaar over 4 years ago

ChirpStack Application Server v3.11.0

Features

OpenID Connect authentication

This feature makes it possible to use an OpenID Connect authentication backend together with ChirpStack Application Server, for example Auth0.com. Users are automatically matched based on email address on the first login. If there is a successful match, an external OpenID Connect user identifier is associated with the user, so that even in case of an email address update, it can still be matched (and updated in the ChirpStack Application Server database).

The implementation of this feature required a couple of changes:

Usernames

Usernames no longer exist in ChirpStack Application Server and have been renamed to email. Existing users can still login with their username, but on user update, the username must be set to an email address.

Previously there was an unused email field. As there was no guarantee that this field was unique this field has been deprecated. It is still present in the database as email_old so that the new email field (containing the old username as value) can be updated by hand if needed.

Create users

Creating new users as an organization admin has been removed. However, the OpenID Connect integration provides a registration_enabled option, which automatically creates new users when it does not exist.

Together with the registration_callback_url, it can be used to automatically onboard new users. When this option is set, ChirpStack Application Server will make a HTTP request to configured URL when a new user is created. This makes it possible to implement an onboarding service which (using the API) could:

  • Create an organization for the given user ID
  • Setup one or multiple service-profiles
  • ...
Assigning users to organization

Previously there was an auto-complete field to assign an user to an organization. As the username has been replaced by email and to not leak email addresses, the autocomplete function has been removed and the exact email must be given when associating a given user with an organization.

LoRa Cloud integration

Geolocation

This migrates the geolocation integration from ChirpStack Network Server to ChirpStack Application Server and allows a per-application integration configuration. The LoRa Cloud Geolocation integration provides support for TDOA, RSSI, Wifi and LR1110 based GNSS geolocation.

DAS

This implements the integration with the LoRa Cloud Device & Application Services.

Disable device

This feature makes it possible to (temporarily) disable a device.

Kafka integration

This (global) integration makes it possible to forward events to a Kafka broker.

Gateway client-certificates

When also configured in ChirpStack Network Server this makes it possible to generate per-gateway client-certificates which can be used to implement gateway authentication and authorization. For example a MQTT broker can be configured to validate the client-certificate against a pre-configured CA certificate and if valid it can use the CommonName of the certificate (which contains the gateway ID) to authorize publish / subscribe to certain topics.

Support max gateway / device option

This option makes it possible to configure the maximum gateways and devices that can be created per organization.

Integrations

Cloud integrations

It is now possible to configuring per-application integrations for AWS SNS, Azure Service-Bus and GCP Pub/Sub

Web-interface

The interface to configure per-application configurations has been re-implemented.

Single HTTP integration endpoint

This updates the HTTP integration with a single endpoint configuration. Instead of configuring a per-event endpoint, this makes it possible to have a single endpoint to which all events are posted, with the event as query parameter.

This update makes it also possible to configure the marshaler (JSON, Protocol Buffers and legacy JSON v3) per HTTP integration.

Already configured HTTP integrations are not affected by this update but it is recommended to update your configuration so that you will automatically receive new event-types when they are introduced.

MQTT topic configuration

The MQTT integration has been updated with new MQTT topic configuration. Instead of configuring each topic separately, an event_topic_template template can be configured, which is used for all events. The command topic(s) can now be configured through the command_topic_template variable. In case the old configuration is still present, then the old topic configuration will remain active for backwards compatibility.

Important:

For consistency with the other components, the new configuration does introduce a change in MQTT topics (default configuration):

  • application/[ApplicationID]/device/[DevEUI]/rx -> application/[ApplicationID]/device/[DevEUI]/event/up
  • application/[ApplicationID]/device/[DevEUI]/join -> application/[ApplicationID]/device/[DevEUI]/event/join
  • application/[ApplicationID]/device/[DevEUI]/ack -> application/[ApplicationID]/device/[DevEUI]/event/ack
  • application/[ApplicationID]/device/[DevEUI]/error -> application/[ApplicationID]/device/[DevEUI]/event/error
  • application/[ApplicationID]/device/[DevEUI]/status -> application/[ApplicationID]/device/[DevEUI]/event/status
  • application/[ApplicationID]/device/[DevEUI]/txack -> application/[ApplicationID]/device/[DevEUI]/event/txack
  • application/[ApplicationID]/device/[DevEUI]/location -> application/[ApplicationID]/device/[DevEUI]/event/location
  • application/[ApplicationID]/device/[DevEUI]/tx -> application/[ApplicationID]/device/[DevEUI]/command/down

API keys

It is now possible to also generate per-organization API keys in the web-interface for easy integration with the gRPC and REST API.

Improvements

  • Make it possible to use activate API endpoint for OTAA devices (to import an existing activation).
  • Gateway Profile / channel-plan re-configuration documentation in web-interface.
  • Internal cleanup auto-complete select in web-interface.
  • Remove links in web-interface which could cause a logout due to user-permissions.
  • Redirect to device overview after saving root-keys.
  • Add network-server name in gateway list.
  • Expose (un)confirmed + DevAddr in integration payloads. (#453)
  • Highlight rlow when hovering over table rows in web-interface. (#474)
  • Include Network Server name column in Device- and Service Profile list. (#475)
  • Include RSSI and SNR in ThingsBoard integration. (#478)
  • Align Gateway detail overview styling. (#480)
  • Makefile changes to speed up tests. (#493)
  • Support multiple Redis addresses for clustering. (#491)

Bugfixes

  • Fix delete icon in gateway-profile UI (was showing + icon instead of delete).
  • Fix updating organization with global API key. (#487)
  • Add missing error check in AWS SNS integration. (#483)
chirpstack-application-server -

Published by brocaar over 4 years ago

chirpstack-application-server -

Published by brocaar over 4 years ago

chirpstack-application-server -

Published by brocaar over 4 years ago

chirpstack-application-server - v3.10.0

Published by brocaar over 4 years ago

v3.10.0

Features

Generate API keys in web-interface

This makes it possible to generate (and revoke) API keys directly from within the web-interface. Internally, a lot of authorization code has been cleaned up to remove duplication and make the code easier to maintain. (#421)

Redis Cluster and Sentinel

This release introduces the support for Redis Cluster and Redis Sentinel.

Improvements

  • Use server time instead of gateway reported time in stats. (#440)
  • Add "Last seen" column to gateway list view. (#444)
  • Change ISM band names to their common name. (#456)

Bugfixes

  • Fix objectJSON formatting in web-interface.
  • Fix AMQP re-connect issue.
  • Fix setting updated_at field on organization user update. (#430)
  • Fix create service-profile with empty name. (#436)
  • Fix closing WebSocket connections. (#373)
  • Fix create multicast-group with empty name. (#451)
  • Fix device-status margin type (uint32 > int32).
  • Fix passing the correct database transaction on downlink enqueue. (#412)
  • Update viper to fix reading configfile error. (#461)
chirpstack-application-server -

Published by brocaar over 4 years ago

chirpstack-application-server -

Published by brocaar over 4 years ago

chirpstack-application-server - v3.9.0

Published by brocaar over 4 years ago

v3.9.0

Features

Monitoring

The monitoring configuration has been updated so that it is possible to configure both a Prometheus endpoint at /metrics and healthcheck endpoint at /health. This change is backwards compatible, but to use the /health endpoint you must update your configuration.

Gateway tags and metadata

This makes it possible to store additional user-defined key/value configuration per gateway. Metadata pushed by the ChirpStack Gateway Bridge is now stored by the ChirpStack Application Server and visible under metadata.

Device-profile tags

This makes it possible to store additional user-defined key/value configuration per device-profile.

myDevices Cayenne

The myDevices Cayenne endpoint is now enabled for the myDevices integration.

Improvements

  • Implement searching devices by tags (e.g. tagname:tagvalue).
  • Refactor Prometheus endpoint and add /health endpoint.

Bugfixes

  • Update gRPC dependency to fix 'DNS name does not exist' error. (#426)
chirpstack-application-server - v3.8.0

Published by brocaar over 4 years ago

v3.8.0

Features

New error events

This release provide new error events for OTAA errors, frame-counter resets and re-transactions / replay-attacks (requires ChirpStack Network Server v3.7+). It also adds new error events when the gateway reports an error on downlink scheduling (e.g. collision, invalid frequency, ...).

Downlink tx ack event

This publishes an acknowledgement when an item from the queue has been sent to the gateway for transmission and was accepted by the gateway.

myDevices integration

This new integration makes it possible to forward payload events to myDevices IoT in a Box. myDevices Cayenne integration will be made available soon.

Syslog logger

This adds a configuration option log_to_syslog. When enabled, log items will be forwarded to syslog.

Improvements

  • Add API option to fetch device queue size only.
  • Add device profile to device list in web-interface.
  • Enable DNS round-robin load-balancing for gRPC client (to NS).
  • Add uplink IDs used for gelocation to geolocation event. (#413)
  • Internal cleanup of unused device_activation table and code.
  • Add option for 200 and 500 items per page in web-interface. (#418)

Bugfixes

  • Fix LoRaWAN 1.1 OTAA bug (and update tests). (#382)
  • Fix assigning device profile to device (validate they share the same organization). (#415)
  • Fix assigning service profile to application (validate they share the same organization).
chirpstack-application-server -

Published by brocaar over 4 years ago

chirpstack-application-server - v3.7.0

Published by brocaar almost 5 years ago

v3.7.0

Features

AMQP / RabbitMQ integration

This new integration publishes device events to an AMQP / RabbitMQ message broker.

Device variables in JS codec

This makes it possible to store (for example) calibration values as device variables and use this variable in the JavaScript codec.

Improvements

API auth query cleanup

This cleanup optimizes the API authorization functions by using a SQL query specific to each function, instead of a shared SQL query joining all tables.

Connection settings

  • Implement max. reconnect interval setting for MQTT integration.
  • Fix Redis max. idle configuration and add max. active connections configuration.
  • Implement max open and idle connections for PostgreSQL integration.

Bugfixes

  • Check for null values in JSONTree web-interface component. (#398)
chirpstack-application-server -

Published by brocaar almost 5 years ago