Skip to content

Releases: chirpstack/chirpstack

v4.14.0

07 Aug 13:01
Compare
Choose a tag to compare

v4.14.0

LoRa Cloud integration removal

This release removes the LoRa Cloud integration from ChirpStack as it has been discontinued by Semtech. This will also remove the LoRa Cloud integration settings (if any) from the database.

Improvements

  • Update internal dependencies.
  • Update device-profile importer.
  • Ensure jq is available in the development shell. (#705)
  • Add support for 2.4GHz frequencies in FUOTA multicast-setup. (#700)
  • Improve reported errors by ADR plugin system. (#712)
  • Add expires_at field to MQTT downlink command. (#608)

Bugfixes

  • Fix missing FUOTA API methods in gRPC client packages. (#709)
  • Add distance type to Cayenne LPP codec. (#704)
  • Fix FUOTA block_ack_delay and descriptor fields. (#717)

v4.13.0

16 Jun 13:20
Compare
Choose a tag to compare

v4.13.0

Features

Refactor Mesh heartbeat

This refactors the Gateway Mesh heartbeat payload into a more generic Mesh Event payload, which can be used by both "known" and "proprietary" event types. The first implemented "known" type is the heartbeat. While this refactor is not backwards compatible and requires ChirpStack MQTT Forwarder v4.4+, the backwards incompatibility does not affect the functioning of the Gateway Mesh itself.

Improvements

  • Store mac-command stats in device-session (instead of Redis key).
  • Update scheduler_run_after directly at devicve-session get (avoiding race-conditions between Class-A & Class-B & -C).
  • Rename m_type to f_type to align with LoRaWAN 1.0.4 specification naming.
  • Make it more clear if FUOTA job is running or if it is schedule.
  • Make AMQP integration exchange configurable. (#677)
  • Replace Redis GETDEL by pipelined GET and DEL commands. (#682)
  • Sort NULL values as smallest value (device and gateway last-seen sorting). (#683)

Bugfixes

  • Fix custom root CA certificates not taken into account. (#684)
  • Fix inconsistency in Class-B periodicity between backend and UI and align naming with LoRaWAN 1.0.4 specification naming. (#670)

v4.12.1

02 May 11:27
Compare
Choose a tag to compare

Improvements

  • Update internal dependencies.

Bugfixes

  • ui: Fix JSON enqueue error. (#658)
  • ui: Fix error after deleting tenant. (#635)
  • ui: Fix potential code-editor rendering issues (by replacing codemirror by ace).

v4.12.0

22 Apr 09:38
Compare
Choose a tag to compare

Features

FUOTA Support

This release brings FUOTA support to ChirpStack, deprecating the need to use the ChirpStack FUOTA Server. Currently it supports both the v1 and v2 versions of TS003, TS004 and TS005
specifications.

Note:

This has been tested against the LoRa Basics Modem stack. While testing, a small implementation difference has been found between the LoRa Basics Modem and the TS005 (v2) specification (#106). At this moment, the ChirpStack implementation has been aligned with the
LoRa Basics Modem.

Improvements

  • Add sorting to device and gateway tables. (#579)
  • Add Yandex ID OAuth provider support. (#622)
  • Generalize auto-conversion of SEC1 EC Keys to PKCS#8. (#618)
  • Replace static UUIDs by gen_random_uuid() in PostgreSQL migration. (#634)
  • Show origin in case of bind parse error. (#632)
  • Refactor device-profile fields in database to reduce amount of used columns.
  • Add filtering to device table.
  • Update internal dependencies.
  • Add JavaScript example for default ADR algorithm.
  • Add option to configure join-server authorization header.

v4.11.1

12 Feb 11:43
Compare
Choose a tag to compare

Improvements

  • Return LinkCheckAns with margin=0 for non-LoRa modulations.
  • Re-use http clients in integrations to reduce overhead.

Bugfixes

  • Fix missing ns_time after multi-region refactor.

v4.11.0

16 Jan 10:14
Compare
Choose a tag to compare

Improvements

Refactor (multi-region) de-duplication

This release refactors the uplink de-duplication, such that uplinks received by gateways in different region configurations (but with overlapping channels) are de-duplicated separately. After de-duplication and after resolving the device-session of the device, ChirpStack will only handle the de-duplicated uplink that is within the same region-configuration assigned to the device-session.

This makes it possible to create region configurations of which channels and gateway-coverage are overlapping. Before this release such scenario could result in constantly changing settings (through mac-commands) of the end-device or errors related to unknown channels.

This does include two integration changes:

  • Region information is no longer exposed through the rxInfo elements.
  • A new region_config_id field has been added to join and uplink events.

v4.10.2

10 Dec 14:15
Compare
Choose a tag to compare

Improvements

  • Store DevNonces per JoinUI.
  • Update base Docker base to Alpine 3.21.0.
  • Internal dependency updates.

Bugfixes

  • Delete expired multicast queue-items in case the gateway is offline (previously these would be delete once the gateway would come online).

v4.10.1

04 Nov 16:26
Compare
Choose a tag to compare

v4.10.1

Features

SQLite support

This add support for using SQLite instead of PostgreSQL as database. Please note that the database backend must be selected at compile time (default PostgreSQL). SQLite is ideal for embedded ChirpStack deployments (like the ChirpStack Gateway OS, which will migrate to SQLite in the next version). Pre-compiled binaries are provided for both PostgreSQL and SQLite in the Downloads. (#418, #540)

Queue-item expiration

This makes it possible to set an expires-at timestamp for multicast and unicast queue-items, in case they must be automatically removed from the queue after a given timestamp.

Improvements

  • ui: Update page-title according to page. (#539)
  • api: Update gRPC dependencies in Java API. (#494)
  • api: Re-export pbjson_types and tonic in Rust API. (#503)
  • api: Add support for C. (#549)

Bugfixes

  • ui: Fix tooltip data formatting. (#503)
  • Remove OFF from log levels (this is an invalid level).
  • Fix escaping when generating config template.
  • Fix validate_mic clause (Backend Interfaces).

v4.9.0

15 Aug 11:42
Compare
Choose a tag to compare

Features

Gateway Mesh

This is a new feature that makes it possible to extend network coverage by deploying 'Relay Gateways' that operate without internet access. While the Gatway Mesh only requires changes to the LoRa Gateways, this implements an overview of detected Relay Gateways and their last heartbeat. Please see ChirpStack Gateway Mesh for for information. Support for this feature will be implemented in the next ChirpStack Gateway OS version.

Other features

  • Add support for generating PHP gRPC code. (#431)

Improvements

  • Update internal dependencies.
  • Add passive_roaming_validate_mic configuration option to enable / disable MIC validation for passive-roaming.
  • Update sslmode options in PostgreSQL config template. (#433)
  • Fallback to empty DevAddr, EUI, NetID or AES-key in case of empty string. (#453)
  • Make OIDC and OAuth2 scopes configurable. (#443)
  • Update GitHub workflow action versions. (#461)
  • Document user_info configuration in region_xxxx.toml configuration files. (#462)
  • Replace warp dependency by axum for API request handling.
  • UI: Make it possible to configure the tileserver. (#451)
  • UI: Replace moment with date-fns. (#460)
  • UI: Migrate from create-react-app to vite. (#459)
  • UI: Update codec template with JSDoc. (#473)
  • API: Improve device activation in documentation. (#454)

Bugfixes

  • API: Remove frame_log from __init__.py in Python SDK. (#422)
  • Fix sending HomeNSAns message-type to HomeNSReq request.
  • Fix empty string in Regional Paramaters revision column. (#432)
  • Fix exposing full JS codec errors. (#440)
  • Fix setting gateway altitude in stats handler. (#458)
  • Add signal handler to handle SIGTERM correctly. (#480)

v4.8.1

14 May 08:45
Compare
Choose a tag to compare

v4.8.1

Features

Duty-cycle metrics

This release implements duty-cycle metrics for each gateway. Please note that this feature is (currently) only available for EU868 region and if the ChirpStack Concentratord is used (v4.4.0+).

Increase RX1 Delay in device-profile

This makes it possible to increase the RX1 delay for one or multiple devices through the device-profile. This can be useful when the latency between ChirpStack and the integration is too high to be able to enqueue a downlink for the same RX1 / RX2 receive-windows. Note that it does not allow setting a RX1 delay lower than the rx1_delay value configured in the ChirpStack configuration files.

Improvements

  • Update internal dependencies.
  • Document missing recvTime codec option. (#385)
  • Show error in UI if clipboard API is not available. (231)
  • Show ChirpStack version in web-interface (if user is admin). (#73)
  • Expose more verbose JavaScript codec error output. (#391)
  • Align multicast Class-B ping-slot configuration. (#255)
  • Remove generated API code from repository to reduce amount of changes in case of API changes.
  • Add support for responding to HomeNSReq API requests (Backend Interfaces).

Bugfixes

  • Do not update gateway location when updated lat / lon / alt are all set to 0.
  • Fix typo in auth error string. (#367)
  • Add auto-coversion from SEC1 EC keys to PKCS#8. (#386)
  • Fix drawer header z-index issue in web-interface. (#393)
  • Auto-detect if MQTT (v5) broker supports shared-subscriptions. (#413)
  • Fix stats interval calculations in case of DST changes (in which case some timestamps don't exist). (#415)
  • Fix loading auto-complete options in web-interface. (#334)
  • Do not schedule Class-B / Class-C downlinks for disabled devices.