Releases: TheThingsNetwork/lorawan-stack
Releases · TheThingsNetwork/lorawan-stack
v3.2.0
- Added a map to the overview pages of end devices and gateways
- Added API to retrieve MQTT configurations for applications and gateways
- Added Application Server PubSub integrations events
- Added
mac_settings.desired_max_duty_cycle
,mac_settings.desired_adr_ack_delay_exponent
andmac_settings.desired_adr_ack_limit_exponent
- Added PubSub integrations to the console
- Added PubSub service to JavaScript SDK
- Added support for updating
mac_state.desired_parameters
- Added
--tls.insecure-skip-verify
to skip certificate chain verification (insecure; for development only). - Changed the way api key rights are handled in the
UpdateAPIKey
rpc for Applications, Gateways, Users and Organizations. Users can revoke or add rights to api keys as long as they have these rights. - Changed the way collaborator rights are handled in the
SetCollaborator
rpc for Applications, Gateways, Clients and Organizations. Collaborators can revoke or add rights to other collaborators as long as they have these rights. - Extended device form in the Console to allow creating OTAA devices without root keys
- Fixed downlink length computation in the Network Server
- Fixed implementation of CUPS update-info endpoint
- Fixed missing CLI in
deb
,rpm
and Snapcraft packages - Improved confirmed downlink operation
- Improved gateway connection status indicators in Console
- Upgraded Gateway Configuration Server to a first-class cluster role.
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.2
docker pull thethingsnetwork/lorawan-stack:3.2.0
v3.1.2
- Added
http.redirect-to-host
config to redirect all HTTP(S) requests to the same host - Added
http.redirect-to-tls
config to redirect HTTP requests to HTTPS - Added Organization Create page in the Console
- Added Organization Data page to the console
- Added Organization General Settings page to the console
- Added Organization List page
- Added Organization Overview page to the console
- Added Organizations service to the JS SDK
- Added the
create
method in the Organization service in the JS SDK - Added the
deleteById
method to the Organization service in the JS SDK - Added the
getAll
method to the Organizations service - Added the
getAll
method to the Organization service in the JS SDK - Added the
getById
method to the Organization service in the JS SDK - Added the
openStream
method to the Organization service in the JS SDK - Added the
updateById
method to the Organization service in the JS SDK - Fixed root-relative OAuth flows for the console.
- Improved compatibility with various Class C devices
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.1
docker pull thethingsnetwork/lorawan-stack:3.1.2
v3.1.1
- Added
--tls.acme.default-host
flag to set a default (fallback) host for connecting clients that do not use TLS-SNI. - Added AS-ID to validate the Application Server with through the Common Name of the X.509 Distinguished Name of the TLS client certificate. If unspecified, the Join Server uses the host name from the address
- Added defaults to
ttn-lw-cli clients create
andttn-lw-cli users create
- Added KEK labels for Network Server and Application Server to use to wrap session keys by the Join Server. If unspecified, the Join Server uses a KEK label from the address, if present in the key vault
- Added MQTT PubSub support in the Application Server. See
ttn-lw-cli app pubsub set --help
for more details. - Added support for external email templates in the Identity Server.
- Added support for Join-Server interoperability via Backend Interfaces specification protocol
- Added the
generateDevAddress
method in theNs
service - Added the
Js
service to the JS SDK - Added the
listJoinEUIPrefixes
method in theJs
service - Added the
Ns
service to the JS SDK - Added the new The Things Stack branding
- Added web interface for changing password
- Added web interface for requesting temporary password
- Allow admins to create temporary passwords for users.
- CLI-only brew tap formula is now available as
TheThingsNetwork/lorawan-stack/ttn-lw-cli
- Deprecated the
--nats-server-url
in favor of--nats.server-url
in the PubSub CLI support. - Fixed
grants
andrights
flags ofttn-lw-cli clients create
- Fixed a bug that resulted in events streams crashing in the console.
- Fixed a bug where uplinks from some Basic Station gateways resulted in the connection to break.
- Fixed a security issue where non-admin users could edit admin-only fields of OAuth clients.
- Fixed an issue resulting in errors being unnecessarily logged in the console
- Fixed an issue with the
config
command rendering some flags and environment variables incorrectly - Fixed API endpoints that allowed HTTP methods that are not part of our API specification.
- Fixed console handling of configured mount paths other than
/console
- Fixed handling of
ns.dev-addr-prefixes
- Fixed incorrect error message in
ttn-lw-cli users oauth
commands - Fixed propagation of warning headers in API responses
- Fixed relative time display in the Console
- Fixed relative time display in the Console for IE11, Edge and Safari
- Fixed unable to change LoRaWAN MAC and PHY version
- Improved error handling in OAuth flow
- Improved getting started guide for a deployment of The Things Stack
- Optimized the way the Identity Server determines memberships and rights.
- Removed
ids.dev_addr
from allowed field masks for/ttn.lorawan.v3.NsEndDeviceRegistry/Set
- Removed auth from CLI's
forgot-password
command and made it optional onupdate-password
command. - Removed breadcrumbs from Overview, Application and Gateway top-level views
- Resolved flickering display issue in the overview pages of entities in the console.
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.1
docker pull thethingsnetwork/lorawan-stack:3.1.1
v3.1.0
- Added
--headers
flag tottn-lw-cli applications webhooks set
allowing users to set HTTP headers to add to webhook requests. - Added
getByOrganizationId
andgetByUserId
methods to the JS SDK - Added a new documentation system
- Added a newline between list items returned from the CLI when using a custom
--output-format
template. - Added an
--api-key
flag tottn-lw-cli login
that allows users to configure the CLI with a more restricted (Application, Gateway, ...) API key instead of the usual "all rights" OAuth access token. - Added API for getting the rights of a single collaborator on (member of) an entity.
- Added Application Payload Formatters Page in the console
- Added Class C and Multicast guide
- Added CLI support for enabling/disabling JS, GS, NS and AS through configuration
- Added components overview in documentation
- Added Device Templates to create, convert and map templates and assign EUIs to create large amounts of devices
- Added Downlink Queue Operations guide
- Added end device level payload formatters to console
- Added event streaming views for end devices
- Added events to device registries in the Network Server, Application Server and Join Server.
- Added functionality to delete end devices in the console
- Added Gateway General Settings Page to the console
- Added Getting Started guide for command-line utility (CLI)
- Added initial overview page to console
- Added native support to the Basic Station LNS protocol in the Gateway Server.
- Added NS-JS and AS-JS Backend Interfaces 1.0 and 1.1 draft 3 support
- Added option to revoke user sessions and access tokens on password change.
- Added support for NS-JS and AS-JS Backend Interfaces
- Added support for URL templates inside the Webhook paths ! The currently supported fields are
appID
,appEUI
,joinEUI
,devID
,devEUI
anddevAddr
. They can be used using RFC 6570 - Added the
go-cloud
integration to the Application Server. Seettn-lw-cli applications pubsubs --help
for more details. - Added the
go-cloud
integration to the Application Server. This integration enables downlink and uplink messaging using the cloud pub-sub by setting up the--as.pubsub.publish-urls
and--as.pubsub.subscribe-urls
parameters. You can specify multiple publish endpoints or subscribe endpoints by repeating the parameter (i.e.--as.pubsub.publish-urls url1 --as.pubsub.publish-urls url2 --as.pubsub.subscribe-urls url3
). - Added the Gateway Data Page to the console
- Added view to update the antenna location information of gateways
- Added view to update the location information of end devices
- Added views to handle integrations (webhooks) to the console
- Added Working with Events guide
- Changed database index names for invitation and OAuth models. Existing databases are migrated automatically.
- Changed HTTP API for managing webhooks to avoid conflicts with downlink webhook paths
- Changed interpretation of frequency plan's maximum EIRP from a ceiling to a overriding value of any band (PHY) settings
- Changed the prefix of Prometheus metrics from
ttn_
tottn_lw_
- Deprecated
JsEndDeviceRegistry.Provision()
rpc. Please useEndDeviceTemplateConverter.Convert()
instead - Fixed Basic Station CUPS LNS credentials blob.
- Fixed a leak of entity information in List RPCs
- Fixed an issue that resulted in some event errors not being shown in the console
- Fixed an issue where incorrect error codes were returned from the console's OAuth flow.
- Fixed clearing component addresses on updating end devices through CLI
- Fixed CLI panic for invalid attributes.
- Fixed crash when running some
ttn-lw-cli organizations
commands without--user-id
flag. - Fixed dwell-time issues in AS923 and AU915 bands.
- Fixed occasional issues with downlink payload length
- Fixed the
x-total-count
header value for API Keys and collaborators - Fixed the error that is returned when deleting a collaborator fails.
- Removed the address label from Prometheus metric
grpc_server_conns_{opened,closed}_total
- Renamed the label
server_address
of Prometheus metricsgrpc_client_conns_{opened,closed}_total
toremote_address
- Resolved an issue where the stack complained about sending credentials on insecure connections.
- The Events endpoint no longer requires the
_ALL
right on requested entities. All events now have explicit visibility rules. - Updated node packages to fix known vulnerabilities
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.1
docker pull thethingsnetwork/lorawan-stack:3.1.0
v3.0.4
v3.0.3
- Added support for getting automatic Let's Encrypt certificates. Add the new config flags
--tls.acme.enable
,--tls.acme.dir=/path/to/storage
,--tls.acme.hosts=example.com
,[email protected]
flags (or their env/config equivalent) to make it work. The/path/to/storage
dir needs to bechown
ed to886:886
. See alsodocker-compose.yml
. - Added
GetApplicationAPIKey
,GetGatewayAPIKey
,GetOrganizationAPIKey
,GetUserAPIKey
RPCs and related messages - Improved ADR performance
- Added support for uplink retransmissions
- Added device list page to applications in console
- Changed interpretation of absolute time in downlink messages from time of transmission to time of arrival
- Fixed
AppAs
not registered for HTTP interfacing while it is documented in the API - Fixed preserving user defined priority for application downlink
- Made sure that non-user definable fields of downlink messages get discarded across all Application Server frontends
- Fixed absolute time scheduling with UDP connected gateways
- Added "General Settings" view for end devices
- Fixed authentication of MQTT and gRPC connected gateways
- Fixed connecting MQTT V2 gateways
- Made late scheduling default for gateways connected over UDP to avoid overwriting queued downlink
- Fixed UDP downlink format for older forwarders
- Added events to the application management pages.
- Added configuration service to JS SDK
- Added round-trip times to Gateway Server connection statistics
- Added checking maximum round-trip time for late-detection in downlink scheduling
- Added using median round-trip time value for absolute time scheduling if the gateway does not have GPS time
- Added
--credentials-id
flag to CLI that allows users to be logged in with mulitple credentials and switch between them. - Improved ADR algorithm performance
- Added support for the value
cloud
for the--events.backend
flag. When this flag is set, the--events.cloud.publish-url
and--events.cloud.subscribe-url
are used to set up a cloud pub-sub for events. - Change encoding of keys to hex in device key generation (JS SDK)
- Fixed usage of
URL
class in browsers (JS SDK) - Prevent rpc calls to JS when the device has
supports_join
set tofalse
(JS SDK) - Fixed faulty composition of default values with provided values during device creation (JS SDK)
- Added a check to the Identity Server that prevents users from deleting applications that still contain end devices.
- Added Application Collaborators management to the console.
- Updated the development tooling. If you are a developer, make sure to check the changes in CONTRIBUTING.md and DEVELOPMENT.md
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.0
docker pull thethingsnetwork/lorawan-stack:3.0.3
v3.0.2
- Upgraded Go to 1.12
- Fixed streaming events over HTTP with Gzip enabled
- Fixed resetting downlink channels for US, AU and CN end devices
- Fixed rendering of enums in JSON
- Fixed the permissions of our Snap package
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.0
docker pull thethingsnetwork/lorawan-stack:3.0.2
v3.0.1
- Removed end device identifiers from
DownlinkMessage
sent from the Network Server to the Gateway Server - Added event payload to
gs.status.receive
,gs.up.receive
andgs.down.send
events - Implemented OAuth management in the Identity Server
- Added
ttn-lw-cli users oauth
commands - Documented places in the CLI where users can use arguments instead of flags
- Added event payload to
as.up.forward
,as.up.drop
,as.down.receive
,as.down.forward
andas.down.drop
events - Fixed
dev_addr
not being present in upstream messages - Added
received_at
toApplicationUp
messages - Added
dev_addr
to device fetched from the Network Server - Made device's
dev_addr
gets updated when the session'sdev_addr
is updated - In JSON, LoRaWAN AES keys are now formatted as Hex instead of Base64
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.0
docker pull thethingsnetwork/lorawan-stack:3.0.1
v3.0.0
This is the first release of The Things Network Stack V3! 🎉
From this release, we commit to API stability, migration of storage, as well as command-line interface and configuration compatibility.
Learn how to get started and set up your own V3 powered private LoRaWAN network!
Please discard databases and existing configuration and environment variables from pre-release versions.
Docker images
docker pull thethingsnetwork/lorawan-stack:latest
docker pull thethingsnetwork/lorawan-stack:3
docker pull thethingsnetwork/lorawan-stack:3.0
docker pull thethingsnetwork/lorawan-stack:3.0.0
v3.0.0-rc3
Release candidate 3 for version 3.0.0