[release] ChirpStack v4.4



Relay support (TS011)

This adds support for the Relay specification (TS011). In the Device Profile it is possible to configure the Relay and Relay capable end-device parameters. Under the Application view it is possible to assign devices to a Relay (required for filtering and exchanging the device list with the Relay).

Note: Please note that this requires a Relay and Relay capable end-device.


Build changes

The build configuration has been updated to generate fully static binaries based on musl libc. This solves the issue where in some cases ChirpStack would not connect over TLS to a PostgreSQL database. (#156).

This also changes the Docker base image to alpine, reducing the Docker image size by ~ 50% compared to debian:buster-slim. Within the Dockerfile we now COPY the already compiled binaries, which also reduces the build time on release.

If you are compiling ChirpStack from source, please refer to the README.md in the source repository as some commands have changed.

IFTTT integration

Configuration has been added to configure the prefix of the event name and to send arbitrary JSON payloads instead of the 3 value payload.

Other improvements

  • Add lrwn_filters crate for filtering LoRaWAN PHYPayloads.
  • Dependencies have been updated.
  • Expose enabled device-class in API and integration event output. (#58)


  • Fix netid_type method panic in case of invalid DevAddr prefix type.
  • Fix missing device search filter (API).
  • Fix incorrect config template key for bind ([backend_interface]).
  • Fix default CN470 Class-B ping-slot frequencies.
  • Fix using system CA certificates for TLS. (#204)
  • Fix OTAA join-request MIC check and DevNonce validation order.

Hi @brocaar :wave:,

In v4.3.2, I put my cert key for PostgreSQL in a folder / configuration/chirpstack/pg-certs with access right:
-rw-r----- 1 root nogroup 1674 May 17 06:55 client-key.pem
and it worked well

Now, with v4.4 I have an error “could not load private key file “/etc/chirpstack/pg-certs/client-key.pem”: Permission denied”. Do you now which group I should use instead of nogroup?

1 Like

Owner must be nobody, permission 0600

1 Like

Have you had the opportunity to test it with real devices?
If yes, with which gateway and relay?


1 Like



  • Update internal dependencies.
  • Add support for JSON log output.


  • Fix sending channel-mask twice (CFList + LinkADRReq) for US915-like regions.



  • Add create-api-key sub-command to create API keys using the CLI.


  • Update internal dependencies.


  • Fix sending multiple FilterListReq mac-commands (Relay).



  • Wait for first uplink before scheduling Class-C downlink.
  • Do not disable device activation fields in UI (making it impossible to read & copy session-keys).
1 Like

How can i update my v4.1.1 ?

Are you using docker?

Yes for the v4.1.1 im using Docker

Just update your docker-compose.yml file with the version you need, then

> docker compose pull 
> docker compose up -d

Should do the job.