---
# System prepended metadata

title: EdgeHub Release Note v3.0

---

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




