Skip to content

Update CHANGELOG for Mender Client main#18

Open
mender-test-bot wants to merge 1 commit into
mainfrom
release-candidate-main
Open

Update CHANGELOG for Mender Client main#18
mender-test-bot wants to merge 1 commit into
mainfrom
release-candidate-main

Conversation

@mender-test-bot
Copy link
Copy Markdown

@mender-test-bot mender-test-bot commented Feb 6, 2026

Mender Client next

Repository Version
mender master
mender-connect master
monitor-client master
mender-flash master
mender-configure-module master
mender-binary-delta master
mender-container-modules main

mender master (2026-06-01)

master - 2026-06-01

Bug fixes

  • Don't retry status update on 413
    (ME-616) (682e480) by @danielskinstad

  • Handle first timestamp in deployment logs more carefully
    (MEN-9427) (1f83b7d) by @vpodzime

    Depending on the system and build configuration, the timestamps
    in logs can use lower (likely) or higher (unlikely) time
    resolution than expected (nanoseconds). So in case of a
    deployment failure with corrupted logs, when using the first
    timestamp as a replacement in the extra (THE ORIGINAL LOGS CONTAINED INVALID ENTRIES) log entry, care must be taken to make
    sure the extra log entry still has a valid timestamp and that the
    result is valid JSON.

  • Sort inventory generator scripts before running them
    (MEN-9635) (f1bdb29) by @vpodzime

    So that the results are consistent and don't depend on directory
    iteration ordering.

  • Use q++ as the CXX (C++) compiler on QNX
    (MEN-9649) (e592007) by @vpodzime

    q++ is a separate executable in the QNX SDP 8.0 and it takes care
    of many things we would have to otherwise specify explicitly for
    qcc (like -lc++, -lm,...).

  • Add CMAKE_CURRENT_BINARY_DIR to key-value DB include dirs
    (MEN-9649) (5fbd397) by @vpodzime

    In case of an out-of-tree build the config.h file is created
    there (from config.h.in in the sources).

  • Add arch-specific cmake dir to CMAKE_PREFIX_PATH on QNX
    (MEN-9649) (8d6808f) by @vpodzime

    Some .cmake files can be in these arch-specific directories
    instead of the arch-independent one (added implicitly by setting
    CMAKE_SYSROOT).

  • Drop redundant const on unordered_map template arguments
    (fe352c5) by @lhoward

  • Common/error: include for operator<<(ostream&, string&)
    (dfd1fb4) by @lhoward

    src/common/error.cpp defines

    std::ostream &operator<<(std::ostream &os, const Error &err) {
        os << err.String();
        ...
    }
    

    err.String() returns std::string, so this relies on the free
    function operator<<(std::ostream&, const std::string&) being a
    complete definition at the call site, not just a forward declaration.

    error.cpp only includes <common/error.hpp>, which in turn includes
    and <system_error>. Under libstdc++ that chain happens to
    drag in the full body of the string ostream operator, so the call
    gets inlined and the link succeeds. Under libc++, only
    provides a forward declaration (marked _LIBCPP_HIDE_FROM_ABI); the
    body lives in /<__ostream/basic_ostream.h>. Without that
    include, the compiler emits an out-of-line call to a hidden-
    visibility symbol that never gets defined and the link fails:

    undefined reference to 'std::operator<<[abi:...]<char, ...>(
    basic_ostream<char,...>&, const basic_string<char,...>&)'

    Include explicitly so the definition is reachable regardless
    of which C++ standard library is in use.

  • Fail when device tier is invalid
    (ME-636) (c0f2b20) by @elkoniu

    DeviceTier is one of the configuration options but it is critical
    for how device is recognized by the server. When we will fail
    parsing it out of the configuration we should fail instead to
    switching to the standard device tier.

  • Make the single-file Update Module compatible with QNX
    (MEN-9666) (ccac13a) by @vpodzime

    The QNX's sync command accepts no arguments (it's a global
    sync) and fails if given some. The easiest way to prevent this
    from happening is to mask it with a function ignoring arguments
    and calling the sync command without them.

  • Ensure correct permissions on mender.conf in dist-package tarballs
    (MEN-9651) (d4999e0) by @vpodzime

    The config contains the tenant token and should thus be only
    readable by root.

  • Make contents of dist-package tarballs root-owned
    (MEN-9651) (c528ee9) by @vpodzime

    The contents are files and directories that go directly under
    /, e.g. /var/lib/mender or /etc/mender and
    /etc/mender/mender.conf. These should all be root-owned, not
    owned by some random user that shares the UID with the user
    running make dist-package.

  • Ensure proper permissions on /etc/mender/mender.conf in binary tarballs
    (MEN-9651) (3691c75) by @vpodzime

  • Install the mender-inventory-provides script on QNX
    (MEN-9704) (87547f9) by @vpodzime

    It just works, no reason to not include it.

  • Ensure limited permissions of mender-inventory-geo cache files
    (MEN-9752) (588f6ea) by @vpodzime

    The /tmp/mender/inventory-geo cache file can potentially contain
    sensitive data and there's no reason for it to have 644
    permissions.

    By using umask 077 we can easily ensure that any files created
    by the script are only user/owner-accessible.

  • Make mender-inventory-hostinfo QNX-aware
    (MEN-9704) (254c2e8) by @vpodzime

    QNX has different means of getting host information so the
    scripts needs to treat QNX differently than Linux.

  • Make mender-inventory-network QNX-aware
    (MEN-9704) (aa93ed0) by @vpodzime

    There is no /sys on QNX and information about network
    interfaces has to be gathered from ifconfig instead.

  • Include all relevant inventory scripts in builds for QNX
    (MEN-9704) (73d0c33) by @vpodzime

