Skip to content

Commit 411a934

Browse files
committed
Merge remote-tracking branch 'origin/v3.36' into release/v3.36.0
2 parents cba826e + 9f00ae4 commit 411a934

38 files changed

Lines changed: 2050 additions & 1080 deletions

File tree

.github/actions/install-go-and-deps/action.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
name: Install Go and Dependencies
22
description: Install Go and Go Dependencies
3-
inputs:
4-
go-version:
5-
description: Go Version
6-
required: true
7-
default: "~1.24"
83
runs:
94
using: composite
105
steps:
116
- name: Set up Go
127
uses: actions/setup-go@v5
138
with:
14-
go-version: ${{ inputs.go-version }}
9+
go-version-file: go.mod
1510
- name: Download Go dependencies
1611
shell: bash
1712
run: |

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- name: Lint code
4343
uses: golangci/golangci-lint-action@v8
4444
with:
45-
version: v2.1
45+
version: v2.9
4646
only-new-issues: true
4747
args: --timeout=10m ./pkg/... ./cmd/...
4848

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,21 @@ For details about compatibility between different releases, see the **Commitment
1111

1212
### Added
1313

14+
- Add tracing for LBS LNS and TTIGW protocol handlers.
15+
- TTGC LBS Root CUPS claiming support.
16+
1417
### Changed
1518

19+
- During the process of claiming a managed gateway, create the gateway in the registry before claiming it, not after.
20+
1621
### Deprecated
1722

1823
### Removed
1924

2025
### Fixed
2126

27+
- Mutex locking that caused the rights to be fetched for authorization checks sequentially. This caused gateways to reconnect slowly after Gateway Server restarts and rpcs to timeout that were asserting gateway rights.
28+
2229
### Security
2330

2431
## [3.36.0] - 2026-04-03
@@ -27,6 +34,10 @@ For details about compatibility between different releases, see the **Commitment
2734

2835
- The timestamp of the udp packet is now always correct when the 'Schedule downlink late' is enabled for the gateway and downlink scheduling hits the duty cycle limit.
2936

37+
### Security
38+
39+
- HTML-escape gRPC error messages and error detail attributes to prevent reflected XSS in API error responses.
40+
3041
## [3.35.2] - 2026-01-30
3142

3243
### Changed

