Mender Gateway

reference

2.1.0 - 2026-06-09

Bug fixes

  • (deps) Update golang-dependencies (bad72df) by @mender-test-bot

  • Set the correct Content-Length when modifying the inventory payload (MEN-7738) (4e555bf) by @tranchitella

  • Whitelist cloudflarestorage in example conf (MEN-8619) (1736267) by @danielskinstad

    This will fix the onboarding tutorial for mender-gateway which currently results in the following error: c271964d41749feb10da762816c952ee.r2.cloudflarestorage.com returned by Mender server is not whitelisted

  • Update Golang version for pre-built binaries to Go 1.25 (SEC-1715) (f91a308)

    Pre-built binaries were still using Go 1.17, which was long ago EOL.

    This issue affects pre-built binaries distributed for Yocto integration; Debian packages and Container images were not affected.

  • Check if DeviceSystem is enabled in inventory script (MEN-8937) (9b2548f) by @danielskinstad

    Fixed an issue where mender-inventory-mender-gateway would send mender_gateway_system_id=<SystemID> even if DeviceSystem was disabled. Fixed by adding an explicit check to the inventory script.

  • Make proxy requests to "Auto-auth"" and "Pre-auth" APIs (MEN-9042) (937dc6a) by @alfrunes

    The requests to the management APIs on behalf of devices does not add the proxy headers which is required for resolving the correct source IP when a request is done on behalf of a device. This commit changes the client interface to use a ReverseProxy instance to make the API requests to the backend.

  • Prevent bursting login requests on token expiry (MEN-9043) (67723de) by @alfrunes

    Protecting the JWT token with a RW mutex to prevent concurrent login requests when the token expires.

  • Do not mangle HTTP responses on panic (MEN-9044) (cb4898b) by @alfrunes

  • Fixed error on service restart (MEN-8931) (724aaca) by @rewanrashid-boop

    Fixed an error where any interrupt or restart of mender-gateway.service would result in fatal exit Ticket: MEN-8931

Features

  • Respect HTTP_PROXY, HTTPS_PROXY and HTTPS_PROXY environment variables (ME-637) (c5865a3) by @kjaskiewiczz

    Instead of creating empty transport object, clone the default one and customize fields that we need to. With default transport, according to docs, we will have this behavior:

    It establishes network connections as needed and caches them for reuse by subsequent calls. It uses HTTP proxies as directed by the environment variables HTTP_PROXY, HTTPS_PROXY and NO_PROXY (or the lowercase versions thereof).

    It will also default to Go-http-client/2.0 instead of Go-http-client/1.1 becuase of ForceAttemptHTTP2: true in the default transport.

Security

  • Bump github.com/fsnotify/fsnotify (f64bd12) by @dependabot[bot]

    Bumps the golang-dependencies group with 1 update: github.com/fsnotify/fsnotify.

    Updates github.com/fsnotify/fsnotify from 1.7.0 to 1.8.0


    updated-dependencies:

    • dependency-name: github.com/fsnotify/fsnotify dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-dependencies ...
  • Bump the golang-dependencies group with 2 updates (9d63732) by @dependabot[bot]

    Bumps the golang-dependencies group with 2 updates: golang.org/x/sync and golang.org/x/sys.

    Updates golang.org/x/sync from 0.8.0 to 0.9.0

    Updates golang.org/x/sys from 0.26.0 to 0.27.0


    updated-dependencies:

    • dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-dependencies
    • dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-dependencies ...
  • Bump github.com/stretchr/testify in the golang-dependencies group (cf4f5ab) by @dependabot[bot]

    Bumps the golang-dependencies group with 1 update: github.com/stretchr/testify.

    Updates github.com/stretchr/testify from 1.9.0 to 1.10.0


    updated-dependencies:

    • dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-dependencies ...
  • Bump mender-server (cca6780) by @danielskinstad

  • Bump test/integration/mender_server (QA-1003) (0cb632a) by @danielskinstad

    • tests/integration/mender_server 2df3643c91e75ea3c4ed5e5af05a83e2ede363cf => 16dd4b76b3de1e7e980986cb397a7290b50619ff
  • Bump golang image in Dockerfile (QA-1003) (e0d2e5a) by @danielskinstad

    Bump golang:1.23.4 to 1.23.9

mender-gateway 2.0.0

