From c9022bafdfc8e82e7686887d1303d127a93c9abd Mon Sep 17 00:00:00 2001 From: The Things Bot Date: Fri, 21 Jul 2023 13:22:15 +0000 Subject: [PATCH 1/5] all: Bump to version 3.27.0 --- data/lorawan-devices | 2 +- package.json | 2 +- pkg/version/ttn.go | 2 +- sdk/js/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/lorawan-devices b/data/lorawan-devices index 1f0f94d781..224d753a79 160000 --- a/data/lorawan-devices +++ b/data/lorawan-devices @@ -1 +1 @@ -Subproject commit 1f0f94d781cfc06972d4561466abba6645afcc42 +Subproject commit 224d753a798f6a7c0d40d3ef747d851dd38a7a48 diff --git a/package.json b/package.json index d57d2f4258..d123461337 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ttn-stack", - "version": "3.26.2", + "version": "3.27.0", "description": "The Things Stack", "main": "index.js", "repository": "https://github.com/TheThingsNetwork/lorawan-stack.git", diff --git a/pkg/version/ttn.go b/pkg/version/ttn.go index c5d5b07fe9..fc197b8841 100644 --- a/pkg/version/ttn.go +++ b/pkg/version/ttn.go @@ -3,4 +3,4 @@ package version // TTN Version -var TTN = "3.26.2-dev" +var TTN = "3.27.0-dev" diff --git a/sdk/js/package.json b/sdk/js/package.json index b653e616b4..1b4edfff7b 100644 --- a/sdk/js/package.json +++ b/sdk/js/package.json @@ -1,6 +1,6 @@ { "name": "ttn-lw", - "version": "3.26.2", + "version": "3.27.0", "description": "The Things Stack for LoRaWAN JavaScript SDK", "url": "https://github.com/TheThingsNetwork/lorawan-stack/tree/default/sdk/js", "main": "dist/index.js", From 19b668c3e4501522ce3ebe125045ee315709a373 Mon Sep 17 00:00:00 2001 From: Adrian-Stefan Mares Date: Tue, 25 Jul 2023 15:55:09 +0200 Subject: [PATCH 2/5] all: Avoid watching empty sets of keys --- pkg/applicationserver/redis/registry.go | 9 +++++++-- pkg/joinserver/redis/registry.go | 9 +++++++-- pkg/networkserver/redis/registry.go | 9 +++++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/pkg/applicationserver/redis/registry.go b/pkg/applicationserver/redis/registry.go index b523063a2d..63738d3aec 100644 --- a/pkg/applicationserver/redis/registry.go +++ b/pkg/applicationserver/redis/registry.go @@ -505,8 +505,13 @@ func (r *DeviceRegistry) BatchDelete( } } } - if err := tx.Watch(ctx, euiKeys...).Err(); err != nil { - return err + // If the provided end device identifiers are not registered, it is possible + // that the `euiKeys` set will be empty. `WATCH` does not allow an empty set + // of keys to be provided, and as such must be manually skipped. + if len(euiKeys) > 0 { + if err := tx.Watch(ctx, euiKeys...).Err(); err != nil { + return err + } } if _, err := tx.TxPipelined(ctx, func(p redis.Pipeliner) error { p.Del(ctx, append(uidKeys, euiKeys...)...) diff --git a/pkg/joinserver/redis/registry.go b/pkg/joinserver/redis/registry.go index 03bf06abf5..2b75317fdd 100644 --- a/pkg/joinserver/redis/registry.go +++ b/pkg/joinserver/redis/registry.go @@ -879,8 +879,13 @@ func (r *DeviceRegistry) BatchDelete( } } } - if err := tx.Watch(ctx, keys...).Err(); err != nil { - return err + // If the provided end device identifiers are not registered, it is possible + // that the `keys` set will be empty. `WATCH` does not allow an empty set of + // keys to be provided, and as such must be manually skipped. + if len(keys) > 0 { + if err := tx.Watch(ctx, keys...).Err(); err != nil { + return err + } } if _, err := tx.TxPipelined(ctx, func(p redis.Pipeliner) error { p.Del(ctx, append(uidKeys, keys...)...) diff --git a/pkg/networkserver/redis/registry.go b/pkg/networkserver/redis/registry.go index 46c63dac69..2eab68fe25 100644 --- a/pkg/networkserver/redis/registry.go +++ b/pkg/networkserver/redis/registry.go @@ -1024,8 +1024,13 @@ func (r *DeviceRegistry) BatchDelete( } } } - if err := tx.Watch(ctx, euiKeys...).Err(); err != nil { - return err + // If the provided end device identifiers are not registered, it is possible + // that the `euiKeys` set will be empty. `WATCH` does not allow an empty set + // of keys to be provided, and as such must be manually skipped. + if len(euiKeys) > 0 { + if err := tx.Watch(ctx, euiKeys...).Err(); err != nil { + return err + } } if _, err := tx.TxPipelined(ctx, func(p redis.Pipeliner) error { p.Del(ctx, append(uidKeys, euiKeys...)...) From fa79c3b2d8a236052c8f40098abbf08a4a06ace0 Mon Sep 17 00:00:00 2001 From: Adrian-Stefan Mares Date: Wed, 26 Jul 2023 13:45:54 +0200 Subject: [PATCH 3/5] as: Support gateways without location --- .../io/packages/loragls/v3/api/objects.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/applicationserver/io/packages/loragls/v3/api/objects.go b/pkg/applicationserver/io/packages/loragls/v3/api/objects.go index 23aacd5bca..f074a3a6ad 100644 --- a/pkg/applicationserver/io/packages/loragls/v3/api/objects.go +++ b/pkg/applicationserver/io/packages/loragls/v3/api/objects.go @@ -189,9 +189,11 @@ func (r *RxMetadata) FromProto(pb *ttnpb.RxMetadata) error { return err } - r.Location = &RxMDLocation{} - if err := r.Location.FromProto(pb.Location); err != nil { - return err + if pb.Location != nil { + r.Location = &RxMDLocation{} + if err := r.Location.FromProto(pb.Location); err != nil { + return err + } } r.AntennaIndex = pb.AntennaIndex From 747550670cec33f1ed0513c0522c5312a7e94e09 Mon Sep 17 00:00:00 2001 From: Adrian-Stefan Mares Date: Wed, 12 Jul 2023 14:01:19 +0200 Subject: [PATCH 4/5] dev: Maximize build space --- .github/workflows/release-tag.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index 0c587d32b2..d7b2e667f4 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -16,6 +16,16 @@ jobs: pull-requests: write timeout-minutes: 60 steps: + - name: Maximize build space + uses: easimon/maximize-build-space@v7 + with: + root-reserve-mb: 20480 + swap-size-mb: 4096 + remove-dotnet: true + remove-android: true + remove-haskell: true + remove-codeql: true + remove-docker-images: true - name: Check branch run: echo "${{ github.ref_name }}" | grep -Pq '^release/v3\.\d+\.\d+$' - name: Get version From bc0bba609c28df392f1913024b0d3db54646fb04 Mon Sep 17 00:00:00 2001 From: The Things Bot Date: Mon, 31 Jul 2023 16:10:26 +0000 Subject: [PATCH 5/5] all: Enter release date of version 3.27.0 into the changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88b1d46f45..2a7ab472b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ For details about compatibility between different releases, see the **Commitment ### Security -## [3.27.0] - unreleased +## [3.27.0] - 2023-07-31 ### Added