Releases: chirpstack/chirpstack
v4.14.0
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
v4.13.0
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
tof_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 pipelinedGET
andDEL
commands. (#682) - Sort
NULL
values as smallest value (device and gateway last-seen sorting). (#683)
Bugfixes
v4.12.1
v4.12.0
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
v4.11.0
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
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
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
andtonic
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
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 inregion_xxxx.toml
configuration files. (#462) - Replace
warp
dependency byaxum
for API request handling. - UI: Make it possible to configure the tileserver. (#451)
- UI: Replace
moment
withdate-fns
. (#460) - UI: Migrate from
create-react-app
tovite
. (#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 toHomeNSReq
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
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.