Released 12.18.2024

Changelogs

mender-gateway (2.0.0)

New changes in mender-gateway since 1.2.1:

Bug Fixes
  • allow different keys for auth request and client certificate. (MEN-7046)
  • fix: added public CAs to the Docker container build (MC-7281)
  • Process --log-level before loading configuration
Features
  • mTLS: cache and protect with force the preauth requests. (MEN-6928)
  • Configuration for adding trusted certificate authority

    The new configuration UpstreamServer.CACertificate (env: upstream_server_ca_certificate` specifies a path to a file containing a PEM-encoded certificate chain of trusted CAs. (MEN-6174)

  • Load config from environment variables

    Exposes the following environment variables to override the config loaded from the file:

    • ARTIFACTS_PROXY_CACHE_LINK_EXPIRE_DURATION
    • ARTIFACTS_PROXY_CACHE_ENABLED
    • ARTIFACTS_PROXY_CACHE_PATH
    • ARTIFACTS_PROXY_CACHE_SECRET
    • ARTIFACTS_PROXY_DOMAIN_WHITELIST
    • ARTIFACTS_PROXY_ENABLED
    • ARTIFACTS_PROXY_GATEWAY_URL
    • DEVICE_SYSTEM_ENABLED
    • DEVICE_SYSTEM_ID
    • HTTPS_ENABLED
    • HTTPS_LISTEN
    • HTTPS_MINIMUM_TLS_VERSION
    • HTTPS_SERVER_CERTIFICATE
    • HTTPS_SERVER_KEY
    • HTTP_ENABLED
    • HTTP_LISTEN
    • MTLS_BLACKLIST_PATH
    • MTLS_CA_CERTIFICATE
    • MTLS_ENABLED
    • MTLS_ENABLE_CACHE
    • MTLS_MENDER_PASSWORD
    • MTLS_MENDER_USERNAME
    • UPSTREAM_SERVER_CA_CERTIFICATE
    • UPSTREAM_SERVER_INSECURE_SKIP_VERIFY
    • UPSTREAM_SERVER_URL

    , (MEN-7051, MEN-7182)

  • add support for running both HTTP and HTTPS servers at the same time (MEN-7193)
  • New configuration MTLS_INSECURE_SKIP_CLIENT_EXPIRE_AFTER

    This configuration skips checking the "Not After" attribute in client certificate in mutual TLS mode. Enabling this configuration is discouraged and should not be used in production environments. (MEN-7363)

Other
  • Bump golang Docker version to 1.22.1-alpine3.19
  • use AutoAccept endpoint in mtls mode (MEN-7194)

mender-gateway 1.2.1

Released 12.02.2024

Changelogs

mender-gateway (1.2.1)

New changes in mender-gateway since 1.2.0:

Bug Fixes
  • set the correct Content-Length when modifying the inventory payload (MEN-7738)

mender-gateway 1.2.0

Released 12.28.2023

Changelogs

mender-gateway (1.2.0)

New changes in mender-gateway since 1.1.0:

Features
  • build and test using the latest version of golang (QA-614)

mender-gateway 1.1.0

Released 02.20.2023

Changelogs

mender-gateway (1.1.0)

New changes in mender-gateway since 1.0.1:

Features
  • New configuration DefaultInventory setting common device attributes

    The 'DefaultInventory' attribute in the root of the configuration object sets attributes that will be appended to what the device submits to the server. The attributes will not overwrite any value that the device may submit for the given attribute name. (MEN-5853)

  • New configuration option HTTPS.MinimumTLSVersion

    The new configuration sets the minimum TLS version accepted by the mender-gateway server. (MEN-6090)

  • Add mender_gateway_system_id to the mender-gateway inventory script installed along the software. This parameter is extracted from the SystemID filed in the configuration file when present. When not present, the inventory key will not be outputted. (MEN-6287)

mender-gateway 1.0.1

Released 09.25.2022

Changelogs

mender-gateway (1.0.1)

New changes in mender-gateway since 1.0.0:

Other
  • Licenses are now available in the package, instead of only online. (MEN-5517)

mender-gateway 1.0.0

Released 06.14.2022

Changelogs

mender-gateway (1.0.0)

  • First release of mender-gateway

We welcome contributions to improve this documentation. To submit a change, use the Edit link at the top of the page or email us at .