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_exponentandmac_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-verifyto skip certificate chain verification (insecure; for development only). - Changed the way api key rights are handled in the
UpdateAPIKeyrpc 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
SetCollaboratorrpc 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,rpmand 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:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.2docker pull thethingsnetwork/lorawan-stack:3.2.0
v3.1.2
- Added
http.redirect-to-hostconfig to redirect all HTTP(S) requests to the same host - Added
http.redirect-to-tlsconfig 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
createmethod in the Organization service in the JS SDK - Added the
deleteByIdmethod to the Organization service in the JS SDK - Added the
getAllmethod to the Organizations service - Added the
getAllmethod to the Organization service in the JS SDK - Added the
getByIdmethod to the Organization service in the JS SDK - Added the
openStreammethod to the Organization service in the JS SDK - Added the
updateByIdmethod 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:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.1docker pull thethingsnetwork/lorawan-stack:3.1.2
v3.1.1
- Added
--tls.acme.default-hostflag 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 createandttn-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 --helpfor 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
generateDevAddressmethod in theNsservice - Added the
Jsservice to the JS SDK - Added the
listJoinEUIPrefixesmethod in theJsservice - Added the
Nsservice 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-urlin favor of--nats.server-urlin the PubSub CLI support. - Fixed
grantsandrightsflags 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
configcommand 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 oauthcommands - 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_addrfrom allowed field masks for/ttn.lorawan.v3.NsEndDeviceRegistry/Set - Removed auth from CLI's
forgot-passwordcommand and made it optional onupdate-passwordcommand. - 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:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.1docker pull thethingsnetwork/lorawan-stack:3.1.1
v3.1.0
- Added
--headersflag tottn-lw-cli applications webhooks setallowing users to set HTTP headers to add to webhook requests. - Added
getByOrganizationIdandgetByUserIdmethods to the JS SDK - Added a new documentation system
- Added a newline between list items returned from the CLI when using a custom
--output-formattemplate. - Added an
--api-keyflag tottn-lw-cli loginthat 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,devEUIanddevAddr. They can be used using RFC 6570 - Added the
go-cloudintegration to the Application Server. Seettn-lw-cli applications pubsubs --helpfor more details. - Added the
go-cloudintegration to the Application Server. This integration enables downlink and uplink messaging using the cloud pub-sub by setting up the--as.pubsub.publish-urlsand--as.pubsub.subscribe-urlsparameters. 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 organizationscommands without--user-idflag. - Fixed dwell-time issues in AS923 and AU915 bands.
- Fixed occasional issues with downlink payload length
- Fixed the
x-total-countheader 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_addressof Prometheus metricsgrpc_client_conns_{opened,closed}_totaltoremote_address - Resolved an issue where the stack complained about sending credentials on insecure connections.
- The Events endpoint no longer requires the
_ALLright on requested entities. All events now have explicit visibility rules. - Updated node packages to fix known vulnerabilities
Docker images
docker pull thethingsnetwork/lorawan-stack:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.1docker 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/storagedir needs to bechowned to886:886. See alsodocker-compose.yml. - Added
GetApplicationAPIKey,GetGatewayAPIKey,GetOrganizationAPIKey,GetUserAPIKeyRPCs 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
AppAsnot 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-idflag 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
cloudfor the--events.backendflag. When this flag is set, the--events.cloud.publish-urland--events.cloud.subscribe-urlare 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
URLclass in browsers (JS SDK) - Prevent rpc calls to JS when the device has
supports_joinset 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:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.0docker 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:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.0docker pull thethingsnetwork/lorawan-stack:3.0.2
v3.0.1
- Removed end device identifiers from
DownlinkMessagesent from the Network Server to the Gateway Server - Added event payload to
gs.status.receive,gs.up.receiveandgs.down.sendevents - Implemented OAuth management in the Identity Server
- Added
ttn-lw-cli users oauthcommands - 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.forwardandas.down.dropevents - Fixed
dev_addrnot being present in upstream messages - Added
received_attoApplicationUpmessages - Added
dev_addrto device fetched from the Network Server - Made device's
dev_addrgets updated when the session'sdev_addris updated - In JSON, LoRaWAN AES keys are now formatted as Hex instead of Base64
Docker images
docker pull thethingsnetwork/lorawan-stack:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.0docker 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:latestdocker pull thethingsnetwork/lorawan-stack:3docker pull thethingsnetwork/lorawan-stack:3.0docker pull thethingsnetwork/lorawan-stack:3.0.0
v3.0.0-rc3
Release candidate 3 for version 3.0.0