--- title: 'EdgeHub Release Note v3.0' disqus: hackmd --- # :memo:EdgeHub Release Note # Release Note ## Version: 3.0.1 (2026/01/30) ### Device Management #### [Fix] * [UI] Fix excessive width of the App Template Name field. (Also fixed in [3.0.1 hotfix]) ### Data Management #### [Fix] - ##### Core - [UI] Fix mode "td" transform: translate(-1px has alignment issue when the Chrome is upgraded to 144 version. (Also fixed in [3.0.1 hotfix]) - [UI] Fix the crash bug when editing alarm user group with only WeChat ID.(Also fixed in [3.0.1 hotfix]) - [Evaluator] fix: resolve runtime type offset crash and map data races (Also fixed in [3.0.1 hotfix]) - [Evaluator] feat: support spaces in reference names within formulas (Also fixed in [3.0.1 hotfix]) - [SUBSCRIBE] Fix issues: weekly report and retry deduct point error message - [SUBSCRIBE][Security][SQL INJECTION] Close related APIs to prevent SQL injection - [SUBSCRIBE][BJ] Fix: Add missing currency type `CNY` - [Subscribe][Security][Fix] Add tenantId format validation to the updateLicenseInfo API. - [Subscribe][Security][Fix] Enforce SRP token and internal service authentication for updateLicenseInfo API. - [Subscribe][Security][Fix] Add input sanitization for convertActivationCodeInput. - [Subscribe][Security][Fix] Enhance security hardening, including CORS whitelist enforcement, request monitoring, and protection against SQL Injection, XSS, and Command Injection attacks, with additional security-related logging. - [api-portal] Update request headers to use SSO client token for license info updates ### Direct Access #### [Update] - ##### Direct Access Portal - [EPN Server] change default server subnet to 10.11.0.0 to prevent IP conflicts with customers' internal networks (LAN) (Also updated in [3.0.1 hotfix]) #### [Fix] - ##### Direct Access Portal - [UI] Error “Buffer is not defined” when retrying deduction from Direct Access (Also updated in [3.0.1 hotfix]) ## Version: 3.0.0-rc.6 (2026/01/09) ### Device Management #### [Update] * None #### [Fix] * Center API: * Fix the issue that device can not upload the CSR file by using Center API * Cert API: * Fix the issue that device can not upload the CSR file by using Center API * Web: * For Device Group OTA, fix the issue that Submit button is not enabled in the private firmware tab when the public firmware list is empty. * For Application Deployment setup, fix the display number on the Registries tab. * Cert Notify: * Fix internal logs display * [#43288] [DPM] The error meg is not easy to understand when Edgelink do FOTA again ### Traffic Management #### [Fix] * Modify the redis read and write library to fix the redis operation failure in the BJ environment. ## Version: 3.0.0-rc.5 (2026/01/02) ### Device Management #### [Update] * Cert API: * In the docker environment, generate root, intermediate, and server certificates when the system is initialized * In the docker environment, regenerate the server certificates when the system IP address is changed * Web: * Remove the hyperlink of the container applications #### [Fix] * For the docker environment: * DPM API: Fix the private firmware upload fail when using the MinIO blob * DPM API: Remove the traffic quota limitation * Container management * [UI] [Fix] Fix an issue where the UI could not create a container after deletion because the sidebar failed to open. * [#43347] [DPM] It will pop up error when create AWS registry * [#43356] [DPM] It will not response when create a mongo deploy template ### Traffic Management #### [Fix] * [#43355] [DPM] Traffic quota is not 0 when add and remove only a device ### Data Management #### [Fix] - ##### Core - [api-subscribe] [Fix] Ensure tenants created via `EPN90` are assigned the Trial type. - [api-subscribe] [Fix] Sync child tenant expiration date with subscribed tenant when converting from Custom/Trial to Subscribed - [api-subscribe] [Fix] Root tenant can not update type to subscribed - [api-subscribe] [Fix] Fix incorrect external portal URL in subscription email - [api-subscribe] [Fix] Fix an issue where a valid subscription key became unusable after a failed subscription attempt. - [#43335] [DPM] There shouldn't show `There is no parameter license` in BJ environment. - [UI] [Login] [Fix] On-premises Edition should not display MyAdvantech login button - [UI] [Login] [Fix] On-premises Edition should not display site menu - [UI] [Home] [Fix] Checking the Default language of Dashboard display language(s) when visiting the home page. - [UI] [Banner] [Fix] Incorrect styling for the Retry Deduction button. - [DataWorker] [Fix] Fix an issue where throttling state was not cleared after worker restart. - [DataWorker] [Fix] Update library to prevent panic errors when calling external functions during RabbitMQ reconnection. - [Evaluator] [Fix] Update library to prevent panic errors when calling external functions during RabbitMQ reconnection. - [Evaluator] [Fix] Fix an issue where the graph was not properly initialized during service restart. - [Cleaner] [Fix] Prevent the non data thread stuck and create the new manager to reconnect RabbitMQ client. ## Version: 3.0.0-rc.4 (2025/12/26) ### Device Management #### [Update] * None #### [Fix] * For the docker environment: * Device Config: Fix the MinIO bucket name error when performing EdgeLink OTA * API: Fix the OTA download URL in the docker environment * LoRaWAN Worker: Add support for the docker environment * Web: Fix the issue that the traffic quota is not checked when the user navigates to the device group page ### Traffic Management #### [Fix] * [#43300] [DPM] The traffic license quota doesn't work on new tenant * Modify the RabbitMQ SSL connection check since there is no valid domain name in the BJ environment ### Data Management #### [Fix] - ##### Core - [#43294][api-portal][DM] User's can't set the quota of Tenant - [#43279][api-subscribe][DM] The license cannot be activate if the region of tenant is empty. - [#43278][api-subscribe][DM] The region of subscribed tenant cannot be set. - [#43226][api-subscribe][DPM] The tenant owner should receive a deduction notification letter. - [Fix][api-portal] Ensure IFP tenant initialization completes before updating the root tenant. - [Fix][api-portal] Ensure quota update logs reflect the actual updated traffic balance. - [Fix][DataWorker] worker would cause a CPU spike if it failed to connect to ETCD during startup. - [Fix][UI] Correct multiple UI text messages related to quota status and subscription notifications. - [Fix][UI] Remove unnecessary warning messages from the Alarm Settings page in DPM and Direct Access. - [Fix][UI] Although the tenant is disabled, the expiration date of license should editable. - [Fix][UI] Prevent duplicate Stop action API calls when switching tabs in Container Apps. ### Direct Access #### [Fix] - ##### EPN service - [Fix] Prevent MQTT tenant status notification handling from blocking by offloading processing to async workers. ## Version: 3.0.0-rc.3 (2025/12/19) ### Device Management #### [Update] * Redirect the user to the home page if the following conditions are met: * no license * license expired * the tenant is disabled * Batch Create API * Add support for the on-premise docker environment * Web UI * Do not check traffic quota in the on-premise environment * For LoRaWAN models, modify the OTA message reported to the Traffic Management * Message format: {device name}({deviceMAC}) reported traffic: {OTA type} #### [Fix] * [#43209] [DPM] It will be failed when tramsmit device to other tenant * [#43176] [DPM] The private firmware OTA traffic won't be calculated after doing FOTA * Fix incorrect dpm-react URL configuration. ### Traffic Management #### [Fix] * [#43240] [DPM] The amount of OTA traffic will count twice when FW OTA Failed ### Data Management #### [Fix] - ##### Core - [UI] Correct wording for self quota exceeded message. - [Tenant management UI] Correctly display the parent tenant expiration date instead of showing Unlimited. - [Tenant management UI] Allow quota return when the parent tenant quota is zero. - [UI] Fix an issue where Alarm settings in Direct Access and DPM were unavailable when the Parameter license was not enabled. - [api-portal] Fix tenant list retrieval issues when tenant exists in ifp_tenant but not synchronized to api-portal. - [api-portal] Ensure correct quota extraction for traffic partial functions. - [api-portal] Lack of logs for traffic and EPN quota changes. - [Worker] Fix potential zombie worker issues during HPA scaling. - [#43179][api-subscribe][DM] The quota is not correct when use license key from Annual to Monthly - [#43201][api-subscribe][DM] The region will change to China when user transitions from the trial phase to the subscription phase - [api-subscribe] Traffic quota is calculated incorrectly when a tenant is converted from Custom to Subscribed. - [Alarm-service] Fix potential RabbitMQ consumer loss by adding queue consumer monitoring. - [Evaluator] Fix potential RabbitMQ consumer loss by adding queue consumer monitoring. - [Archiver/Archiver-restore] Fix potential RabbitMQ consumer loss by adding queue consumer monitoring. ### Direct Access #### [Fix] - ##### Direct Access Portal - [UI] Display EPN service unavailable notice and disable Add Server button. - [UI] Display tenant disabled notice. - ##### EPN service - [Core] Lower the default MTU to 1300 to avoid packet drops on routers that block packets exceeding MTU limits. ## Version: 3.0.0-rc.2 (2025/12/12) ### Device Management #### [Update] * Modify the OTA message reported to the Traffic Management and displayed in the Log Book * Message format: {device name}({deviceMAC}) reported traffic: {OTA type} * Container Management * Remove the `Save as template` button on the Deploy Application form in the Device application tab * Input validation for Registry , Deploy and Template mutations * Retry logic for EdgeHub container start * While enable container Apps faild, display the installation SOP document download link. #### [Fix] * Container Management * [#43104][DPM] Viewer can add deployment registry. * Hide the action buttons of the default registry "Docker Hub (anonymous)” * [#43105][DPM] The langth of app name should bigger than 2 * [#43103][DPM] User shouldn't enter the spec char on name field when create app template ### Traffic Management #### [Update] * Add new API for the Tenant management to get the traffic balance. * Delete related traffic records when deleting a tenant. #### [Fix] * Fix the traffic quota increasement error when performing the migration from v2.6 to v3.0 ### Data Management #### [Update] - ##### Core - [Worker] Add amqp connection status tracking API for diagnostic - [api-subscribe] Send annual subscription billing notifications 14 days before the billing date. - [api-subscribe] Process annual subscription billing daily. - [api-subscribe] Consolidate annual and monthly subscription charges on the 1st of each month. - [api-subscribe] Reclaim trial quota when a Trial tenant expires on the same day. - [api-subscribe] Reclaim trial quota when Trial data exists under a subscribed tenant. #### [Fix] - ##### Core - [api-portal] Batch retrieve traffic balances for multiple tenants to improve tenant list loading performance. - [api-portal] Notify the EPN service when the EPN quota is insufficient after `updateDcTenant`. - [api-portal] Skip traffic quota checks in on-prem environments. - [#43153][api-portal][DM] The quota will becom 2,147,483,647 when edit tenant - [api-subscribe] Fix issue where custom-to-subscribe tenant could not reset quota, expiry time, or status - [UI][HOME] Add license check to Data management icon - [UI][HOME] Add license check to Device management icon (on-prem environment) - [UI][Tenant management] Fix table issues when tenant names are truncated (`...`). - [UI][Data management] Redirect from object page to homepage when license is missing or expired - ### Direct Access #### [Fix] - ##### EPN service - [MQTT] Fix MQTT connection status tracking and reconnection handling. ## Version: 3.0.0-rc.1 (2025/12/04) ### Device Management #### [Update] * Notify Traffic Management service to update traffic amount * Update the tenant's traffic amount when the LoRaWAN device performs FOTA or COTA * If the tenant's traffic quota is exceeded, display warning message and disable the following OTA features in the tenant: * ADAM, WISE: Firmware OTA, Configuration OTA * EdgeLink: Firmware OTA, Project OTA * LoRaWAN: Firmware OTA, Configuration OTA * Improve the etcd reconnection mechanism * In the on-premise environment, add the support for the client to validate the RabbitMQ X.509 server certificate * When deleting the Computer device, notify the container API to delete its associated container apps * Container Management: * When the device is offline, disable the button of Enable Container Apps on the Device application tab * Add form input validation for deploy application and App deployment setup #### [Fix] * [#43102][DPM] The needed field won't be checked when create app template * [#43096][DPM] The application deploy is still works even if the X.509 cert of Computer device have been revoked. * [#43067][DPM] There is no popup error message when do costom deployment * [#43014][DPM] The status is not the same on EdgeHub and IPC after restart the container ### Traffic Management #### [Fix] * Fix the SQL connection lost issue when performing the migration from v2.6 to v3.0 * [#43092] [DPM] The traffic quota won't be calculate whwn doing OTA of WISE if timeout or failed * [#43143] [LogBook] There is no operator record in Firmware/configure OTA updates. ### Data Management #### [Update] - ##### Core - [License activation] Support new part numbers. ![image](https://hackmd.io/_uploads/H164LTQGWl.png) - [License activation] Add new SaaS trial license key EPN90 (valid for 90 days) - [Tenant management] Add "Region" field. - [Tenant management] Support allocating and updating Parameter, EPN, and Traffic quotas for Public Cloud. - [Tenant management] Support allocating and updating Parameter, Device, and EPN quotas for Private Cloud. - [Tenant management] Add validation to ensure quotas are zero before deleting a tenant. - [UI] Add error messages for insufficient Parent/Self quotas (Device, Parameter, EPN, Traffic). - [UI] Add error messages for missing licenses (Parameter, EPN). - [Agreement] Update agreement to v7.0 - [Home] Hide Command center button on the tenant home page in on-prem environment. - [DataWorker] Add 5-min consumer monitor using common library to auto-recreate missing consumers - [DataWorker] Improve worker count validation and isolate broker start-up #### [Fix] - ##### Core - [#43086][DM][Tenant management] User can't switch the tenant status - [#42853][DM][Tenant management] Some tenant can't be deleted even the quota is 0 - [#43116][UM][DBCreator] The permission of EPN will be chaned to viewer when EdgeHub upgrade ### Direct Access #### [Update] - ##### Core - [EPN service] Add daily validation job to check tenant EPN / traffic license status (expired, missing, or insufficient quota). - [EPN service] Automatically disables EPN server when the tenant's license (EPN / License) is invalid or insufficient. ## Version: 3.0.0-beta.3 (2025/11/20) ### Device Management #### [Update] * Notify Traffic Management service to update quota and traffic amount * Update the tenant's quota when a device is deleted or moved to another tenant * Update the tenant's traffic amount * When ADAM, WISE, or EdgeLink devices perform FOTA or COTA * When EdgeLink devices perform Project OTA * Container Management for the Computer model: * Display error messages for user operations * Add role checks for Admin and Viewer roles #### [Fix] * None ### Traffic Management #### [New] * Traffic quota calculation * When a device comes online, the tenant acquires 1 GB of traffic quota * Traffic usage calculation * When a tenant's traffic quota is reached, notify all applications to limit the tenant's service access * Traffic management UI * The UI is located in the Logbook service ### Data Management #### [Update] - ##### Core - [Tenant management] Updated Tenant Management UI - Updated the **Device count** and **License plan** columns. - Clicking a tenant now opens a drawer showing **Basic Information**, **Tenant Owner**, and **License Quota** details. - Updated log viewing behavior: users can now view only the tenant logs of the currently selected tenant. - Added **“Show details”** in the current tenant’s License Quota section, allowing users to open **Logbook** to view detailed records. #### [Fix] - ##### Command center - [Dashboard][Switch panel] Group level changes are not applied after saving and reopening the dashboard. - [Dashboard][Switch panel] Object dropdown is missing in the old dashboard when the new switch panel is used. ### Logbook #### [New] - Added **Logbook** App to record EdgeHub operational logs. - Enabled **Traffic Details** feature in version 3.0.0: - Records **traffic quota increases and decreases** for the tenant. - Displays the tenant’s current **traffic balance**. ## Version: 3.0.0-beta.2 (2025/11/06) ### Device Management #### [New] * Initial version of Container Management for Computer model: * Container applications * Initialize the Docker environment on the computer * Deploy container applications: Custom or from template * Deployment history * Application deployment setup: * Registries: AWS ECR, Azure, DockerHub, GitLab, Custom * App templates: Single container, Docker compose #### [Fix] * None ## Version: 3.0.0-beta.1 (2025/10/23) ### Device Management #### [New] * Disable the device quota check #### [Update] * DPM Portal * Add the capability to enable/disable device quota check * Add support for the docker environment * DPM API * Add the capability to enable/disable device quota check * Add support for the docker environment * Modify the blob type detection method * Management Portal * Modify the blob type detection method * Center API * Add support for the docker environment * Modify the blob type detection method * Device Config * Modify the blob type detection method * LoRaWAN Config * Modify the blob type detection method #### [Fix] * None ### Data Management #### [Update] - ##### Core - [api-portal] Add Device Quota Check Switch - [api-subscribe] Remove device quota logic - [api-portal] Update weekly notification and log behavior for device usage display - [Tenant management] Update tenant management UI to hide Device quota when enableDeviceQuotaCheck is false #### [Fix] - #### Core - [api-subscribe] - Fixed CVE list: - CVE-2024-2961 - CVE-2024-33599 - CVE-2025-4802 - CVE-2024-2961 - CVE-2024-33599 - CVE-2025-4802 - CVE-2025-32988 - CVE-2025-32990 - CVE-2025-31115 - CVE-2025-6020 - CVE-2023-50387 - CVE-2023-50868 - CVE-2023-50387 - CVE-2023-50868 - CVE-2023-31484 - CVE-2024-56406 - CVE-2023-45853 - CVE-2021-3749 - CVE-2025-27152 - CVE-2024-21538 - CVE-2022-24434 - CVE-2024-29415 - CVE-2022-23539 - CVE-2025-47935 - CVE-2025-47944 - CVE-2025-48997 - CVE-2025-7338 - CVE-2022-25883 - CVE-2025-9288 - CVE-2024-37890 - CVE-2023-24538 - CVE-2023-24540 - CVE-2024-24790 - CVE-2022-41722 - CVE-2022-41723 - CVE-2022-41724 - CVE-2022-41725 - CVE-2023-24534 - CVE-2023-24536 - CVE-2023-24537 - CVE-2023-24539 - CVE-2023-29400 - CVE-2023-29403 - CVE-2023-39325 - CVE-2023-45283 - CVE-2023-45287 - CVE-2023-45288 - CVE-2024-34156 - CVE-2025-47907 ### EdgeHub private network (EPN) #### [Update] - ##### EPN service - [Core] Enable EPN to deploy OpenVPN on the docker version of EdgeHub - [Core] Notify Traffic Manager of tenant usage via MQTT every 5 minutes #### [Fix] - ##### EPN service - [Core] Didn't update port when protocol changes