Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge v3.30 #7051

Merged
merged 153 commits into from Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
f14e2c3
console: Complement collaborators functionality
PavelJankoski Mar 7, 2024
af8e074
Update CHANGELOG.md
PavelJankoski Mar 7, 2024
62ceec6
dev: Reintroduce deleted translations
nicholaspcr Mar 8, 2024
3e60ca4
Merge pull request #6980 from TheThingsNetwork/fix/translations
adriansmares Mar 8, 2024
56e4c3b
dev: Add missing translations
adriansmares Mar 8, 2024
ed1a5f8
Merge pull request #6978 from TheThingsNetwork/feature/6950-collabora…
PavelJankoski Mar 11, 2024
93b36f3
dev: bump the safe group with 6 updates
dependabot[bot] Mar 11, 2024
170a41c
dev: bump @storybook/addon-actions from 7.6.17 to 8.0.0
dependabot[bot] Mar 11, 2024
ff8ee45
dev: bump the safe group with 4 updates
dependabot[bot] Mar 11, 2024
5eaa389
dev: bump the safe group in /tools with 1 update
dependabot[bot] Mar 11, 2024
ad25a35
Merge pull request #6983 from TheThingsNetwork/dependabot/go_modules/…
adriansmares Mar 12, 2024
a4766f5
dev: Update developer tooling
adriansmares Mar 12, 2024
223c26f
dev: Update golangci-lint-action
adriansmares Mar 12, 2024
e9e18b6
Merge pull request #6992 from TheThingsNetwork/feature/remove-tools-deps
adriansmares Mar 12, 2024
bb60e05
dev: bump follow-redirects from 1.15.4 to 1.15.6 in /sdk/js
dependabot[bot] Mar 16, 2024
b26d0ca
dev: bump follow-redirects from 1.15.5 to 1.15.6
dependabot[bot] Mar 17, 2024
0496aff
Merge pull request #6985 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 18, 2024
fd6996a
Merge pull request #6986 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 18, 2024
d6c7f07
dev: bump @storybook/react from 7.6.17 to 8.0.0
dependabot[bot] Mar 18, 2024
67de8bd
Merge pull request #6987 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 18, 2024
8de4c7e
dev: bump storybook from 7.6.17 to 8.0.0
dependabot[bot] Mar 18, 2024
7ff73d1
Merge pull request #6990 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 18, 2024
c7dbb44
dev: bump @storybook/react-webpack5 from 7.6.17 to 8.0.0
dependabot[bot] Mar 18, 2024
6542b13
Merge pull request #6989 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 18, 2024
d8085a6
dev: bump the safe group with 10 updates
dependabot[bot] Mar 18, 2024
e356e4d
api: Add service annotations
KrishnaIyer Mar 14, 2024
6a97daa
dev: bump the safe group with 8 updates
dependabot[bot] Mar 18, 2024
45c67a3
Merge pull request #7000 from TheThingsNetwork/dependabot/go_modules/…
adriansmares Mar 20, 2024
6b0e07d
Merge pull request #6994 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 25, 2024
efe40f2
dev: bump the safe group in /sdk/js with 1 update
dependabot[bot] Mar 25, 2024
a94d5e3
Merge pull request #6995 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 25, 2024
f21eb10
Merge pull request #6997 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 25, 2024
b815d30
Merge pull request #6999 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 25, 2024
a45ed8e
dev: bump webpack-dev-middleware from 6.1.1 to 6.1.2
dependabot[bot] Mar 25, 2024
3520a52
dev: bump @storybook/cli from 7.6.17 to 8.0.4
dependabot[bot] Mar 25, 2024
503b0e2
Merge pull request #6993 from TheThingsNetwork/backport/api-annotations
KrishnaIyer Mar 25, 2024
ca49e30
dev: Add UserBookmark CHANGELOG entry
nicholaspcr Mar 25, 2024
d1d525e
dev: Add user's ConsolePreferences CHANGELOG entry
nicholaspcr Mar 25, 2024
6a30543
Merge pull request #7005 from TheThingsNetwork/fix/missing-readme
nicholaspcr Mar 25, 2024
fe614eb
Merge pull request #7001 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 26, 2024
6ebbbcc
Merge pull request #7003 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 26, 2024
e4a4a50
dev: bump express from 4.18.2 to 4.19.2
dependabot[bot] Mar 26, 2024
24e19fb
Merge pull request #7009 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 26, 2024
ea76997
dev: bump the safe group with 22 updates
dependabot[bot] Mar 26, 2024
ea0a2bc
Merge pull request #7008 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Mar 26, 2024
defffe3
all: Disable OpenTelemetry metrics
adriansmares Mar 6, 2024
b9a95de
all: Cut off changelog version 3.29.2
adriansmares Mar 26, 2024
d957539
all: Bump to version 3.29.2
adriansmares Mar 26, 2024
f85d611
all: Enter release date of version 3.29.2 into the changelog
TheThingsBot Mar 26, 2024
00b1894
Merge remote-tracking branch 'ttn/v3.30' into release/v3.29.2
adriansmares Mar 26, 2024
9f0c529
Merge pull request #7010 from TheThingsNetwork/release/v3.29.2
adriansmares Mar 26, 2024
38a3f9a
all: Cut off changelog version 3.30.0
TheThingsBot Mar 27, 2024
a875628
Merge pull request #7011 from TheThingsNetwork/changelog/v3.30.0
happyRip Mar 27, 2024
c4d6aad
all: Bump to version 3.30.0
TheThingsBot Mar 27, 2024
be6783c
console: Add store logic for band definitions
ryaplots Mar 27, 2024
4953417
console: Encode and decode nbTrans overrides
ryaplots Mar 27, 2024
402b249
console: Add messages
ryaplots Mar 27, 2024
d8b3e86
console: Adress browser console errors
ryaplots Mar 27, 2024
3a18e50
console: Fix import order
ryaplots Mar 27, 2024
0b52506
console: Update CHANGELOG
ryaplots Mar 27, 2024
4246d77
Merge branch 'v3.30' into feature/adr-nbtrans-controls
ryaplots Mar 27, 2024
6dc26c1
console: Fix CHANGELOG.md
ryaplots Mar 27, 2024
67cf07c
dev: bump the safe group with 4 updates
dependabot[bot] Apr 1, 2024
5d2920f
Merge pull request #7013 from TheThingsNetwork/dependabot/go_modules/…
adriansmares Apr 2, 2024
6d98528
dev: bump the safe group with 3 updates
dependabot[bot] Apr 2, 2024
f30a181
console: Use value-setter based approach
kschiffer Apr 3, 2024
145e7ee
Merge pull request #7017 from TheThingsNetwork/dependabot/go_modules/…
adriansmares Apr 3, 2024
39ac6a2
dev: Use docker compose instead of docker-compose
adriansmares Apr 3, 2024
43af3ad
Merge pull request #7018 from TheThingsNetwork/fix/docker-compose
adriansmares Apr 3, 2024
0e4fa66
console: Show JoinEUI and DevEUI for activation in live traffic view
PavelJankoski Apr 4, 2024
50ae55e
console: Fix session information
ryaplots Apr 5, 2024
ab5fb30
console: Update CHANGELOG
ryaplots Apr 5, 2024
3a12f54
all: Fix interop context filler usage
adriansmares Apr 5, 2024
4d5b480
console: Store two counters
ryaplots Apr 5, 2024
ca19857
console: Show two counters and tooltip
ryaplots Apr 5, 2024
cadfcf8
console: Update CHANGELOG
ryaplots Apr 5, 2024
608a3d9
Merge pull request #7021 from TheThingsNetwork/fix/context-fillers
adriansmares Apr 5, 2024
233150f
all: Fix interop context filler usage
adriansmares Apr 5, 2024
a25ac99
Merge pull request #7020 from TheThingsNetwork/fix/session-info
ryaplots Apr 8, 2024
3e11823
console: Add <FormattedNumber />
ryaplots Apr 8, 2024
6ac31d4
Merge branch 'v3.30' into fix/downlink-counters
ryaplots Apr 8, 2024
0bddab0
Merge pull request #7022 from TheThingsNetwork/fix/downlink-counters
ryaplots Apr 8, 2024
56e5074
Update pkg/webui/console/components/events/previews/application-uplin…
PavelJankoski Apr 8, 2024
83b9868
Update pkg/webui/console/components/events/previews/application-uplin…
PavelJankoski Apr 8, 2024
d25caa6
Update pkg/webui/console/components/events/previews/application-downl…
PavelJankoski Apr 8, 2024
a65a322
Merge pull request #7019 from TheThingsNetwork/feature/6981-show-join…
PavelJankoski Apr 8, 2024
ebc7d20
console: Add correct tooltips
ryaplots Apr 8, 2024
c6cc272
console: Add RequireRequest
ryaplots Apr 8, 2024
8975f34
console: Fix validation errors
ryaplots Apr 8, 2024
df3dc8c
console: Fix typo
ryaplots Apr 8, 2024
4a089c3
console: Move band definitions request
ryaplots Apr 8, 2024
327bae6
console: Fix request action
ryaplots Apr 8, 2024
2612d2b
dev: bump the safe group with 14 updates
dependabot[bot] Apr 8, 2024
fa9871d
dev: bump the safe group with 19 updates
dependabot[bot] Apr 8, 2024
4306201
Merge pull request #7023 from TheThingsNetwork/dependabot/go_modules/…
adriansmares Apr 9, 2024
9ab17b0
Merge pull request #7024 from TheThingsNetwork/dependabot/npm_and_yar…
ryaplots Apr 9, 2024
dcc9211
dev: Skip permission denied paths when using sql:fmt mage command
nicholaspcr Apr 9, 2024
40f9247
dev: Add host-gateway to docker-compose
nicholaspcr Apr 9, 2024
0ff8203
console: Move getDataRate to utils and rename function
ryaplots Apr 10, 2024
47ecec5
Merge pull request #7012 from TheThingsNetwork/feature/adr-nbtrans-co…
ryaplots Apr 10, 2024
4c3bbba
api: Backport changes to ClaimGatewayRequest
KrishnaIyer Apr 11, 2024
fba8136
all: Update `lorawan-devices` submodule
happyRip Apr 9, 2024
3fe5b62
all: Enter release date of version 3.30.0 into the changelog
TheThingsBot Apr 11, 2024
99c8054
Merge pull request #7026 from TheThingsNetwork/backport/docker-and-to…
nicholaspcr Apr 11, 2024
69de632
Merge pull request #7027 from TheThingsNetwork/backport/claim-multi-fp
KrishnaIyer Apr 11, 2024
cca066c
Merge pull request #7028 from TheThingsNetwork/release/v3.30.0
adriansmares Apr 11, 2024
38ee262
dev: bump tar from 6.2.0 to 6.2.1
dependabot[bot] Apr 11, 2024
d15e652
Merge pull request #7029 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Apr 11, 2024
59c04fe
dev: bump the safe group with 10 updates
dependabot[bot] Apr 15, 2024
b2b2d06
dev: bump traverse from 0.6.8 to 0.6.9 in /sdk/js in the safe group
dependabot[bot] Apr 15, 2024
51b7d69
dev: Update issue templates
KrishnaIyer Apr 17, 2024
0d19f10
dev: Update pull request templates
KrishnaIyer Apr 17, 2024
d8e74f5
Merge pull request #7030 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Apr 17, 2024
d3b91a6
dev: bump eslint-plugin-jest from 27.9.0 to 28.2.0
dependabot[bot] Apr 17, 2024
21bdc1d
Merge pull request #7031 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Apr 17, 2024
2ab23bc
Merge pull request #7034 from TheThingsNetwork/dependabot/npm_and_yar…
kschiffer Apr 17, 2024
4c09e1c
Merge pull request #7036 from TheThingsNetwork/feature/issue-template
KrishnaIyer Apr 18, 2024
8526fff
console: Show JoinEUI and DevEUI only for activation events
PavelJankoski Apr 18, 2024
9e413db
as: Refactor request execution
adriansmares Apr 9, 2024
03b2cd7
api: Add webhook queue settings
adriansmares Apr 9, 2024
ac07c25
as: Refactor request creation
adriansmares Apr 9, 2024
3222357
as: Clarify observability semantics
adriansmares Apr 9, 2024
d1b23e3
as: Optimize webhook context derivation
adriansmares Apr 10, 2024
ea45864
as: Extract webhook fanout fieldmask
adriansmares Apr 10, 2024
e4c5eaf
as: Extract sinks to dedicated package
adriansmares Apr 11, 2024
7756964
api: Add webhook durability settings to configuration service
adriansmares Apr 18, 2024
09c09e0
as: Refactor configuration derivation
adriansmares Apr 18, 2024
95552a3
Merge pull request #7040 from TheThingsNetwork/feature/4163-rework-we…
adriansmares Apr 19, 2024
d16b943
api: Fix queue field number
adriansmares Apr 19, 2024
d4bb16f
dev: bump the safe group with 10 updates
dependabot[bot] Apr 22, 2024
b57fc68
dev: bump eslint-plugin-cypress from 2.15.2 to 3.0.0
dependabot[bot] Apr 22, 2024
b3f44c5
Merge pull request #7042 from TheThingsNetwork/dependabot/npm_and_yar…
ryaplots Apr 23, 2024
3b87b90
Merge pull request #7043 from TheThingsNetwork/dependabot/npm_and_yar…
ryaplots Apr 23, 2024
f51fff0
console: Remove JoinEUI and DevEUI from normalized uplink
PavelJankoski Apr 23, 2024
e708e4b
console: Remove comma
ryaplots Apr 23, 2024
b16c529
Merge pull request #7039 from TheThingsNetwork/fix/activation-events
PavelJankoski Apr 23, 2024
83c6702
dev: bump the safe group with 7 updates
dependabot[bot] Apr 22, 2024
61ce877
Merge pull request #7044 from TheThingsNetwork/dependabot/go_modules/…
adriansmares Apr 23, 2024
10e4f6b
Merge pull request #7046 from TheThingsNetwork/fix/frame-counters-comma
ryaplots Apr 23, 2024
23edc21
api: Update ListUserBookmarksRequest message
nicholaspcr Apr 18, 2024
4a8c8dd
is: Update UserBookmarkStore interface
nicholaspcr Apr 18, 2024
1b58429
is: Update UserBookmarkStore FindBoomarks implementation
nicholaspcr Apr 18, 2024
c7e1002
is: Update UserBookmarkStore FindBoomarks test case
nicholaspcr Apr 18, 2024
ee0d65b
is: Update user bookmark registry
nicholaspcr Apr 18, 2024
a12eb94
is: Update user bookmark registry tests
nicholaspcr Apr 18, 2024
ea7e70c
dev: Update CHANGELOG
nicholaspcr Apr 18, 2024
dc85330
Merge pull request #7041 from TheThingsNetwork/issue/7038-filter-user…
nicholaspcr Apr 24, 2024
d3e5cb7
all: Cut off changelog version 3.30.1
TheThingsBot Apr 26, 2024
be0fc0e
Merge pull request #7050 from TheThingsNetwork/changelog/v3.30.1
adriansmares Apr 26, 2024
26a94f9
Merge branch 'v3.30' into feature/console-redesign
ryaplots Apr 26, 2024
3a5a9d4
console: Fix deps
ryaplots Apr 29, 2024
24e3cd3
console: Fix deps
ryaplots Apr 29, 2024
0c6e94b
console: Fix locales
ryaplots Apr 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Expand Up @@ -87,6 +87,13 @@ body:
- label: I can help by doing more research.
- label: I can help by implementing a fix after the proposal above is approved.
- label: I can help by testing the fix before it's released.
- type: checkboxes
attributes:
label: Validation
description: Please check these boxes to confirm completion before closing the issue, or comment if not applicable.
options:
- label: The fix is tested in a staging environment.
- label: The fix is documented in [The Things Stack Documentation](https://www.thethingsindustries.com/docs/)
- type: checkboxes
attributes:
label: Code of Conduct
Expand Down
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Expand Up @@ -37,6 +37,13 @@ body:
- label: I can help by doing more research.
- label: I can help by implementing the feature after the proposal above is approved.
- label: I can help by testing the feature before it's released.
- type: checkboxes
attributes:
label: Validation
description: Please check these boxes to confirm completion before closing the issue, or comment if not applicable.
options:
- label: The feature is tested in a staging environment.
- label: The feature is documented in [The Things Stack Documentation](https://www.thethingsindustries.com/docs/)
- type: checkboxes
attributes:
label: Code of Conduct
Expand Down
7 changes: 5 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Expand Up @@ -7,7 +7,9 @@ otherwise we will not be able to process this pull request.

<!--
A short summary, referencing related issues:
Closes #0000, References #0000, etc.
References #0000, etc.
Pull requests may close issues (using Closes #0000) only for minor changes not needing tests on a staging environment.
Typically, issues should be closed manually after validation.
-->

...
Expand Down Expand Up @@ -58,6 +60,7 @@ implementation proposal in the referenced issues.
- [ ] Scope: The referenced issue is addressed, there are no unrelated changes.
- [ ] Compatibility: The changes are backwards compatible with existing API, storage, configuration and CLI, according to the compatibility commitments in `README.md` for the chosen target branch.
- [ ] Documentation: Relevant documentation is added or updated.
- [ ] The steps/process to test this feature are clearly explained including testing for regressions.
- [ ] Testing: The steps/process to test this feature are clearly explained including testing for regressions.
- [ ] Infrastructure: If infrastructural changes (e.g., new RPC, configuration) are needed, a separate issue is created in the infrastructural repositories.
- [ ] Changelog: Significant features, behavior changes, deprecations and fixes are added to `CHANGELOG.md`.
- [ ] Commits: Commit messages follow guidelines in `CONTRIBUTING.md`, there are no fixup commits left.
4 changes: 2 additions & 2 deletions .github/workflows/go.yml
Expand Up @@ -40,9 +40,9 @@ jobs:
- name: Check for diff
run: tools/bin/mage git:diff
- name: Lint code
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804
uses: golangci/golangci-lint-action@v4
with:
version: v1.55.2
version: v1.56.2
only-new-issues: true
skip-pkg-cache: true # Caching is set up by install-go-and-deps
skip-build-cache: true # Caching is set up by install-go-and-deps
Expand Down
40 changes: 37 additions & 3 deletions CHANGELOG.md
Expand Up @@ -11,8 +11,6 @@ For details about compatibility between different releases, see the **Commitment

### Added

- Fine grained NbTrans overrides for the dynamic ADR mode. See the `--mac-settings.adr.mode.dynamic.overrides.data-rate-[index].min-nb-trans` and `--mac-settings.adr.mode.dynamic.overrides.data-rate-[index].max-nb-trans` family of parameters.

### Changed

### Deprecated
Expand All @@ -23,6 +21,39 @@ For details about compatibility between different releases, see the **Commitment

### Security

## [3.30.1] - unreleased

### Added

- Support fine-grained NbTrans controls while using Dynamic ADR mode in the Console.
- User bookmark listing now supports filtering bookmarks by entity type.
- This can be specified by setting `entity_types` field in `ListUserBookmarksRequest`.

### Fixed

- Show both AFcntDown and NFcntDown in the Device overview in the Console.
- Fixes the keys displayed in the session information section of overview tab of an End Device in the Console - for LW 1.1.x, replaces NwkSKey with FNwkSIntKey. For LX 1.0.x display only the NwkSKey and AppSKey.

## [3.30.0] - 2024-04-11

### Added

- Fine grained NbTrans overrides for the dynamic ADR mode. See the `--mac-settings.adr.mode.dynamic.overrides.data-rate-[index].min-nb-trans` and `--mac-settings.adr.mode.dynamic.overrides.data-rate-[index].max-nb-trans` family of parameters.
- Support for storing user's bookmarks in the database.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the new `user_bookmarks` table.
- Support for storing user's Console Preferences in the database.
- This requires a database schema migration (`ttn-lw-stack is-db migrate`) because of the new `console_preferences` column in the `users` table.

### Changed

- Searching for collaborators displays only accounts that are not already attached to the entity's collaborator list.

## [3.29.2] - 2024-03-26

### Fixed

- Memory leak in components which heavily use HTTP clients, such as the Application Server.

## [3.29.1] - 2024-03-05

### Added
Expand Down Expand Up @@ -2775,7 +2806,10 @@ For details about compatibility between different releases, see the **Commitment
NOTE: These links should respect backports. See https://github.com/TheThingsNetwork/lorawan-stack/pull/1444/files#r333379706.
-->

[unreleased]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.29.1...v3.29
[unreleased]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.30.1...v3.30
[3.30.1]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.30.0...v3.30.1
[3.30.0]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.29.2...v3.30.0
[3.29.2]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.29.1...v3.29.2
[3.29.1]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.29.0...v3.29.1
[3.29.0]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.28.2...v3.29.0
[3.28.2]: https://github.com/TheThingsNetwork/lorawan-stack/compare/v3.28.1...v3.28.2
Expand Down
41 changes: 34 additions & 7 deletions api/ttn/lorawan/v3/api.md
Expand Up @@ -1054,7 +1054,7 @@ Application is the message that defines an Application in the network.

### <a name="ttn.lorawan.v3.ApplicationAccess">Service `ApplicationAccess`</a>

The ApplicationAcces service, exposed by the Identity Server, is used to manage
The ApplicationAccess service, exposed by the Identity Server, is used to manage
API keys and collaborators of applications.

| Method Name | Request Type | Response Type | Description |
Expand Down Expand Up @@ -2505,7 +2505,7 @@ The OAuth2 flows an OAuth client can use to get an access token.

### <a name="ttn.lorawan.v3.ClientAccess">Service `ClientAccess`</a>

The ClientAcces service, exposed by the Identity Server, is used to manage
The ClientAccess service, exposed by the Identity Server, is used to manage
collaborators of OAuth clients.

| Method Name | Request Type | Response Type | Description |
Expand Down Expand Up @@ -2994,7 +2994,8 @@ in a future version of The Things Stack.
| `target_gateway_id` | [`string`](#string) | | Gateway ID for the target gateway. This must be a unique value. If this is not set, the target ID for the target gateway will be set to `<gateway-eui>`. |
| `target_gateway_server_address` | [`string`](#string) | | Target Gateway Server Address for the target gateway. |
| `cups_redirection` | [`CUPSRedirection`](#ttn.lorawan.v3.CUPSRedirection) | | Parameters to set CUPS redirection for the gateway. |
| `target_frequency_plan_id` | [`string`](#string) | | Frequency plan ID of the target gateway. This equals the first element of the frequency_plan_ids field. |
| `target_frequency_plan_id` | [`string`](#string) | | Frequency plan ID of the target gateway. TODO: Remove this field (https://github.com/TheThingsIndustries/lorawan-stack/issues/4024) DEPRECATED: Use target_frequency_plan_ids instead. |
| `target_frequency_plan_ids` | [`string`](#string) | repeated | Frequency plan IDs of the target gateway. |

#### Field Rules

Expand All @@ -3005,6 +3006,7 @@ in a future version of The Things Stack.
| `target_gateway_id` | <p>`string.max_len`: `36`</p><p>`string.pattern`: `^[a-z0-9](?:[-]?[a-z0-9]){2,}$|^$`</p> |
| `target_gateway_server_address` | <p>`string.pattern`: `^(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*(?:[A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(?::[0-9]{1,5})?$|^$`</p> |
| `target_frequency_plan_id` | <p>`string.max_len`: `64`</p> |
| `target_frequency_plan_ids` | <p>`repeated.min_items`: `0`</p><p>`repeated.max_items`: `8`</p><p>`repeated.items.string.max_len`: `64`</p> |

### <a name="ttn.lorawan.v3.ClaimGatewayRequest.AuthenticatedIdentifiers">Message `ClaimGatewayRequest.AuthenticatedIdentifiers`</a>

Expand Down Expand Up @@ -3114,6 +3116,8 @@ in a future version of The Things Stack.

### <a name="ttn.lorawan.v3.EndDeviceBatchClaimingServer">Service `EndDeviceBatchClaimingServer`</a>

The EndDeviceBatchClaimingServer service support claiming and managing batches of end devices on external Join Servers.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `Unclaim` | [`BatchUnclaimEndDevicesRequest`](#ttn.lorawan.v3.BatchUnclaimEndDevicesRequest) | [`BatchUnclaimEndDevicesResponse`](#ttn.lorawan.v3.BatchUnclaimEndDevicesResponse) | Unclaims multiple end devices on an external Join Server. All devices must have the same application ID. Check the response for devices that could not be unclaimed. |
Expand All @@ -3128,8 +3132,7 @@ in a future version of The Things Stack.

### <a name="ttn.lorawan.v3.EndDeviceClaimingServer">Service `EndDeviceClaimingServer`</a>

The EndDeviceClaimingServer service configures authorization to claim end devices registered in an application,
and allows clients to claim end devices.
The EndDeviceClaimingServer service support claiming and managing end devices on external Join Servers.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
Expand All @@ -3153,6 +3156,8 @@ and allows clients to claim end devices.

### <a name="ttn.lorawan.v3.GatewayClaimingServer">Service `GatewayClaimingServer`</a>

The GatewayClaimingServer service support claiming and managing gateway claims.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `Claim` | [`ClaimGatewayRequest`](#ttn.lorawan.v3.ClaimGatewayRequest) | [`GatewayIdentifiers`](#ttn.lorawan.v3.GatewayIdentifiers) | Claims a gateway by claim authentication code or QR code and transfers the gateway to the target user. |
Expand Down Expand Up @@ -3679,7 +3684,7 @@ CreateClientEmailMessage is used as a wrapper for handling the email regarding t

### <a name="ttn.lorawan.v3.EmailValidationRegistry">Service `EmailValidationRegistry`</a>

The EmailValidationRegistry service, exposed by the Identity Server, is used for validating an user's primary email.
The EmailValidationRegistry service, exposed by the Identity Server, is used for validating a user's primary email.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
Expand Down Expand Up @@ -4735,6 +4740,8 @@ NsEndDeviceRegistry, the AsEndDeviceRegistry and the JsEndDeviceRegistry.

### <a name="ttn.lorawan.v3.EndDeviceTemplateConverter">Service `EndDeviceTemplateConverter`</a>

The EndDeviceTemplateRegistry service is used to convert end devices information between formats.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `ListFormats` | [`.google.protobuf.Empty`](#google.protobuf.Empty) | [`EndDeviceTemplateFormats`](#ttn.lorawan.v3.EndDeviceTemplateFormats) | Returns the configured formats to convert from. |
Expand Down Expand Up @@ -5395,6 +5402,8 @@ Identifies an end device model with version information.

### <a name="ttn.lorawan.v3.GatewayConfigurationService">Service `GatewayConfigurationService`</a>

The GatewayConfigurationService fetches the configuration of a gateway.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `GetGatewayConfiguration` | [`GetGatewayConfigurationRequest`](#ttn.lorawan.v3.GetGatewayConfigurationRequest) | [`GetGatewayConfigurationResponse`](#ttn.lorawan.v3.GetGatewayConfigurationResponse) | |
Expand Down Expand Up @@ -5512,6 +5521,8 @@ gateway registrations in batches.

### <a name="ttn.lorawan.v3.GatewayConfigurator">Service `GatewayConfigurator`</a>

The GatewayConfigurator service is used to fetch gateway configuration.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `PullConfiguration` | [`PullGatewayConfigurationRequest`](#ttn.lorawan.v3.PullGatewayConfigurationRequest) | [`Gateway`](#ttn.lorawan.v3.Gateway) _stream_ | |
Expand Down Expand Up @@ -5616,6 +5627,8 @@ GatewayUp may contain zero or more uplink messages and/or a status message for t

### <a name="ttn.lorawan.v3.Gs">Service `Gs`</a>

The Gs service returns information about the Gateway Server and gateways connected to it.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `GetGatewayConnectionStats` | [`GatewayIdentifiers`](#ttn.lorawan.v3.GatewayIdentifiers) | [`GatewayConnectionStats`](#ttn.lorawan.v3.GatewayConnectionStats) | Get statistics about the current gateway connection to the Gateway Server. This is not persisted between reconnects. |
Expand Down Expand Up @@ -5969,6 +5982,8 @@ OrganizationOrUserIdentifiers contains either organization or user identifiers.

### <a name="ttn.lorawan.v3.EntityAccess">Service `EntityAccess`</a>

The EntityAccess service provides information about the access rights of an entity.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `AuthInfo` | [`.google.protobuf.Empty`](#google.protobuf.Empty) | [`AuthInfoResponse`](#ttn.lorawan.v3.AuthInfoResponse) | AuthInfo returns information about the authentication that is used on the request. |
Expand All @@ -5981,6 +5996,8 @@ OrganizationOrUserIdentifiers contains either organization or user identifiers.

### <a name="ttn.lorawan.v3.Is">Service `Is`</a>

The Is service provides information about the Identity Server.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `GetConfiguration` | [`GetIsConfigurationRequest`](#ttn.lorawan.v3.GetIsConfigurationRequest) | [`GetIsConfigurationResponse`](#ttn.lorawan.v3.GetIsConfigurationResponse) | Get the configuration of the Identity Server. The response is typically used to enable or disable features in a user interface. |
Expand Down Expand Up @@ -6351,6 +6368,8 @@ The AsJs service connects an Application Server to a Join Server.

### <a name="ttn.lorawan.v3.Js">Service `Js`</a>

The Js service returns configuration for a Join Server.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `GetJoinEUIPrefixes` | [`.google.protobuf.Empty`](#google.protobuf.Empty) | [`JoinEUIPrefixes`](#ttn.lorawan.v3.JoinEUIPrefixes) | Request the JoinEUI prefixes that are configured for this Join Server. |
Expand Down Expand Up @@ -9000,6 +9019,8 @@ The NsRelayConfigurationService provides configuration management capabilities f

### <a name="ttn.lorawan.v3.NotificationService">Service `NotificationService`</a>

The NotificationService is used to send notifications.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `Create` | [`CreateNotificationRequest`](#ttn.lorawan.v3.CreateNotificationRequest) | [`CreateNotificationResponse`](#ttn.lorawan.v3.CreateNotificationResponse) | Create a new notification. Can only be called by internal services using cluster auth. |
Expand Down Expand Up @@ -9999,6 +10020,8 @@ The Pba service allows clients to manage peering through Packet Broker.

### <a name="ttn.lorawan.v3.EndDeviceQRCodeGenerator">Service `EndDeviceQRCodeGenerator`</a>

The EndDeviceQRCodeGenerator service provides functionality to generate and parse QR codes.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `GetFormat` | [`GetQRCodeFormatRequest`](#ttn.lorawan.v3.GetQRCodeFormatRequest) | [`QRCodeFormat`](#ttn.lorawan.v3.QRCodeFormat) | Return the QR code format. |
Expand Down Expand Up @@ -10806,6 +10829,7 @@ Secret contains a secret value. It also contains the ID of the Encryption key us
| `page` | [`uint32`](#uint32) | | Page number for pagination. 0 is interpreted as 1. |
| `order` | [`string`](#string) | | Order the results by this field path. Default ordering is by ID. Prepend with a minus (-) to reverse the order. |
| `deleted` | [`bool`](#bool) | | Only return recently deleted bookmarks. |
| `entity_types` | [`string`](#string) | repeated | Specifies that only bookmarks that reference the given entity type should be returned. If empty the filter is not applied. |

#### Field Rules

Expand All @@ -10814,6 +10838,7 @@ Secret contains a secret value. It also contains the ID of the Encryption key us
| `user_ids` | <p>`message.required`: `true`</p> |
| `limit` | <p>`uint32.lte`: `1000`</p> |
| `order` | <p>`string.in`: `[ user_id -user_id entity_type -entity_type entity_id -entity_id created_at -created_at]`</p> |
| `entity_types` | <p>`repeated.unique`: `true`</p><p>`repeated.items.string.in`: `[application client end device gateway organization user]`</p> |

### <a name="ttn.lorawan.v3.ListUserSessionsRequest">Message `ListUserSessionsRequest`</a>

Expand Down Expand Up @@ -11111,7 +11136,7 @@ DashboardLayout is a set of possible layout values to be used in the Console.

### <a name="ttn.lorawan.v3.UserAccess">Service `UserAccess`</a>

The UserAcces service, exposed by the Identity Server, is used to manage
The UserAccess service, exposed by the Identity Server, is used to manage
API keys of users.

| Method Name | Request Type | Response Type | Description |
Expand Down Expand Up @@ -11161,6 +11186,8 @@ API keys of users.

### <a name="ttn.lorawan.v3.UserInvitationRegistry">Service `UserInvitationRegistry`</a>

The UserOrganizationRegistry service, exposed by the Identity Server, is used to manage user invitations.

| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| `Send` | [`SendInvitationRequest`](#ttn.lorawan.v3.SendInvitationRequest) | [`Invitation`](#ttn.lorawan.v3.Invitation) | Invite a user to join the network. |
Expand Down