config/messages.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4013,6 +4013,24 @@
40134013
"file": "ttjs.go"
40144014
}
40154015
},
4016+
"error:pkg/deviceclaimingserver/gateways/ttgc:create_api_key": {
4017+
"translations": {
4018+
"en": "failed to create API key for gateway"
4019+
},
4020+
"description": {
4021+
"package": "pkg/deviceclaimingserver/gateways/ttgc",
4022+
"file": "lbscups.go"
4023+
}
4024+
},
4025+
"error:pkg/deviceclaimingserver/gateways/ttgc:delete_api_key": {
4026+
"translations": {
4027+
"en": "delete API key"
4028+
},
4029+
"description": {
4030+
"package": "pkg/deviceclaimingserver/gateways/ttgc",
4031+
"file": "lbscups.go"
4032+
}
4033+
},
40164034
"error:pkg/deviceclaimingserver/gateways/ttgc:dial_gateway_server": {
40174035
"translations": {
40184036
"en": "dial Gateway Gerver `{address}`"
@@ -4022,6 +4040,15 @@
40224040
"file": "root_ca.go"
40234041
}
40244042
},
4043+
"error:pkg/deviceclaimingserver/gateways/ttgc:no_supported_claim_option": {
4044+
"translations": {
4045+
"en": "no supported claim option (protocol + auth method) found for gateway"
4046+
},
4047+
"description": {
4048+
"package": "pkg/deviceclaimingserver/gateways/ttgc",
4049+
"file": "ttgc.go"
4050+
}
4051+
},
40254052
"error:pkg/deviceclaimingserver/gateways/ttgc:verify_gateway_server_tls": {
40264053
"translations": {
40274054
"en": "verify TLS server certificate of Gateway Server `{address}`"
@@ -5660,6 +5687,15 @@
56605687
"file": "scheduler.go"
56615688
}
56625689
},
5690+
"error:pkg/gatewayserver/scheduling:schedule_too_far_ahead": {
5691+
"translations": {
5692+
"en": "schedule time is too far in the future"
5693+
},
5694+
"description": {
5695+
"package": "pkg/gatewayserver/scheduling",
5696+
"file": "sub_band.go"
5697+
}
5698+
},
56635699
"error:pkg/gatewayserver/scheduling:sub_band_not_found": {
56645700
"translations": {
56655701
"en": "sub-band not found for frequency `{frequency}` Hz"

go.mod

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
module go.thethings.network/lorawan-stack/v3
22

3-
go 1.24
3+
go 1.26
44

5-
toolchain go1.24.1
5+
toolchain go1.26.1
66

77
// See https://github.com/mitchellh/mapstructure/pull/278
88
replace github.com/mitchellh/mapstructure => github.com/TheThingsIndustries/mapstructure v0.0.0-20230413130846-941bcd1deec3
@@ -49,7 +49,7 @@ require (
4949
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79
5050
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
5151
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0
52-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1
52+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0
5353
github.com/hellofresh/health-go/v5 v5.5.5
5454
github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef
5555
github.com/iancoleman/strcase v0.3.0
@@ -100,31 +100,31 @@ require (
100100
go.packetbroker.org/api/mapping/v2 v2.3.2
101101
go.packetbroker.org/api/routing v1.9.2
102102
go.packetbroker.org/api/v3 v3.17.1
103-
go.thethings.industries/pkg/api/gen/tti/gateway v0.0.0-20241212200202-1050b2b3ffa6
103+
go.thethings.industries/pkg/api/gen/tti/gateway v0.0.0-20260326103632-2a98d7e48bc4
104104
go.thethings.industries/pkg/ca v0.0.0-20241212200202-1050b2b3ffa6
105105
go.thethings.network/lorawan-application-payload v0.0.0-20220125153912-1198ff1e403e
106106
go.thethings.network/lorawan-stack-legacy/v2 v2.1.0
107107
go.uber.org/automaxprocs v1.6.0
108108
go.uber.org/zap v1.27.0
109109
gocloud.dev v0.42.0
110110
gocloud.dev/pubsub/natspubsub v0.42.0
111-
golang.org/x/crypto v0.40.0
111+
golang.org/x/crypto v0.46.0
112112
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc
113-
golang.org/x/net v0.42.0
114-
golang.org/x/oauth2 v0.30.0
115-
golang.org/x/sync v0.16.0
113+
golang.org/x/net v0.48.0
114+
golang.org/x/oauth2 v0.35.0
115+
golang.org/x/sync v0.19.0
116116
google.golang.org/genproto v0.0.0-20250707201910-8d1bb00bc6a7
117-
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7
118-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7
119-
google.golang.org/grpc v1.73.0
120-
google.golang.org/protobuf v1.36.6
117+
google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7
118+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260311181403-84a4fc48630c
119+
google.golang.org/grpc v1.79.1
120+
google.golang.org/protobuf v1.36.11
121121
gopkg.in/mail.v2 v2.3.1
122122
gopkg.in/square/go-jose.v2 v2.6.0
123123
gopkg.in/yaml.v2 v2.4.0
124124
)
125125

126126
require (
127-
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250625184727-c923a0c2a132.1 // indirect
127+
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260209202127-80ab13bee0bf.1 // indirect
128128
cel.dev/expr v0.24.0 // indirect
129129
cloud.google.com/go v0.121.3 // indirect
130130
cloud.google.com/go/auth v0.16.2 // indirect
@@ -261,9 +261,9 @@ require (
261261
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
262262
go.uber.org/multierr v1.11.0 // indirect
263263
golang.org/x/image v0.29.0 // indirect
264-
golang.org/x/sys v0.34.0 // indirect
265-
golang.org/x/term v0.33.0 // indirect
266-
golang.org/x/text v0.27.0 // indirect
264+
golang.org/x/sys v0.39.0 // indirect
265+
golang.org/x/term v0.38.0 // indirect
266+
golang.org/x/text v0.34.0 // indirect
267267
golang.org/x/time v0.12.0 // indirect
268268
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
269269
google.golang.org/api v0.241.0 // indirect

0 commit comments

Comments
 (0)