Documentation

  • Update contributing guide
    (QA-1517) (d6987de)

    To remove custom extensions of conventional commits standard.

Features

  • Large deployment logs are now trimmed to be accepted by the server
    (MEN-9415) (cecd636) by @vpodzime

    Deployment logs larger than 1 MiB are rejected by the
    server which leads to two issues:

    • excessive bandwith consumption when uploading such large logs
      only to be thrown away, and

    • no deployment logs for particular device and particular failed
      deployment available at the server at all.

    To prevent this, the client now trims large deployment logs and
    only sends the biggest possible part of the logs from their end.

  • Make mender-device-identity work on both Linux and QNX
    (MEN-9133) (4de4152) by @vpodzime

    This default/example script is used to provide Device Identity,
    i.e. a unique combination of key-value pairs. On Linux it relies
    on /sys/class/net contents to get the MAC address of a
    carefully-chosen NIC, on QNX it has to rely on ifconfig (no
    /sys) and it can choose the first NIC reported as active.

  • Use curl in the mender-inventory-geo script if available
    (MEN-9704) (2bffed0) by @vpodzime

    curl is a better fit for the use case and it's actually more
    commonly avialable than wget.

    This also makes the script work on a QNX Raspberry Pi.

Security

  • Bump src/common/vendor/json from 21b5374 to 8167d2f
    (ea7e228) by @dependabot[bot]

    Bumps src/common/vendor/json from 21b5374 to 8167d2f.

    updated-dependencies:

    • dependency-name: src/common/vendor/json
      dependency-version: 8167d2f64122c3ef7e5a0d9cab239fdba37aa54c
      dependency-type: direct:production
      ...
  • Bump pygments in /support/modules-artifact-gen/tests
    (337c0a4) by @dependabot[bot]

    Bumps pygments from 2.19.1 to 2.20.0.

    updated-dependencies:

    • dependency-name: pygments
      dependency-version: 2.20.0
      dependency-type: indirect
      ...
  • Bump src/common/vendor/json from f534f4f to 98386eb
    (43f3346) by @dependabot[bot]

    Bumps src/common/vendor/json from f534f4f to 98386eb.

    updated-dependencies:

    • dependency-name: src/common/vendor/json
      dependency-version: 9a737481aed085fd289f82dff1fa8c3c66627a7e
      dependency-type: direct:production
      ...
  • Bump pytest in /support/modules-artifact-gen/tests
    (6c9764f) by @dependabot[bot]

    Bumps pytest from 9.0.2 to 9.0.3.

    updated-dependencies:

    • dependency-name: pytest
      dependency-version: 9.0.3
      dependency-type: direct:production
      update-type: version-update:semver-patch
      ...
  • Bump src/common/vendor/yaml-cpp from 05c050c to 4861d04
    (fe5de47) by @danielskinstad

    Bumps src/common/vendor/yaml-cpp from 05c050c to 4861d04.

    updated-dependencies:

    • dependency-name: src/common/vendor/yaml-cpp
      dependency-version: 4861d049534ed6f2c51c45b01d7c2926022e5f3f
      dependency-type: direct:production
      ...

mender-connect master (2026-05-18)

master - 2026-05-18

Bug fixes

  • Do not ignore terminal ignore terminal port-forwarding error
    (528d50c) by @alfrunes

    If mender-connect fails to write a message to the connection, treat it
    as a terminal error instead of ignoring it.

  • Handle partial write to port-forwarding connection
    (95bb63f) by @alfrunes

Features

  • Implement port-forwarding protocol v2
    (MEN-5902) (13b6646) by @alfrunes

    The new protocol is identical to v1 except v2 does not stop and wait for
    message acknowledgement. This immensely speeds up the throughput
    especially for higher latency. mender-connect continues to support the
    previous version of port-forwarding for backward compatibility.
    Requires mender-server > 4.1 and mender-cli > 2.0.

monitor-client master (2026-04-01)

