---
title: 'EdgeHub Release Note v2.3'
disqus: hackmd
---
:memo:EdgeHub Release Note
===
## Version: 2.3.11.2 (2025/02/17)
### Device Management
#### [Update]
* LoRaWAN Worker
* Not update the WISE-2200 configuration result after the configuration message is timeout
#### [Fix]
* LoRaWAN
* [#40188] [DPM] The Modbus/RTU setting will show error but the length is not larger than 128
* [#40261] [DPM] Suggest to unify the names of LoRaWAN Configure function on DPM and device configuration on WISE Studio page
* [#40253] [DPM] WISE-6610 will send config of WISE-2200 per minute because of the re-send request of EdgeHub
* [#40342] [DPM] The 'Start Address' and 'Scan Interval' in Modbus/RTU configuration of WISE-2200 cannot be set to 65535.
* Others
* [#40152] [DPM] Error occurred if save or dispatch in ADAM IO configure page
* [#40079] [DPM] Suggest to add tag name info in the event rule editing page
* [#40263] [DPM] Some discrete tags cannot be set an alarm rule value
## Version: 2.3.11 (2025/01/17)
### Device Management
#### [New]
* For LoRaWAN child devices(WISE-2200-M)
* Add the device configuration: Reboot
* Add the feature to trigger child devices to upload their device configurations:
* When the DPM receives a message from the WISE-6610 and detects that the WISE-6610 has new child devices.
* When the user clicks the child device page.
* Add the update time of the device configuration
* For RS-485 configurations:
* Remove the 7 bit option in the data bit since WISE-2200-M does not support it
* Add the Protocol field: Modbus/RTU mode, Transparent mode(only for switching to Modbus/RTU mode)
* Center API
* Add the proxy for the following SSO APIs:
* Send the forget user's password email
* Input the auth code from the forget password email
* Reset the user's password
* Activate the inactive user's account
* DPM API
* Increase the lease TTL value for the etcd connection
#### [Update]
* For LoRaWAN child devices
* For the Modbus/RTU configuration, improve the rule check method
* Tag Event rule
* Allow the string input in the event rule setting when the tag type is Text.
#### [Fix]
* LoRaWAN
* [#40033] [DPM] The UI keep loading when delete a WISE-6610 and press Add buton to create LoRaWAN
* [#40070] [DPM] User can't clear all selected items after select all on Node devices
* Others
* [#39905] [DPM] Use 1M size to do device task, but it show only support 3000 devices
### Data Management
#### [Update]
- #### Core
- [Subscription] Update trial agreement to v5.1
- [Dataworker] update efk log format
- [Dispatcher] Add POST API Trigger for Excessive Device Usage
- [Notification] Email notify tenant admin about the device' data count exceeds the threshold
#### [Fix]
- #### Core
- [#39925][Alarm][DM] Complex alarms with string data type parameters are triggered/recovered repeatedly.
- [#40016][evaluator][DM] TimeMatch('everyyear','1m1d0s','+08:00') will triger too many tme
- #### Data management
- [#39809][Parameter][DM] The first created parameter can't be seen until move the scroll bar on right hand side parameter list
- [#39899][DM] The data of group address will be error when use 127 length
- #### User management
- [api-portal] sync ifp tenant user roles must filter from default roles
- #### Command center
- [#39926][CC] There is no S-Type field(Cannot select DPM/DM data source) in SaaS Composer if the tenant is new created.
- [#39530][DM] The data source option items are disappear on "Advantech Ene Dashboard Switch" panel.
## Version: 2.3.10 (2025/01/03)
### Device Management
#### [New]
* For LoRaWAN child devices
* Add following device configurations for WISE-2200-M:
* Data update interval
* System ACK
* RS-485
* Modbus/RTU rules
#### [Update]
* For LoRaWAN child devices
* In the Info tab, add LoRaWAN device class and firmware version fields
* Center API
* Add the SSO token refresh API
#### [Fix]
* Event Alarm
* [#39715] [DPM] Alarm Status can't be edited after be acked
* [#39585] [DPM] The event of parameter won't refresh when switch 2 event page of Edgelink
* [#36978] [DPM] The "acknowledge alarm" report rule is different in DM & DPM
* Others
* [#39872] [DPM] The max size is 5M but it will show error when upload almost 5M size file on batch task and mass deploy
### Data Management
#### [Update]
- #### Core
- [worker] Support iSensingMQTT: Sensor config
- [worker] Support iSensingMQTT: multiple rule indexes in one modbusserver_config
- [event-dispatcher] Support disabling a device when its data count exceeds the threshold.
#### [Fix]
- #### Core
- [#39895][dbcreator][DM] User can't create new plugin list
- [subscribe] Deduction points calculation error
- #### Data management
- [#39876][DM] It will fail when import object template csv file
- [#39841][DM] It will show error when import template on profile management
- #### Command center
- [#39909][CC] Cannot export alarm report in dashboard alarm panel.
## Version: 2.3.9 (2024/12/20)
### Device Management
#### [Update]
* For Device Group:
* In the Monitor tab, change the name of Parameters event to Tags event.
* Security improvement for all K8s Pods
* Execute applications as non-root user
#### [Fix]
* Others
* [#39340] [DPM] WISE-4012 AI Channel Settings should be disabled when channel is in AI average mode
### Data Management
#### [Update]
- #### Core
- [Portal] Update EdgeHub start SOP file (2.0 -> 3.0)
- [Subscribe] change default quota of free trial to '30 devices'
- #### Data management
- [Parameter] String parameter support complex alarm
#### [Fix]
- #### Core
- [Evaluator] Non-data thread might crash while receive JSON message with bad format
- [dbcreator] 'add column OutputId' command error.
- #### Data management
- [#39846][DM] It will show error when save the profile with alarm setting
- [#39841][DM] It will show error when import template on profile management
## Version: 2.3.8 (2024/12/06)
### Device Management
#### [Update]
* For LoRaWAN Batch create child devices
* Add one Tab for the display of batch creation log
* In the Tag tab of My Device, remove the Parameter field.
* For My Device and Device Group:
* In the Event tab, change the tab name of the Parameters to Tags.
* For EdgeLink Project in the File Management
* The dispatch of project file is not allowed when the device is offline
* Extend the max length of Project name to 32
* Extend the max length of File name to 64
#### [Fix]
* Others
* [#39631] [DPM] The translation of Firmware is not the same on Simplified Chinese
* [#39174] [DPM] Some message aren't translated to Mandarin
* [#39647] [DPM] The warning message of Simplified Chinese is not easy to understand
* [#39144] [DPM] There is no process bar or other information when doing WISE-2200-M batch import
* [#39692] [DPM] There is no deive on device list when use the retry function of file management
### Data Management
#### [Update]
- #### Core
- [Worker] handle isensing general config
- [Evaluator] Update description of parameter 'ObjectType' of TotalObjects
#### [Fix]
- #### Core
- [Worker] amqp consumer close not reconnect
- [profile-server] When deploying a new environment, some tables failed to be created successfully.
- #### User management
- [#39584][UM] The role 'Engineer' of user will be removed if disable the user.
- [#39578][UM] The role permissions of Engineer isn't correct.
- [#39559][UM] There is no any function icon when use the view permission of DPM
- #### Command center
- [#39760][CC] Dashboard ene alarm panel and switch panel are not found.
## Version: 2.3.7 (2024/11/22)
### Device Management
#### [Update]
* For LoRaWAN devices
* In the child device list, update the display of parent device according to the UI design
* Web pages
* In My Devices, modify the Tags tab:
* Hide the Parameter sub tab since parameters will be automatically generated when tags are created
* Add one field: Event rule
* If Data management is installed, hide the field of recording rate.
* Update the display according to the UI design
* In My Devices, modify the display of mode in the device list and the result in the batch task.
* Management Portal
* For EdgeLink firmware version, add a new format that contains four digital (ex: 2.8.3.1, 2.8.3.r1).
#### [Fix]
* LoRaWAN
* [#39494] [DPM] The device mode of WISE-2200 cannot be set and view in My device
* [#39524] [DPM] There should show true/false on Enable field of WISE-6610 config setting log
* [#39527] [DPM] The comments field of config log can be removed
* Others
* [#38804] [DPM] There is a enough quota to upload the WISE config file (3/6), but popup a exceed to limit warming message
* [#39174] [DPM] Some message aren't translated to Madarin
### Data Management
#### [Update]
- #### Core
- [api-portal] Child devices are excluded from the device license quota.
#### [Fix]
- #### Core
- [api-subscribe] Changing the region in the `Apply Free Trial form` has no effect.
- [#39170][api-plugin][DM] Plug in will continue to send even the related calculation parameter is deleted
- #### Data management
- [#39513][DM] The search result is empty in "Data archiving/parameter page" if switch to page two first.
- #### Command center
- [Dashboard datasource] Cannot display RT data while the source switch to `EdgeHub-device-management`
## Version: 2.3.6 (2024/11/08)
### Device Management
#### [New]
* For LoRaWAN devices
* Add device configurations for WISE-6610:
* Radio setting, OS reboot, NTP server setting, Report interval setting
* For configuration OTA, add parameters in the MQTT message to notify WISE-6610 not to overwrite the settings of EdgeHub or the network
#### [Update]
* For LoRaWAN devices
* In Device Info tab, update IP address display for WISE-6610
* Update the status display of add/delete child devices according to the UI design
* Limit the max number of child devices within 500 devices
* For child devices, add the Event sub tab
#### [Fix]
* LoRaWAN
* [#39227] [DPM] The limit child devices of WISE-6610 is 500
* [#39203] [DPM] 'Use platform timestamp' cannot be set to 'No' at WISE-6610 setting page.
* [#39199] [DPM] The 'Edit device page' of WISE-6610 from device group is not correct
* [#39380] [DPM] There should be a description that the quota of sytem config is 6 and the quota of database config is 6
* Others
* [#39291] [DPM] The decimal precision will be changed to 2 if parameter alarm is set
* [#39379] [DPM] The file name version of Edgelink project is 4 digits, but only can input 3 digits
* [#39174] [DPM] Some message aren't translated to Madarin
* [#39339] [DPM] The Enable Config button should be gray when WISE-4012 AI Average Modei s be set
* [#39448] [DPM] There is no data on OTA history when doing FOTA
### Data Management
#### [Update]
- #### Command center
- [Dashboard Panel] EdgeHub switch panel supports `EdgeHub-device-management` source.
#### [Fix]
- #### Core
- [#39342][Alarm-service][DM] Error occurred if report alarm status from ack to any other status after alarm service restart.
- [#39391][Worker][DM] Edgelink isn't on line when device is re-build
- [#39294][evaluator][DM] It should return error when the value of calculation parameter is out of range
- #### Data management
- [#39196][DM] The permission of plugin is admin but can't edit
- [#35952][DM] The list of tag is not correct when doing import object from device
## Version: 2.3.5 (2024/10/25)
### Device Management
#### [New]
* For LoRaWAN devices
* Add Configuration OTA for WISE-6610
* There are two types of configuration files: System, Database
* Configuration files must match the model name with part number(ex: WISE-6610-NB)
* Support COTA for one single device and Device Group
* In Device Info tab, add firmware version for WISE-6610
#### [Update]
* In My Device page, change the style of device amount according to new UI design.
* DPM API
* Prevent the modification of device owner for LoRaWAN child devices.
* Improve the connect reestablishment of the etcd service
* X.509 Cert Rotation Notify
* Remove unused queues in the RabbitMQ server
#### [Fix]
* LoRaWAN
* [#39111] [DPM] The title of LoRaWAN "Radio Profile" should be the same
* [#39110] [DPM] some items of LoRaWAN function aren't translated to Madarin
* [#39107] [DPM] Add LoRaWAN Device button didn't work
* [#39145] [DPM] The field name of OOTA mode should be the upper case
* [#39200] [DPM] All device model can "Add Nodes"
* [#39201] [DPM] Suggest to add firmware version field of WISE-6610 at device info page
* [#39202] [DPM] It will cost about 1 min 30s to finish deleting WISE-2200-M device.
* In Management Portal, user could not delete firmware file of WISE-6610
* Others
* [#38491] [DPM] The WISE-4012 Universal Input can't be set
* [#39288] [DPM] If edit the alert status, an error message will pop up
### Data Management
#### [Update]
- #### Core
- [UI] Remove the node-sass package and update to Dart sass package
- [api-portal] remove `Welcome email` for user registration
- [datasource creator][Devops] use datasource-creator job to handle `Dashboard-plugins`, `Dashboard datasource` and `SaaS Composer datsource` installation
- [datasource creator] Update `SaaS Composer datasource` for each sc org
- #### Data management
- [Plugin] Check if plugin’s output names are duplicated with the plugin name or other output names
- #### Command center
- [Dashboard wizard] Replace Dashboard template's default datasource name to `Edgehub-SimpleJson`
#### [Fix]
- #### Core
- [DataWorker] publish #MSYS_EdgeStatus multiple time when isensing device upload config
- [#39183][Notification][DM] The alarm notification(Line/Mail/WeCom) doesn't work even if the alarm have been triggered.
- #### Data management
- [#39178][DM] The layout of 'Alarm rule name' column is messed up.
- #### Command center
- [#39187][Datasource][DM] Dashboard panel data source will be changed when switching page from 'Visualization' to 'Queries'.
- [#39186][Dashboard Plugin][DM] The 'ene alarm panel' is not updated to the latest version by dashboard-datasource-creator app.
## Version: 2.3.4 (2024/10/11)
### Device Management
#### [New]
* For LoRaWAN devices
* Auto creation of child devices(WISE-2200-M) according to the MQTT messages sent from WISE-6610
* Add device edit feature for WISE-2200-M
* Add Power Source field in the child device list
#### [Update]
* For LoRaWAN devices
* Change model name from WISE-6610-NB to WISE-6610
* Add model name field in Information Tab of WISE-6610
* Hide X.509 setting when creating WISE-6610
* Add progress bar when Firmware OTA is in progress
* Update search feature in the LoRaWAN child device list:
* Search fields: Device name and deviceAddr/deviceEUI
#### [Fix]
* Multi-Languages
* [#38711] [DPM] Manage list of device group aren't translate to Madarin
* [#38936] [DPM] some items of schedule function on device group aren't translated to Madarin
* Others
* [#39109] [DPM] The sub device(WISE-2200-M) can't be create when re-create the device(WISE-6610)
* [#38821] [DPM] The file name of config file should can use "-" and "_"
### Data Management
#### [Update]
- #### Core
- [Alarm] Update alarm state change logic
- [api-portal] Device object's parameters migration
- Delete all Constant/Primitive/Calculation parameters that was created by user
- Create parameters with the same names as the tags.
- [Evaluator] When adding / updating calculation parameters, the calculations will no longer be performed immediately but will wait until the next calculation cycle.
- #### Data management
- [Plugin] Add permission control for `Plugin` functionality
- [Calculation Parameter] Add permission control for plugins in Calculation parameter setting
- #### User management
- [Role] Add `Plugin` scope
- #### Command Center
- [Dashboard Panel] Update the alarm state change logic within the ene-alarm-panel.
- [Dashboard datasource] change `EdgeHub-device` source name to `EdgeHub-device-management`
- [SaaSComposer datasource] change `EdgeHub-device` source name to `EdgeHub-device-management`
#### [Fix]
- #### Core
- [api-portal] The first name and last name were missing when creating the SSO user.
- [Worker] If a worker crashes during multi-instance distribution, the distribution will stop.
- [Worker] After shutting down MongoDB for 1 hour, abnormal data backfilling occurs every 5 minutes.
- [Event-dispatcher] A panic occurs when the worker instance size is 0.
- [Event-dispatcher] When the worker instance size changes from 0 to 1, the consumer is not created.
- [#39092][DM] Worker OOM causes alarm cannot be triggered.
- [#39013][DM] Alarm can be directly set to "In Process" or "Processed" from "Open" status.
- #### Data management
- [#39142][DM] The '#' char should be keep when creating the parameter
- [#39089][DM] The alarm rule value cannot be set to float type.
- [#39101][DM] There is no Input description when click the custom formula
- [#39083][DM] Custom function can't create
-
## Version: 2.3.3 (2024/09/27)
### Device Management
#### [New]
* Add Support for LoRaWAN devices
* Supported models: WISE-6610 v2, WISE-2200-M
* Supported features:
* Manual device creation of WISE-6610 and WISE-2200-M
* Display the parent/child relation between WISE-6610 and WISE-2200-M
* Display LoRaWAN related information in the child device list
* Firmware OTA for WISE-6610 and WISE-2200-M
* CSV Batch create devices for WISE-6610 and WISE-2200-M
#### [Fix]
* Others
* [#38941] [DPM] The UI of device list on Schedule could be re layout
### Data Management
#### [Update]
- #### Core
- [plugin] Handling Mapping Keys and Values with/without Double Quotes
- [forwarding] Handling Mapping Keys and Values with/without Double Quotes
- [api-portal] custom function with defaultValue
- [api-portal] add TENANT_NAME_REPEAT err message
- [import-export-service] support new log format
- [dbmaster] support multi-instance
- #### Data management
- [Parameter] custom function with defaultValue
- [Object] While create object from device, show gateway list with lazy loading to improve performance.
- [Object] While create object from device, if the device tag's type equals to `Unknown`, give a default type `Number` as parameter's data type.
- [plugin, forwarding] plugin/forwarding bearer auth token string with length limitation as 2041
- #### User management
- [Role] Update roles list item name and sort
- `System setting` -> `Advanced settings`
- `Others (organizer)` -> `General`
#### [Fix]
- #### Core
- #### Data management
- [#33805][DM] The tenant with 10,000 devices, it would take over 50 seconds to load data when add object from device
- [#32452][DM] When importing a non-existent device tag, the error message is unclear.
- #### User management
- [#34934][UM] The "General" sub-page permission in System setting page is undefined.
## Version: 2.3.2 (2024/09/13)
### Device Management
#### [New]
* Web page
* In the Device Group, add group description in the device group list
#### [Update]
* Web page
* For Configuration file OTA in My Device and Device Group, only list the corresponding model's configuration files.
* In Device Group, add a timer to refresh the progress/result of firmware OTA and configuration OTA
* In My Device list and Device Group, the refresh timer will not be triggered until the previous refresh operation is finished
* Backend services
* For following services, use internal host(ex: Database services) first if internal host exists in the environment varialbe:
* DPM Cleaner, DPM Cert Notify,BS Worker, BS Write Worker
* Center API
* Add the device delete API
* Add error codes in the device create API:
* Duplicate MAC address
* Duplicate device name
* Device Quota is reached
#### [Fix]
* Device IO Configuration
* [#38491] [DPM] The WISE-4012 Universal Input can't be set
* [#38543] [DPM] The AI field title of WISE-4012E is not the same with WISE utility
* [#38599] [DPM] The AI field title of WISE-4010LAN is not the same with WISE utility
* [#38598] [DPM] WISE-4012E Min. High/Low Signal Width could't be edited on Counter mode
* [#38601] [DPM] Alarm Value can't be set when set high/Low Alarm Value to point
* Multi-Languages
* [#38627] [DPM] The translation of config OTA should be the same
* [#38626] [DPM] Some items of config OTA aren't translate to Mandarin
* [#38646] [DPM] The result of OTA should bo translate to Mandarin
* Others
* [#38370] [DPM] The process of OTA won't be auto refresh when doing OTA on device group
* [#38676] [DPM] The behavior are not the same at page number input feature
* [#38677] [DPM] The error message to SCADA/Edgelink devices be set to "Construction" mode in Device groups
* [#38683] [DPM] The offline Edgelink device shouldn't do File management function
* [#38777] [DPM] [DM/DPM] The web page will be in loading status if deleting a device with binded parameter.
* [#38364] [DPM] Schedule list should be removed when related device is remoced from device group
### Data Management
#### [Update]
- #### Core
- [Evaluator] Refactor the queuing logic for calculation tasks.
- [Cleaner] Update the versions of the Jettison, RabbitMQ, and MongoDB drivers to fix the vulnerabilities detected on Harbor.
- [Worker] update handle tag add/update reload data
- [api-portal] replace 'tagValChange' with 'reloadData' property in mqtt
- [api-portal] add DEVICE_BOUND err code
- [api-portal] Add format validation for the following functions: `avg2`, `getGroupParamSum`, and `TotalObjects`.
- [Packer] Reduce the frequency of checking whether hour/day blob data needs to be deleted.
- [Archiver] When writing rawdata, check the index before each bulk-write.
- [Archiver-restore] When writing rawdata, check the index before each bulk-write.
- [Subscribe] If an expired `Custom` tenant’s expiration date is manually extended, its status will be changed to enable.
- [Subscribe][API] For free trial RESTFul API, verify if the tenant owner is existed or not.
- [api-portal][API] Add error status code for create device APIs
- [Evaluator] When writing rawdata, check the index before each write.
- [Evaluator] Parameters that fail to compile the formula will still record RAWData with quality=bad.
- [Evaluator] Update the parameter description text for `ValidateParam` function.
- [api-portal] add /device/move/{devid} api for moving device to other tenant.
- #### Data management
- [Agreement] Update Trial and Subscribe Agreement Version 4.0
- [Plugin] plugin auth name / plugin name blur with loading UI
- #### User management
- [Group User] Hide user list when access authentication is missing; add "Join Group" button and "Cannot access group" description
#### [Fix]
- #### Core
- [#37948][Evaluator][DM] There are 2 record log when update the setting of cal parameter
- [Cleaner] A lot of unnecessary debug messages contain: `state should be: writes is not an empty list`.
- [Dispatcher] support graceful shutdown
- [Dispatcher] disable device failed because too many postgres connection
- [Worker] Value of #MSYS_EdgeStatus wrongly updated by tag value change
- [#38801][Worker] Wrongly handle array tag data that cause alarmCode alarm cannot be triggered.
- [Worker] reload data true should not save raw data if tag type is calculation
- [#38968][Worker][DM] String type of constant parameter not be shown value after creating
- [Worker] While missing device during worker instances distribution, should find the device from db and add it back
- [#38985][api-portal][DM] Some users can't chage the tenant role
- [#38984][api-portal][DM] User can't be disable
- [DBCreator] Extend the length of ForwardingAuthInfo.AuthUri & PluginAuthInfo.AuthUri from 1024 to 2048
- [Subscribe] EdgeHub will send an unnecessary `D-5 days trial expiration notice` email to subscribed tenant users.
- [Subscribe] Subscribed tenant becomes disabled on the due day and recovers after the deduction.
- [Archiver-restore] After the restore, there will be an issue with duplicate notifications to Packer.
- [Archiver-restore] After the restore, there will be an issue with missing certain date data in Redis.
- [Packer] If the restore start time and end time are not on the same day, only the start time’s day will be processed.
- [Forwarding] The total count displayed from the search is incorrect.
- [Plugin] The total count displayed from the search is incorrect.
- [Import-export] remove `<br>` from import error message
- [Packer] Disable the remove function but still remove the backed-up data from MongoDB.
- [DataWorker] Error handling for WISE-PaaS MQTT config uploaded in multiple messages.
- [#38538][DataWorker] Some WISE devices lost tags of Ipaddr, macid, name, and status
- [config-loader] Error handling for WISE-PaaS MQTT config uploaded in multiple messages.
- #### Data management
- [#38753][DM] The length of token string should larger than 1024
- [Parameter] the custom function help is not visible at low resolution window.
- [Parameter] the `default value change` is not submitted if the user only edits the alarm.
- [Tenant management] Prevent text overflow in switch status dialog
- [Tenant management] Disable confirm button of switch status dialog when status is not changed
- [Alarm group] Add/Edit AlarmGroup page cannot scroll at low resolution window.
- [Parameter] The `!=` in the formula is not correctly validated.
- [Parameter] In the parameter alarm, after adding an alarm and switching the tab to ‘basic,’ then switching back to ‘alarm,’ the alarm disappears.
- [Tenant management] When the parent tenant's available quota is negative, an error occurs where the current level tenant cannot return the quota.
- [Tenant management] the width of "Tenant name" is not initialization when the page is visited for the first time.
- [Parameter] When adding a constant parameter, cannot use submit button.
- #### Command center
- [#38673][DM] There is a "timeserie" item on the panelType droupbox when create a dashboard
- [#37889][CC] Command center can't show the same parameters of group via reportGroupInfo function
## Version: 2.3.1 (2024/08/16)
### Device Management
#### [New]
* Web pages
* In My Device/Device Group/File Mangement, add page number input feature for the pagination.
#### [Update]
* Mass Device Deployment
* Modify the max CSV file length from 20 to 32 characters
* Playbook(Scheduling)
* Remove unused queues in the RabbitMQ
* Bootstrap Worker(Mass Device Deployment)
* Remove unused queues in the RabbitMQ
* Batch Create Device
* Add Update time field in detail log page
* Center API
* Device List API: Add ip address for ADAM modules
* Add APIs for ADAM/WISE modules to perform Firmware/Configuration file OTA
#### [Fix]
* Multi-Languages
* [#38240] [DPM] Some iBMC function are't translated to Madarin
* [#38369] [DPM] Some File management function are't translate to Madarin
* [#38379] [DPM] The result of file magement should be translated to Madarin
* [#38365] [DPM] Some device group function are't translate to Madarin
* [#38380] [DPM] Some device batch task function of WISE isn't translated to Madarin
* [#38381] [DPM] The language of mass deploy is not the same
* [#38372] [DPM] Some CFG OTA function translation can be modified
* [#38366] [DPM] Some device group function translation can be modified
* [#38476] [DPM] Some items of config OTA of WISE device aren't translate to Mandarin
* [#38475] [DPM] Some items aren't translate to Mandarin when add Computer device
* [#38375] [DPM] Some COTA function of WISE isn't translated to Madarin
* [#38401] [DPM] The language of device patch task warning msg is not correct
* Others
* [#38307] [DPM] The drop down UI can be adjusted when select "Shared with me" on device group
* [#38315] [DPM] The parent group can access the info of sub-group in "Event" page.
* [#38278] [DPM] The create date of device batch task aren't changed
* [#38419] [DPM] User can't get the device list when add device on new device group
* [#38402] [DPM] UI suggestion of group OTA
* [#38314] [DPM] The SCADA/Edgelink devices can be set to "Construction" mode in Device groups
### Data Management
#### [New]
- #### Core
- [api-portal] Support root tenant quota from license server
- [Packer] Support blob data restore (Fully support of Constant / Primitive / Calculation parameters)
- #### Data management
- [Plugin] Support plugins migrate to tenant level
- Plugins from different groups will be relocate to left side menu.
- Plugins with the same name are not allowed to be used by calculation parameter. Will notice user to rename first.
- Calculation parameters that were using plugins will not be affected by this migration.
- [import-export] Support plugins by tenant level
- #### Command center
- [SaaS Composer] Datasouce support DPM_ONLY environment
#### [Update]
- #### Core
- [Dataworker] update log for efk monitoring
- [Dataworker] support LoRaWAN server/child device data
- [Dataworker] support restore device tag info from postgres
- [Dataworker] Set minimum notification interval to 1 min
- [Dataworker] Reconnet Azure IoTHub when err occurs
- [api-portal] device APIs (GraphQL, RESTFul) add parentId
- [api-portal] when update root group name or set tenant ,sync sc org
- [api-portal] dashboard/sc org name = tenant name, no more sequence number behind org name
- [api-portal] update signin error msg; distinguish invalid username or password
- [api-portal] root tenant admin = dashboard main org Admin, otherwise, give viewer
- [api-portal] update health check route `livez`
- [Evaluator] performance enhancement for the formula of plugin
- [Evaluator] Send system issue notification while liveness prove failed
- [Evaluator] If source tag `#EdgeStatus` without any value, use `0` as default value for calculation.
- [api-subscribe] Check tenant name with spectial special characters: ` `, `-`, `_`
- [api-subscribe] update log format
- [alarm-service] set event center api path from env
- [Packer] Add daily blob backup report
- [Packer] Add statistics api for diagnostic
- #### Data management
- [Portal] Invalidate the old freeTrial route
- [Portal] Allow scroll on first column of table:
- tenant table of Tenant management
- role table of Role management
- permissions table of the Edit Role
- #### Command Center
- [Datasource] Rename dashboard datasource to `EdgeHub-SimpleJson`
#### [Fix]
- #### Core
- [#38266][api-portal][DM] The quota of sub tenant can be used again when delete the object
- [Dataworker] Change the value #MSYS_EdgeStatus tag incorrectly
- [Dataworker] Missing isNumber attribute of #MSYS_EdgeStatus tag while adding device
- [Dataworker] Missing default value of #MSYS_EdgeStatus tag while adding device
- [Dataworker] redis disconnect will lost data if message process not finish
- [Dataworker] re-upload config, the sub-device id will not be updated
- [Dataworker] dispatcher and worker after reconnect to the etcd, the auto scale functionality are not working
- [Evaluator] Create `rawdata` collection without adding index
- [Archiver] create `min` collection without adding index
- [Archiver-restore] Create `min` collection without adding index
- [Archiver-restore] RAWData data time incorrect may cause the restore process to excessively restore data.
- [Profile] Import profile with empty statetxt may cause error
- [Packer] If the start time and end time of the restore job are not on the same day, only process the data in the day of the start time
- #### Data management
- [#38498][Channel setting][DM] The event setting of email can't be set to disable
- [Tenant management] the width of "Tenant name" is not initialization when the page is visited
- [Parameter] duplicated error message in DataType field
- [Forwarding] After adding `Bearer Auth`, didn't display the result immediately
- [Forwarding] Switch token type may cause save Auth failed
- [api-subscribe] Subscribed tenant will get trial expiration email
- [api-subscribe] Quota sync incurrectly while version migration
## Version: 2.3.0 (2024/07/19)
### Device Management
#### [New]
* Web page
* Add support for WISE IoT Desk environment (Keep support for EdgeHub)
* Use the Desk web header and hide original DPM's header
* Support Language change in the Desk header menu
* Add CORS support for the Desk environment
* The DPM menu
* Show the DPM menu if the user's screen width is bigger or equal to 1440 px
* When the DPM menu is displayed, the menu occupies the width of other elements
* Add 'Alarm Setting' when the query of alarm setting graphQL is successful
* In My Device page, remove the 'Last Connected' field in the device list
* The Tags tab in My Device
* In the Desk environment, use the new UI design otherwise use the original UI design
* Add the Recording rate field
* Add the Event rule field and it's edit page
* Hide the Parameter sub tab
* The Event tab
* Rename the Parameter sub tab to Tags sub tab in the Desk environment
* DPM API
* Add support for the application registration method in WISE IoT Desk environment
* Add edition field in the system capability API
#### [Fix]
* None
### Data Management
#### [New]
- #### Tenant Management
- [UI] Tenant Search / Filter
- [UI] Log
- [UI] Delete tenant
- [Backend] Support weekly tenant report by email to PM list
- #### Core
- [Packer] Support blob data restore (not include calculation parameters)
- #### WISE IoT Desk environment integration
- [UI] App registration for Desk
- [UI] Desk header integration
- Support Language change
- support hamburger menu button
- [Backend] Support Dashboard org and SaaS composer org which are created by tenant service
- [Backend] SI console quota change allgnment
- #### DPM decoupling integeation
- [Backend] Support EdgeHub installation without Data management and Command center
- [Backend] Support Device data APIs
- [Backend] Support Device data datasouce of Dashboard
- [UI] Alarm setting UI for Device management
- Level & category
- Event & actions
#### [Update]
- #### Core
- [Packer] Blob data in millisecond
- [Worker] Worker support multi-instance configuration
- [Worker] Integrate device sentry into worker
- [Worker] worker will process all config without validating message data time
- [Worker] worker will process hbt, conn, desc and other non data message if these messages is after the last data time
- [Evaluator] Support K8S liveness / readiness probe
- [Archiver] Support K8S liveness / readiness probe
- [Archiver] system issue notification to PM list
- [Archiver-restore] Support K8S liveness / readiness probe
- [Archiver-restore] system issue notification to PM list
- [api-portal] system issue notification to PM list
- [Subscribe] Update error message code form 404 to 400
- [Subscribe] Update free trial email template
- #### Data management
- [Parameter] Button of `Edit parameter` in Parameter name column
- [Parameter] Click parameter name to edit parameter page
- [Parameter] Click parameter row to show drawer
- [Parameter] Parameter details in drawer
- [Parameter] Parameter log in drawer
- [Parameter] The boundry of TimeMatch will be check
- [Parameter] Lazy loading of parameter list in edit object page
- [Object] While create object from device, load discrete tag's descriptor to new parameter automatically.
#### [Fix]
- #### Core
- [Worker] system tag not have online offline state in the device tag info
- [Worker] device sentry should use last active time to check if device is not sending message and over hbt
- [Config-loader job] DO tag should not be read only
- [Alarm] Alarm log API may deadlock that will cause API timeout
- [Evaluator] TotalObjects may not find some parameters to calculate
- [Evaluator] timestamp with negative time zone may cause parsing error
---
###### tags: `Documentation`