Releases: mendersoftware/mender-server
v4.1.0
4.1.0 - 2026-01-14
Bug fixes
-
(deployments) Preset number of pending devices in deployments statistics
(MEN-8522) (e442a50) by @kjaskiewiczz -
(deployments) Lower size limit for single file uploads
(07f5c61) by @frodeha -
(deployments) Limit
name,typeanddevice types compatiblelength
(6f612d4) by @frodehaLimit the max length of
name(akaRelease namein the gui),
typeanddevice types compatiblefields inMultipartGenerateImageMsg
(used by single file uploads) to 256 characters.There has been introduced a limit of 256 characters to the corresponding
fields in mender-artifact:
mendersoftware/mender-artifact@ddd821f
causing uploads that do not abide by this limit to fail silently in the
background when being processed by the workflow worker.With this input validation we provide an explicit error to the user in
this case. -
(deployments) Throw error when
per_pageexceeds maximum allowed value
(MEN-8841) (e7c966c) by @bahaa-ghazal -
(deployments) Aligned update metadata understanding w/ mender-artifact
(33fae57) by @mzedel- api responses represented the content as a list, whereas the proper representation is the object
-
(deployments) Backwards compatible artifact metadata
(8110c52) by @frodeha -
(deployments) Panic on database errors on DELETE /artifacts
(f3c9bda) by @alfrunes -
(deviceauth) Fix the pagination logic in devices search endpoint
(MEN-8521) (5431bc1) by @bahaa-ghazal -
(deviceauth)
request_size_limitconfiguration not applied
(MEN-8788) (93d82a5) by @alfrunes -
(deviceauth) Always exit with non-zero exit code on error
(c486a45) by @alfrunes -
(deviceconnect) Increase the file upload size limit
(6ff38c3) by @bahaa-ghazal -
(deviceconnect) Make sure goroutines recover when panicing
(MEN-7750) (0f5870a) by @bahaa-ghazal -
(deviceconnect) SetReadDeadline when setting up ping handler
(MEN-8843) (b10a3a8) by @kjaskiewiczz -
(gui) Changed cancel button in device configuration edit to close the form
(MEN-8344) (f1f542a) by @mineralsfree -
(gui) Made RBAC roles visible again for non-enterprise users
(43f829b) by @mzedel -
(gui) Restored role removal prevention for built-in roles
(89a1c43) by @mzedel -
(gui) Aligned Roles & Users drawer closing behaviour
(MEN-8063) (346fd97) by @mineralsfree -
(gui) Fixed closing animation for deployment drawer
(MEN-8063) (a9bca65) by @mineralsfree -
(gui) Restored error handling on user edits
(ME-522) (882a5c7) by @mzedel- regression from 5888d3e3ee47b764b256e89da9419f903936e4f3 in the prior repo
-
(gui) Fixed an issue that would prevent showing all webhook activity
(70d9eda) by @mzedel -
(gui) Fixed reset button location in device tags & similar editors
(00335b2) by @mzedel -
(gui) Allowed clearing device tags & device configuration entirely
(ME-529) (896f2a9) by @mzedel -
(gui) Fixed location of device name tag help to not disturb tag editor
(e27417c) by @mzedel- this takes the kv related styles from less into the component making theming a bit more consistent and encapsulating the component further
-
(gui) Prevented device tag editor to be shown when no tags exist
(ME-528) (3b6b0db) by @mzedel- this is to reduce confusion about tags defined async to the current session not being visible
-
(gui) Fixed wording and position of onboarding tooltip
(MEN-8407) (69c1a6d) by @mineralsfree -
(gui) Aligned supported OS versions in download section with tool support
(ME-499) (c256688) by @mzedel -
(gui) Fixed billing profile not being fetched
(9042c6b) by @mineralsfree -
(gui) Fixed a problem that could apply RBAC restrictions on non-RBAC plans
(MEN-8498) (c870092) by @mzedel -
(gui) Fixed an issue that could cause the organization token to overflow for older tenants
(e04f0e9) by @mzedel -
(gui) Fixed another situation that could cause the organization token to overflow
(555cb1e) by @mzedel -
(gui) Fixed an issue that would not show progress in the final phase of phased deployments
(5f3be23) by @mzedel -
(gui) Fixed an issue that prevented reactivating highlighted tooltips in the UI
(4babe2e) by @mzedel -
(gui) Improved likelyhood of getting all device report related data from backend
(f429a5d) by @mzedel -
(gui) Fixed an issue that could limit release selection during deployment creation
(MEN-8421) (a7e5352) by @mzedel -
(gui) Restricted to use id when adding users on trial plan
(ME-532) (20f8936) by @mineralsfree
...
Note: Changelog truncated due to size limits. View full changelog in the repository files.
v4.0.1
Bug Fixes
-
(gui) Fixed an issue that would prevent showing unassigned static group devices (ME-519) (b595a57)
-
Race when provisioning and connecting a device (MEN-8164) (5535078)
-
If a device gets provisioned and submits a connection request while the device is getting provisioned, the device might end up in an inconsistent state where the connection status gets overwritten to "unknown". The issue was discovered in a test where the system was under load and the device was running on the same network (artificially low RTT).
-
Ensure email is always encoded in lowercase when stored (MEN-8328) (0568d2e)
-
Added a bson codec for model.Email that will ensure that emails are always encoded in lowercase in the database to ensure case insensitive queries.
v4.1.0-saas.5
v4.1.0-saas.5 - 2025-05-09
Bug Fixes
-
(deployments) Invalid Location header when returning 201 Created
(cfccf2a) by @alfrunesThe location strips the
/apipath prefix and returns the remaining
absolute path as relative. Instead, always return the absolute path. -
(gui) Fixed an issue that would prevent showing unassigned static group devices
(ME-519) (cf7f15d) by @mineralsfree -
(gui) Fixed an issue that would add device filter automatically
(MEN-8309) (8d0233c) by @mineralsfree -
(gui) Fixed an issue with a filter input not reset after save
(MEN-8309) (ed6b9f9) by @mineralsfree -
(gui) Fixed an issue with 'true' value being set after selecting 'exists' operator
(MEN-8309) (b8c8d8a) by @mineralsfree -
(gui) Ensured selection filter is reset when attribute or value input are emptied
(MEN-8309) (9cb2ff3) by @mineralsfree -
(gui) Restored global settings layout after general input layout adjustments
(f83c94e) by @mzedel -
(gui) Fixed an issue that prevented showing deployment calendar entries
(a7d386f) by @mzedel -
Check if deployment was found when updating device deployment status
(MEN-7749) (6b15227) by @bahaa-ghazal -
Ensure email is always encoded in lowercase when stored
(MEN-8328) (d80c818) by @alfrunesAdded a bson codec for model.Email that will ensure that emails are
always encoded in lowercase in the database to ensure case insensitive
queries.
Documentation
-
(deployments) Fix API specification
(QA-990) (4f8d069) by @kjaskiewiczzRemove type properties from fields where value is not strictly defined.
-
(inventory) Migrate API specs to OpenAPI v3.0.1
(QA-886) (e7ce7e5) by @kjaskiewiczz
Features
-
(create-artifact-worker) Update
mender-artifactto latest v4.1.0
(MEN-8337) (153cb8e) by @lluiscamposModifying also the integration to build the tool from source instead or
repurposing the upstream Debian package. This has the main advantage
that we can compile it statically (by disabling a feature that we don't
use) and that we have control of the compatibility aspects of the
binary. -
(deviceauth) Rate limit authenticated devices API
(MEN-7744) (8c80280) by @alfrunesAdded adaptive ratelimiting for devices APIs based on the
max_devices
limit. Two new configuration options are exposed:ratelimits.interval- duration until the quota resetsratelimits.quotas- mapping plan names to quota weights. The final
burst limit is computed asratelimits.quotas[plan] * max_devices
The rate limiting counter is independent for each API path (independent
of method and version). -
(deviceauth) Rate limit device requests
(MEN-7744) (9c3041f) by @alfrunesAdded adaptive ratelimiting for devices APIs based on the
max_devices
limit. Two new configuration options are exposed:ratelimits.devices.enable- enable device level rate limitratelimits.devices.interval- duration until the quota resetsratelimits.devices.quota_plan- mapping plan names to quota
weights. The final burst limit is computed as
ratelimits.quotas[plan] * max_devicesratelimits.devices.quota_default- rate limit fallback for plans
with undefined limits.
The rate limiting counter is independent for each API path (independent
of method and version). -
Add caching for device limits
(MEN-7760) (5466c62) by @alfrunes -
Implemented content type checker middleware for gin framework
(MEN-8327) (9016554) by @bahaa-ghazal
Revert
-
Gin utility for applying middleware to routes
(9f5c79c) by @alfrunesThe func does not implement what it is intended to do and instead
applies the middleware to all routes in the group.
v4.1.0-saas.4
v4.1.0-saas.4 - 2025-04-10
Bug Fixes
-
(gui) Fixed an issue where admin existence sometimes wasn't taken into account on tenant creation
(330ac67) by @mzedel -
(gui) Fixed an issue that prevented properly paginating deployments
(MEN-8212) (a20db14) by @mzedel -
(gui) Fixed an issue on tenant creation that prevented some email addresses from becoming tenant admins
(ME-470) (20b32f9) by @mzedel -
(gui) Fixed an issue that would retain passwords on tenant creation across different admins
(a5e2132) by @mzedel -
(gui) Fixed layout issue on tenant list + aligned styling with remainder of codebase
(cc41aee) by @mzedel -
(gui) Fixed an issue propagating password validation errors
(d1d8827) by @mzedel -
(gui) Ensured errormessages get propagated in forms
(b19f8b3) by @mzedel- as rhf depends on them to determine error existence in some modes
-
(gui) Fixed an issue that could hinder pagination in very frequently created deployments
(34ca4ea) by @mzedel
Documentation
- (deviceaut) Enhance description of the /devices/count endpoint
(MEN-8255) (c9e3633) by @kjaskiewiczz
Features
-
(gui) Made subtenant creation a bit more comfortable in case of errors
(ME-469) (e01171f) by @mzedel -
(gui) Added more user visible context on tenant creation failures
(c027064) by @mzedel- also centralized mui alert styling to account for increased usage
Signed-off-by: Manuel Zedel manuel.zedel@northern.tech
- also centralized mui alert styling to account for increased usage
-
(gui) Made login form less reactive when entering login info
(MEN-8221) (00b4d7b) by @mzedel -
(gui) Enhanced debugging info to help track down user issues
(c559467) by @mzedel -
(gui) Allowed enabling fine grained state debug information to be sent
(298059d) by @mzedel
Refac
-
(gui) Split signup in separate forms to ease handling validation mode differences
(620592b) by @mzedel -
(gui) Rely on externally gzipping build files to use sourcemaps in sentry
(24bdd2f) by @mzedel
v4.1.0-saas.3
v4.1.0-saas.3 - 2025-03-20
Bug Fixes
-
(gui) Removed border on active tab in left nav bar
(MEN-8113) (a5d5df4) by @mineralsfree -
(gui) Fixed time filter in past deployments
(MEN-7989) (25cdee0) by @mineralsfree -
(gui) Fixed location not being changed on device status filter change
(MEN-8118) (36eb469) by @mineralsfree -
(gui) Restored rspack to license generator compatible version
(1280dc7) by @mzedel -
(gui) Fixed default roles being shown before loading ones from backend
(MEN-8095) (d934020) by @mineralsfree -
(gui) Fixed an issue that would prevent new signups from using the onboarding
(fbaa329) by @mzedel -
(gui) Default to eu in eu.hosted domain during signup
(MEN-7925) (0512d24) by @mineralsfree -
(gui) Fixed webhook configuration checks by subscription
(6b5989d) by @mzedel -
(gui) Ensured form validation is applied during validation phase only
(b6b870c) by @mzedel -
(gui) Fixed permission extension issue in roles form
(MEN-8108) (0a41d0d) by @mineralsfree -
(gui) Fixed an issue that prevented phased deployments when reusing phase definitions
(MEN-8192) (f9b735f) by @mzedel -
(gui) Fixed an issue that could clear search queries
(c308b2b) by @mzedel- when search was run multiple times in non-search searchfields
-
(gui) Provide more context on failed 2fa enabled login
(dfcb767) by @mzedel -
(gui) Fixed an issue that would prevent some info messages from showing
(e1277bd) by @mzedel -
(gui) Restored group creation notification
(3bdb3f3) by @mzedel -
(iot-manager) Do not store events if there are no integrations
(MEN-7868) (0c0ee9d) by @merlin-northern -
(iot-manager) Creating new integration creates a new ID
(MEN-7801) (c52491e) by @merlin-northern -
Race when provisioning and connecting a device
(MEN-8164) (eae5bf2) by @alfrunesIf a device gets provisioned and submits a connection request while the
device is getting provisioned, the device might end up in an
inconsistent state where the connection status gets overwritten to
"unknown".
The issue was discovered in a test where the system was under load
and the device was running on the same network (artificially low RTT). -
Stop deviceconnect's
/connectendpoints from sending ping
(MEN-8061) (79a32a6) by @bahaa-ghazal -
Skip IoT Core/IoT Hub integration if device is not yet provisioned
(MEN-8230) (eeffe42) by @alfrunesIf a device has not previously been provisioned, it is not part of the
integration and should be excluded from the sync.
Documentation
- Migrate deployments specs to OpenAPI 3.0
(4631b2f) by @alfrunes - Correct spelling errors and incorrect descriptions
(001407c) by @alfrunes
Features
-
(gui) Added year to timeframe picker
(MEN-8136) (48a5e98) by @mineralsfree -
(gui) Changed login form to a more stepwise approach in order to reduce confusion
(MEN-7761) (543bf7a) by @mzedel- this relies on an as of yet unreleased bugfix release of RHF
Ticket: MEN-7761
- this relies on an as of yet unreleased bugfix release of RHF
-
(gui) Made password forgotten flow more informative to reduce confusion
(MEN-7761) (ed81bc6) by @mzedel -
(iot-manager) Allowed disabling address verification during webhook configuration
(e05997c) by @mzedel -
(iot-manager) Added integration_id query parameter to API for getting events
(MEN-7801) (bc0dae3) by @merlin-northernAllows to:
- get device events from iot-manager by integration ID
- maintains backward compatibility for GET /event
- with UI calling the new endpoint this fixes the showing
of events from old webhooks in the integraiton details
Refac
v4.1.0-saas.2
v4.1.0-saas.2 - 2025-02-25
Bug Fixes
-
(gui) Let read-only user no longer think they could act on selected releases
(MEN-8110) (dd710a7) by @mzedelalso aligned component label + usage with reality
Ticket: MEN-8110 -
(gui) Fixed pagination for pending deployments
(MEN-8140) (c3f406b) by @mzedel -
(gui) Prevented a situation where one release upload could prevent another
(MEN-8125) (84b24ec) by @mzedel -
(gui) Made rbac limitations visible in release tagging too
(c706020) by @mzedel -
(gui) Ensured release tag creation is waited for before changing UI
(MEN-8078) (9b0c722) by @mzedel -
(gui) Fixed an issue with editing credit card when no billing address was provided
(MEN-8154) (0fd9658) by @mineralsfree
Documentation
Features
-
(gui) Split release deployment onboarding step in 2 steps
(MEN-7882) (3fc2e9a) by @mineralsfree -
(gui) Made ui improvements to the deployment onboarding flow
(MEN-7882) (35d0f11) by @mineralsfree -
(gui) Made onboard action tooltip rely on position of action item
(MEN-7882) (dfeb0d6) by @mineralsfree -
(gui) Made device issue selection on devices page available for more plans
(MEN-8076) (d7d2f97) by @mzedel -
(gui) Made device tag confirmation message align with change
(3374b93) by @mzedel -
(gui) Unified dialog backdrop and esc closing behaviour
(MEN-7998) (8b78680) by @mineralsfree
v4.1.0-saas.1
v4.1.0-saas.1 - 2025-02-20
Bug Fixes
-
(gui) Fixed date parsing & formatting issues after dayjs migation
(95dd540) by @mzedel -
(gui) Fixed an issue that would prevent showing phased deployments
(1e73ba7) by @mzedel -
Fix(gui): ensured deployment phase information stays inside its boundaries
(MEN-7995) (87fe82d) by @mzedel -
Fix(gui): fixed an issue that prevented upload progress from being shown
aligning upload progress tracking with updated payload structure after rtk migration
(MEN-8074) (1b715c8) by @mzedel
v4.1.0-saas
v4.1.0-saas - 2025-02-13
Bug Fixes
-
(gui) Made user list tracking rely only on backend data instead of local store to prevent duplicate users listed
(MEN-8049) (7d1b060) by @mzedel -
(gui) Fixed an issue that would cause the ui to crash when creating phased deployments
(9827ba9) by @mzedel -
(gui) Fixed remaining device percentage not being displayed correctly on phased deployment creation
(5600913) by @mzedel -
Update outdated api endpoints in the
inventoryservice
(MEN-7017) (73c7149) by @bahaa-ghazal -
Limiting the size of metadata when uploading and generating artifacts
(MEN-7166) (9e80728) by @bahaa-ghazal
Documentation
- (deployments) Clarifications for the GET /deployments version 2 endpoint.
(MEN-8053) (0231b1b) by @merlin-northern
Features
-
(gui) Clarified user creation capabilities for non-enterprise users
(MEN-7883) (d2fd192) by @mzedel -
(gui) Added automatic refresh to get webhook events
(MEN-8045) (502e06a) by @mzedel
v4.0.0
4.0.0 - 2025-02-10
Bug Fixes
-
(deployments) Deprecate v1 endpoint for listing deployments
(MEN-7543) (879b589) by @kjaskiewiczzWe deprecated GET v1 /deployments/deployments endpoint because of an
issue with "search" query parameter behavior. As a replacement we
introduce v2 version of the endpoint, where we replaced "search"
parameter with "id" and "name" parameters. -
(deviceconfig) Enable multiplatform build
(QA-673) (fbbe646) by @oldgiovaThe required TARGETOS and TARGETARCH variables were missing from the
Dockerfile. -
(gui) Fixed an issue that could prevent browsers from following programmatically triggered downloads
(f2b6189) by @mzedel- relative download addresses seem not to be followed, switched to absolute instead
-
(gui) Fixed an issue that would sometimes prevent users from switching between tenants
(MEN-7774) (ce777fd) by @mzedelcan't rely on the user list data as it doesn't contain all the user details
-
(gui) Fixed an issue that prevented deployment sizes from being shown
(d2bbb8d) by @mzedel -
(gui) Fixed an issue that caused number comparisons in device filters to not work
(MEN-7717) (84e2398) by @mzedel -
(gui) Added readable name for ltne device filter
(MEN-7717) (a741011) by @mzedel -
(gui) Fixed an issue that could lead to unexpected locations in the UI when accessing unauthorized sections while authorized
(MEN-7842) (7938291) by @mzedel -
(gui) Enable device configuration for non enterprise users
(67170c5) by @thallCurrently it's not possible to see device configuration if you host
Mender self and have environment variableHAVE_DEVICECONFIG=true.Changes the predicate to be the same as for
hasDeviceConnect. -
(gui) Added missing link to rbac docs in the cooresponding section
(MEN-7826) (1d8c4ff) by @mzedel -
(gui) Prevented disabled form inputs from showing validation errors
(2e7215a) by @mzedel -
(gui) Aligned quick actions in release details with actually possibile actions
(365f564) by @mzedel -
(gui) Fixed an issue that would prevent showing deployment reports for phased deployments
(132d6b2) by @mzedel -
(gui) Fixed an issue that would prevent upgrading a running session to a different plan
(MEN-7898) (7668b29) by @mzedel -
(gui) Fixed an issue that would crash the site when showing release details with multiple artifacts
(fd06f66) by @mzedel -
(gui) Made addon availability rely more on addons where possible to prevent erroneous device config retrieval
(MEN-7895) (62d6516) by @mzedel -
(gui) Aligned webhook details behaviour w/ rest of UI
(MEN-7955) (7860b5b) by @mzedel -
(gui) Prevented sso config retrieval on plans that don't support this
(fe6da5d) by @mzedel -
(gui) Fixed an issue that would prevent deleting & tagging releases in the release overview
(MEN-7960) (16b2628) by @mzedel -
(gui) Let on-prem installations refer to the docs to prevent server-url misconfiguration following monorepo transition
(MEN-7948) (e0dae51) by @mzedel -
(gui) Fixed end date filters out today's entries in the Audit log, Deployments and Devices
(3ee84f2) by @aleksandrychev -
(gui) Ensured target directory is nonempty on artifact generation
(MEN-8010) (5616722) by @mzedel -
(gui) Fixed an issue that could prevent listing devices with their custom identity in a deployment report
(f1fcf26) by @mzedel -
(gui) Fixed an issue that would prevent navigating to devices from a software distribution chart
(MEN-8038) (6516986) by @mzedel -
(gui) Made user list tracking rely only on backend data instead of local store to prevent duplicate users listed
(MEN-8049) (7d1b060) by @mzedel -
(gui) Fixed an issue that would cause the ui to crash when creating phased deployments
(9827ba9) by @mzedel -
(gui) Fixed remaining device percentage not being displayed correctly on phased deployment creation
(5600913) by @mzedel -
(iot-core) Incosistent serialization format for device private key
(MEN-7478) (6deadef) by @alfrunesThe generated key is serialized using SEC 1 (RFC5915) ASN.1 encoding,
but encoded to PEM using PKCS8 (RFC5208) block header/trailer. -
Aligned identity attribute usage with scoped inventory data to prevent overriding custom naming attributes with name tags
(MEN-7218) (9d82ea1) by @mzedel -
Document the 409 return for creating deployment to a group
(MEN-7414) (5327dac) by @kjaskiewiczz -
Prevented commercial client components are only selected when plan/ addon accessible
(MEN-7458) (81e0b73) by @mzedel -
Fixed an issue that prevented retrieving group devices & related reports
(MEN-7461) (95ea85f) by @mzedel -
Fixed an issue that prevented showing PATs on page refresh
(bde80fe) by @mzedel -
Fixed an issue that prevented onboarding tips from showing
(c2ecfcf) by @mzedel -
Fixed an issue that prevented the UI from showing deeply nested software installations
(MEN-7640) (13496f3) by @mzedel -
Stop user from having similar email and password
(MEN-6462) (3fa4a43) by @bahaa-ghazal -
Implement signal handler for
servercommands
(QA-782) ([6e17ada](6e17adaaffa6...
v4.0.0-rc.10
Merge pull request #419 from mendersoftware/release-please--branches-…