No changelog entries found.

mender-flash master (2026-03-11)

No changelog entries found.

mender-configure-module master (2026-05-14)

master - 2026-05-14

Bug fixes

  • Make systemd installation systemd_unitdir aware
    (758d25f) by @TheYoctoJester

  • Exit with returncode 0 if no jwt token is obtained over dbus
    (MEN-8591) (7bcd1b7) by @danielskinstad

    mender-inventory-mender-configure produces an error when failing to
    fetch the JWT token over DBus. If we exit with 1 mender-update will log:

    raspberrypi mender-update[1070]: An authentication token could not be obtained over DBus.
    mender-update[1029]: record_id=3 severity=error time="2025-Jun-12 21:53:25.802076" name="Global" msg="'/usr/share/mender/inventory/mender-inventory-mender-configure' failed: Process...
    

    Now it will log:
    raspberrypi mender-update[1070]: mender-inventory-mender-configure: An authentication token could not be obtained over DBus.

  • Fixed outdated LED-path for raspberrypi
    (MEN-9002) (40a442c) by @rewanrashid-boop

  • Fixed on/off arguments in LED demo
    (MEN-9375) (914a46a) by @danielskinstad

Features

  • Mender-configure requests JWT token when needed
    (MEN-7732) (00c6064) by @victormlg

    If the token is invalid or inexistant, mender-configure will fetch a new Jwt Token.
    Mender configure will listen to the dbus-monitor for a Jwt token state change. If token is received, it will immediately get the new token and continue the execution of the program. If the token is not received within 5 seconds, the program times out.

Security

mender-binary-delta master (2026-05-13)

master - 2026-05-13

Bug fixes

  • Convert the boot partition numbers to int before comparison.
    (MEN-8043) (99e8d24) by @jo-lund

  • Fix segfault when failing to get part number during install
    (951ed28)

    This was a hidden bug that surfaced now while fixing the support for
    PARTUUID and PARTLABEL. Or, in other words, when handling Mender
    configuration with partitions that do not end with a number. In this
    case pass_num is NULL and xasprintf will try to dereference it.

  • Correctly apply deltas with PARTUUID and PARTLABEL configuration
    (MEN-7160) (f146c78)

    This fixes the bug where mender-binary-delta fails to apply the delta
    when partitions are configured with PARTUUID or PARTLABEL options.

    Fixes the issue by first resolving the device symlinks like
    /dev/disk/by-partuuid/, /dev/disk/by-partlabel/, and /dev/root to
    their actual device paths (e.g., /dev/sda2, /dev/mmcblk0p2) and then
    extracting the partition numbers.

    Related to fix: Resolve PARTUUID device paths in rootfs-image mender#1613

  • Add missing license to the OS licenses manifest
    (f07a277)

