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

- [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