Skip to content

Releases: TheThingsNetwork/lorawan-stack

v3.2.1

11 Oct 14:11
v3.2.1
f5b9ea0
Compare
Choose a tag to compare
v3.2.1 Pre-release
Pre-release

Added

  • support-link URI config to the Console to show a "Get Support" button.
  • Option to explicitly enable TLS for linking of an Application Server on an external Network Server.
  • Service to list QR code formats and generate QR codes in PNG format.
  • Status message forwarding functions to upstream host/s.
  • Support for authorizing device claiming on application level through CLI. See ttn-lw-cli application claim authorize --help for more information.
  • Support for claiming end devices through CLI. See ttn-lw-cli end-device claim --help for more information.
  • Support for converting Microchip ATECC608A-TNGLORA manifest files to device templates.
  • Support for Crypto Servers that do not expose device root keys.
  • Support for generating QR codes for claiming. See ttn-lw-cli end-device generate-qr --help for more information.
  • Support for storage of frequency plans, device repository and interoperability configurations in AWS S3 buckets or GCP blobs.

Changed

  • Enable the V2 MQTT gateway listener by default on ports 1881/8881.
  • Improve handling of API-Key and Collaborator rights in the console.

Fixed

  • Fix bug with logout sometimes not working in the console.
  • Fix not respecting RootCA and InsecureSkipVerify TLS settings when ACME was configured for requesting TLS certificates.
  • Fix reading configuration from current, home and XDG directories.

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.1

v3.2.0

30 Sep 09:50
v3.2.0
38fca5d
Compare
Choose a tag to compare
  • 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 and mac_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

05 Sep 13:08
v3.1.2
73a9013
Compare
Choose a tag to compare
  • 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

30 Aug 19:21
v3.1.1
93dc530
Compare
Choose a tag to compare
  • 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 and ttn-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 the Ns service
  • Added the Js service to the JS SDK
  • Added the listJoinEUIPrefixes method in the Js 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 and rights flags of ttn-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 on update-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

26 Jul 15:26
v3.1.0
8826dd5
Compare
Choose a tag to compare
  • Added --headers flag to ttn-lw-cli applications webhooks set allowing users to set HTTP headers to add to webhook requests.
  • Added getByOrganizationId and getByUserId 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 to ttn-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 and devAddr. They can be used using RFC 6570
  • Added the go-cloud integration to the Application Server. See ttn-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_ to ttn_lw_
  • Deprecated JsEndDeviceRegistry.Provision() rpc. Please use EndDeviceTemplateConverter.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 metrics grpc_client_conns_{opened,closed}_total to remote_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

10 Jul 08:47
v3.0.4
0d0bc3b
Compare
Choose a tag to compare
  • Fixed rights caching across multiple request contexts (#951)

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.4

v3.0.3

10 May 13:04
Compare
Choose a tag to compare
  • 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 be chowned to 886:886. See also docker-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 to false (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

12 Apr 13:38
v3.0.2
3baedc7
Compare
Choose a tag to compare
  • 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

10 Apr 10:19
Compare
Choose a tag to compare
  • 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 and gs.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 and as.down.drop events
  • Fixed dev_addr not being present in upstream messages
  • Added received_at to ApplicationUp messages
  • Added dev_addr to device fetched from the Network Server
  • Made device's dev_addr gets updated when the session's dev_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

05 Apr 13:25
Compare
Choose a tag to compare

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