Security

  • Bump tests/integration/mender_integration
    (70acccb) by @dependabot[bot]

    Bumps tests/integration/mender_integration from 36839fd to 1501222.

    updated-dependencies:

    • dependency-name: tests/integration/mender_integration
      dependency-type: direct:production
      ...
  • Bump tests/integration/mender_test_containers
    (3cedd76) by @dependabot[bot]

    Bumps tests/integration/mender_test_containers from 4adf634 to bc74861.

    updated-dependencies:

    • dependency-name: tests/integration/mender_test_containers
      dependency-type: direct:production
      ...
  • Bump tests/unit/cmocka from 2206c22 to f9e5b1f
    (fa0c0eb) by @dependabot[bot]

    Bumps tests/unit/cmocka from 2206c22 to f9e5b1f.

    updated-dependencies:

    • dependency-name: tests/unit/cmocka
      dependency-type: direct:production
      ...
  • Bump libntech from 8b72e12 to 58705c5
    (e4a2ecf) by @dependabot[bot]

    Bumps libntech from 8b72e12 to 58705c5.

    updated-dependencies:

    • dependency-name: libntech
      dependency-type: direct:production
      ...
  • Bump tests/unit/cmocka from f9e5b1f to 2453c23
    (501379b) by @dependabot[bot]

    Bumps tests/unit/cmocka from f9e5b1f to 2453c23.

    updated-dependencies:

    • dependency-name: tests/unit/cmocka
      dependency-type: direct:production
      ...
  • Bump libntech from 58705c5 to 329361a
    (aa91c89) by @dependabot[bot]

    Bumps libntech from 58705c5 to 329361a.

    updated-dependencies:

    • dependency-name: libntech
      dependency-type: direct:production
      ...
  • Bump libntech from 329361a to 13a9e99
    (d1d511f) by @dependabot[bot]

    Bumps libntech from 329361a to 13a9e99.

    updated-dependencies:

    • dependency-name: libntech
      dependency-type: direct:production
      ...
  • Bump tests/unit/cmocka from 2453c23 to 8f3854a
    (99cdbbb) by @dependabot[bot]

    Bumps tests/unit/cmocka from 2453c23 to 8f3854a.

    updated-dependencies:

    • dependency-name: tests/unit/cmocka
      dependency-type: direct:production
      ...
  • Bump tests/unit/cmocka from 8f3854a to fa9b644
    (ad2bc7d) by @dependabot[bot]

    Bumps tests/unit/cmocka from 8f3854a to fa9b644.

    updated-dependencies:

    • dependency-name: tests/unit/cmocka
      dependency-type: direct:production
      ...
  • Bump libntech from 13a9e99 to 4e45713
    (e913440) by @dependabot[bot]

    Bumps libntech from 13a9e99 to 4e45713.

    updated-dependencies:

    • dependency-name: libntech
      dependency-type: direct:production
      ...
  • Bump libntech from 4e45713 to 072bbcc
    (ecd814e) by @dependabot[bot]

    Bumps libntech from 4e45713 to 072bbcc.

    updated-dependencies:

    • dependency-name: libntech
      dependency-type: direct:production
      ...
  • Bump libntech from 072bbcc to 69e2624
    (53a23e0) by @dependabot[bot]

    Bumps libntech from 072bbcc to 69e2624.

    updated-dependencies:

    • dependency-name: libntech
      dependency-type: direct:production
      ...
  • Bump submodules
    (61cff5d) by @danielskinstad

    Bump libntech:

    • 69e262461e19759141527d605be52da61fccc505 -> 5a62ba4fd32a9ecffb6f9d698e4f4981986c6cec

    Bump tests/integration/mender_test_containers:

    • fec8b87c72967bb526d59d98e01420de60d71176 -> 99219966a0a924d33fee379a61e542c2cda623cb

    Bump tests/integration/mender_integration:

    • 305cbf5b63785ec629b4e4ad657364516b479f74 -> 1ded978181876f2a5d027d28f2a7ec5a2f356091

    Bump tests/unit/cmocka:

    • fa9b6449c54f4defbad7e27e35b0ce8d6547d8b4 -> 66d319e98d1e2a6f5f0468397991d255b641cf2f

Build

  • Update cloning link for cmocka, whose original has broken.
    (535f8a4)

mender-container-modules main (2026-06-01)

main - 2026-06-01

Bug fixes

  • Cd into manifest dir beforing listing running containers
    (MEN-9641) (96465af) by @danielskinstad

    Fix an issue where docker-compose v1 can't find manifest files for a
    composition because we don't cd into the manifest directory.

@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch 3 times, most recently from eec4ec1 to da6134c Compare February 9, 2026 07:50
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch 4 times, most recently from c564bf9 to dc4bae0 Compare February 17, 2026 14:17
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch 3 times, most recently from 4430f0b to eb992ba Compare February 20, 2026 13:08
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch 12 times, most recently from 56cb09a to 7ea921c Compare March 13, 2026 12:06
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch from 7ea921c to 836fec0 Compare April 16, 2026 10:28
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch from 836fec0 to 7e30b94 Compare April 29, 2026 09:10
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch from 7e30b94 to 0825034 Compare May 13, 2026 01:08
@mender-test-bot
Copy link
Copy Markdown
Author

@mender-test-bot, start a full client pipeline with:

  • mentioning me and start client pipeline

my commands and options

You can prevent me from automatically starting CI pipelines:

  • if your pull request title starts with "[NoCI] ..."

You can trigger a client pipeline on multiple prs with:

  • mentioning me and start client pipeline --pr mender/127 --pr mender-connect/255

You can trigger a client pipeline for a specific Mender Client release with:

  • mentioning me and start client pipeline --release 6.0.x (can be given multiple times)
  • by default, a pipeline is triggered for each supported release the component is a part of

You can trigger GitHub->GitLab branch sync with:

  • mentioning me and sync

You can print PR statistics for a repository with:

  • mentioning me and print fast pr stats (Team stats only)
  • mentioning me and print full pr stats (Detailed report)
  • options: --repo <repo>, --team <name>, --all-repos, --exclude-drafts, --exclude-user <user>
  • mentioning me and print full pr stats --repo mender --all-repos --exclude-drafts

You can cherry pick to a given branch or branches with:

  • mentioning me and:
 cherry-pick to:
 * 1.0.x
 * 2.0.x

@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch from 0825034 to c48da1d Compare May 19, 2026 08:46
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch 8 times, most recently from 3503028 to e9b9527 Compare May 26, 2026 19:11
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch 6 times, most recently from 92f501f to d4187d8 Compare June 1, 2026 19:10
Signed-off-by: mender-test-bot <mender@northern.tech>
@mender-test-bot mender-test-bot force-pushed the release-candidate-main branch from d4187d8 to 98b02ce Compare June 2, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants