Added
- Newly redesigned The Things Stack Console. The most notable changes are as follows:
- New look and feel
- New sidebar-based navigation and structure
- Top entities are automatically stored and displayed for faster access
- More useful panels in the overviews of gateways, applications and end devices
- Quick search feature to search globally for any entity
- New event overlay for better in-context event examination
- Notifications can now be viewed from within the Console
- Support for managed gateways and claiming through The Things Gateway Controller.
- Support for The Things Industries gateway protocol. This is adds a new pair of ports to Gateway Server:
1889
for Envoy or Traefik terminated TLS mutual authentication, and8889
for The Things Stack terminated TLS mutual authentication. - Option to filter the output of the
List
RPCs for end devices and gateways based on when they were updated.ListGatewaysRequest
andListEndDevicesRequest
RPCs have a newFilter
field that supports anupdated_since
timestamp.
- Preparation for universal rights assigned to users.
- This requires a database schema migration (
ttn-lw-stack is-db migrate
).
- This requires a database schema migration (
Changed
- Enforce
NOT NULL
constraint on Network Operations Center’send_device_data_uplink
hypertable.- This requires a Network Operations Center migration (
tti-lw-stack noc-db migrate
).
- This requires a Network Operations Center migration (
Deprecated
- Experimental RPCs
AuthorizeGateway
andUnauthorizeGateway
of the Gateway Claiming Server (GCLS). CUPSRedirection
field ofClaimGatewayRequest
.
Removed
authorize
andunauthorize
sub-commands of the gatewayclaim
command.
Fixed
- Fixed an issue where an downlink message was scheduled by the Application Layer Clock Synchronization (ALCS) implementation when there is no answer to send (i.e.
AnsRequired
is not set and the difference with what the end device reports falls within the threshold). - Fix unhandled video stream in QR code scanner
- Recreate Network Operations Center’s
gateway_end_device_uplink_statistics_1h
aggregate with a proper time bucket.- This requires a Network Operations Center migration (
tti-lw-stack noc-db migrate
). - Decreases aggregate’s total data size to be less than 10% of the previous size.
- To generate data for the new table, run the following command:
CALL refresh_continuous_aggregate('gateway_end_device_uplink_statistics_1h', NOW() - interval '30d', null);
- Deployments that have retention period for the hypertable
gateway_end_device_uplink
shorter than 30 days will see a loss of data in the migration. Specifically the data loss happens in the period between [‘30d’, retention_period). - Grafana graphs will be impacted but slowly replenished by the new aggregate.
- This requires a Network Operations Center migration (
- The Network Operation Center no longer returns an incorrect amount of active Gateways, End-devices and Applications on the bigger bucket intervals.
- This requires a Network Operations Center migration (
tti-lw-stack noc-db migrate
). - To generate data for the new aggregates, run the following commands:
CALL refresh_continuous_aggregate('active_gateways_1h', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_gateways_1d', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_end_devices_1h', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_end_devices_1d', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_applications_1h', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_applications_1d', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_gateway_count_1d', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_gateway_count_1w', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_end_device_count_1d', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_end_device_count_1w', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_application_count_1d', NOW() - interval '30d', null);
CALL refresh_continuous_aggregate('active_application_count_1w', NOW() - interval '30d', null);
- This requires a Network Operations Center migration (
- Network Operations Center no longer returns only the last three days of data of gateways’ connection events.