2024-12-16<br/>
<br/>
<b>Version 1.0.6</b><br/>
<i>Library: 1.8.7<br/>
Core: 1.1.4<br/>
Web: 1.8.6<br/>
API: 1.3.1</i><br/>
Shadow API: 1.1.0<br/>
<br/>
<br/>
- Feature -> System, Core, Web, API: Docker and container (app) management from UI<br/>
- Feature -> System, Core, Web, API: Automatic installation and uninstallation of Docker utility on the system<br/>
- Feature -> Web: Sort items by column values<br/>
- Feature -> Web: Sort Instances on overview page<br/>
- Feature -> Web: Branded logos to reflect the Instance connection<br/>
- Feature -> Web, API: View of buffered mappings now also shows in both direction with the name of the sender and receiver<br/>
- Feature -> Web: IDE editors auto completer optimized when editing in existing text<br/>
- Feature -> System (Docker): Remote Access enabled for 3rd party vendors<br/>
- Feature -> System, Web: AppHub to manage installed Docker containers with 3rd party container (Yacht)<br/>
- Feature -> API: Endpoint to install and uninstall Docker<br/>
- Bugfix -> Web: License field would deactiviate occasionally when trying to insert a license<br/>
- Bugfix -> Web: Saving an item twice with 'Trigger only' as read interval would set it back to 'Instance default' for the reading interval
- Bugfix -> API: When installing as software on newer systems the API would fail to throw certain error codes due to output was sending in multiple chunks making it throw an error when setting a http response code at the end<br/>
- Bugfix -> System (Docker): Logrotate was not kicking properly in making logs increase in size without resetting them<br/>
- Bugfix -> Library: Decreasing log output if UID is not found in a text or script<br/>
- Bugfix -> Library: Store'n'forward not always respected when disabled<br/>
- Bugfix -> Library (Internal SDK): Wrong output for absolute file paths<br/>
- Feature -> Library (Internal SDK): Setting instance error on initialization<br/>
- Feature -> Library (Internal SDK): Function to restart software

2024-08-20 <br/>
<br/>
<b>Version 1.0.5</b><br/>
<i>Library: 1.8.6<br/>
Core: 1.1.4<br/>
Web: 1.8.5<br/>
API: 1.3.0</i><br/>
Shadow API: 1.1.0<br/>
<br/>
<br/>
- Feature -> System, Core, Web, API: DigiCert ONE IoT Trust certificate management implementation. Enrollment and renewal of certificates using API key, passcode and certificates<br/>
- Feature -> Web: IDE implemented with auto completer<br/>
- Feature -> Library, Web, API: Historical values can be fetched with .VALUE_HIST[index]<br/>
- Feature -> Library, Web: DHCP automatically refreshing and loading to web page<br/>
- Feature -> Library, Web, API: Online internet status indication<br/>
- Feature -> Library: %INSTANCE_SENDER% added as variable<br/>
- Feature -> Shadow API: Azure IoT Hub support<br/>
- Feature -> Shadow API: Minimal payload support to simplify usage for users<br/>
- Feature -> Shadow API: Various stability improvements (handling of messages, error handling, default values, etc.)<br/>
- Feature -> Shadow API: Versioning<br/>
- Feature -> Shadow API: Handling invalid configuration without throwing warning and error messages<br/>
- Feature -> Web, API: Returning UUID before logging to recognize the system as anonymous user<br/>
- Feature -> Web, API: Showing eventual database errors to users instead of "silence failing"<br/>
- Feature -> Web: Advanced settings added and icon in front of editable settings on the System page<br/>
- Feature -> Web: Debug mode is being shown for the user on front page<br/>
- Feature -> Web: Information on instances if no items has been added and the user should add a item in order to make the instance "alive"<br/>
- Feature -> Web, API: Print SQL errors to login page if errors happens<br/>
- Feature -> Web, API: Improved backend API for fetching Connector and System updates<br/>
- Feature -> API: Importing and exporting of files<br/>
- Feature -> Web: AI Chat bot in portal (Beta)<br/>
- Feature -> Web: Web, API: Show and manage buffered mapping messages<br/>
- Feature -> API: Data structure in endpoint modified to contain more metadata to be more compatible with e.g. Grafana and other data platforms<br/>
- Feature -> Web, API: Web, API: Monitor system resources such as memory, disk space and CPU<br/>
- Bugfix -> Library: Outwrapping a JSON parameter containing -, e.g. Object["Parameter-One"]<br/>
- Bugfix -> Library: Spaces in time formats e.g. VALUE.TIME.FORMAT("hh ss dd")<br/>
- Bugfix -> API: Various minor changes and fixes for import and export<br/>
- Bugfix -> API: Soft restart could fail to trigger<br/>
- Bugfix -> Web: Twice click on some buttons before action was triggered<br/>
- Bugfix -> Web: Narrow tooltips<br/>
- Bugfix -> Core: Optimized buffer handling to take alot of CPU resources<br/>
- Bugfix -> API: Instance status not properly exported and imported in configuration<br/>

<br/><br/>

2024-01-19 <br/>
<br/>
<b>Version 1.0.4</b><br/>
<i>Library: 1.8.5<br/>
Core: 1.1.3<br/>
Web: 1.8.4<br/>
API: 1.2.9</i><br/>
<br/>
<br/>
- Feature -> System, Web: Remote access and tunelleing integrated with Secomea SiteManager Embedded<br/>
- Feature -> System, Web: Customizable hostname of the unit<br/>
- Feature -> System, Web, Core: Dynamic handling architecture of CPU for auto fetching updates and Connectors<br/>
- Feature -> System, Web, Core: Handling GUI updates for OEM & white labelling packages<br/>
- Feature -> System, Web: Access to logs from Dockers (all-in-one) container<br/>
- Feature -> Web: Skeleton visuals when loading<br/>
- Feature -> Web, System: Timezone avaiable on Docker<br/>
- Feature -> Web: Notification on available updates in the info bar<br/>
- Feature -> System, Core: Ability to manually downgrading of Connectors<br/>
- Feature -> API: Improving loading of mappings and items making init faster<br/>
- Feature -> API: Various improvements and extended documentation<br/>
- Feature -> System, API: Soft and hard restart calling directly system commands rather than sending commands to the software<br/>
- Feature -> System, API: System wide tags can be added for OEMs, manufacturers and partners<br/>
- Bugfix -> Core: Handling of memory when RAM usage becomes critical. Timer bugfix and implemented additional check when socket is lost to local database<br/>
- Bugfix -> Core: Race condition could happen at certain scenarious causing crash or hang of the system<br/>
- Bugfix -> Core: Reinit/reloading of the software sporadically could case a crash under start up<br/>
- Bugfix -> Core: Ignoring certain virtual network interfaces in software version<br/>
- Bugfix -> Web, API: Checking if hardware architecture matches the correct uploaded updater software to avoid updating for wrong architecture<br/>
- Bugfix -> Web, API: Exporting and import of configuration to contain the mapping groups<br/>
- Bugfix -> Web, API: Import of items containing " would fail due to missing character escaping<br/>


<br/><br/>

2023-10-11 <br/>
<br/>

<b>Version 1.0.3</b><br/>
<i>Library: 1.8.4<br/>
Core: 1.1.1<br/>
Web: 1.8.1<br/>
API: 1.2.7</i><br/>
<br/>

<b><u>NOTE for GUI:</u></b><br/>
Some images might not load after the update due to the cache. If this happens please clear the cache or press CTRL+R in the browser<br/>
<br/>
<u><b>NOTE for Connectors:</u></b><br/>
The following Connectors needs updated to work with this version:<br/>
SQL Connectors version minimum 0.1.4-1<br/>
Azure IoT version to minimum 0.3.6<br/>
</b>
<br/>
<br/>
- Feature -> System: Native installation script for other vendor hardware<br/>
- Feature -> System: Multi architecture for x86, x86-64, ARM & ARM64 (Docker & native installation)<br/>
- Feature -> System: Edge solution with container management<br/>
- Feature -> System: OpenSSL upgrade to 1.1.1k<br/>
- Feature -> System: Generation of unsigned Apache certification for secure https connection<br/>
- Feature -> System: Upgrade of Qt framework from 5.11.0 to 5.15.0<br/>
- Feature -> Core: Allowing trial on native installations<br/>
- Feature -> Core: Edge license for using software to only manage peripherals, network and containers<br/>
- Feature -> Core: Trial of 3 hours with 30 minutes cool down<br/>
- Feature -> Core: Hierarchical reference to items. E.g. %INSTANCE.ITEM.name_of_item%<br/>
- Feature -> Core: Stronger UUID generation for software installations<br/>
- Feature -> Core: Length of data values up to 16.777.215 chars<br/>
- Feature -> Core, Web: Write commands directly send to API are having variables decoded<br/>
- Feature -> Web: User management. Currently with Operator and Administrator rights<br/>
- Feature -> Web: Updated icons<br/>
- Feature -> Web: Minor user guiding implementation with info boxes and text<br/>
- Feature -> Web: Adding array of items when adding device (API only)<br/>
- Feature -> Web: Enabling & disabling of Connector (API only)<br/>
- Feature -> Web: Faster initialization<br/>
- Feature -> Web: Various API improvements and faster indexing<br/>
- Feature -> Web: Grouping of mappings<br/>
- Feature -> Web: Fast insertion of mappings when grouped<br/>
- Feature -> Web: Tooltip helpers added for most pages and inputs<br/>
- Feature -> Web: Easy guidance when installing as software for the first time. Taking the user through the steps of creating PIN code & adding users<br/>
- Feature -> Web: Improvements to the user experience on the user management page<br/>
- Feature -> Web: Docker version showing the real system version which corresponds<br/>
- Feature -> Web: New instances will be automatically opened after creation<br/>
- Feature -> Web: Adding instances from the Connectors menu<br/>
- Feature -> Web: Install Connectors directly from the Connectors page<br/>
- Feature -> Web: Auto navigation to Connectors page if none is installed and otherwise use Instance page as default<br/>
- Feature -> Web: Auto check for new system versions and auto system update<br/>
- Feature -> Web: Enabling & Disabling of Connectors<br/>
- Feature -> Web: Auto checking for Connectors updates<br/>
- Feature -> Shadow API: Various improvements including logging and error handling etc.<br/>
- Feature -> Shadow API: Option for verifying server certificate<br/>
- Feature -> Shadow API: QoS parameter<br/>
- Feature -> Shadow API, System: Shadow API implemented on Docker<br/>
- Bugfix -> Shadow API: Non-empty password allowed<br/>
- Bugfix -> Web: Importing of items in CSV containing<br/>
- Bugfix -> Web: Export of items in Dockers<br/>
- Bugfix -> Web: Emptly listings when listing users without being logged in or without PIN code<br/>
- Bugfix -> Web: Changes in imported items not visually being updated<br/>
- Bugfix -> Web: Few corner cases errors in API when hitting empty records in the database<br/>
- Bugfix -> Core: Fast message forwarding<br/>
- Bugfix -> Core: % not escaped properly from API commands<br/>
- Bugfix -> Core: Better handling of restart of service between Dockers, HW and native installation<br/>
- Bugfix -> Core: Rare race condition with high load and many items fixed<br/>
- Bugfix -> Core: Occasionally duplicate of buffered messages<br/>
- Bugfix -> Core: Minimum trigger interval for items with event based data<br/>
- Bugfix -> Core: SQL queries for failed writing commands would fail if the value contained special chars<br/>
- Bugfix -> Core: Replacing variables would fail if variables was short and party included a system variable<br/>
- Bugfix -> Core: Instance status interval stabilized as it would occasionally miss the interval<br/>

<br/>

2022-12-20 <br/>
<br/>
<b>Version 0.0.20-3</b><br/>
<i>Library: 1.7.9<br/>
Core: 1.0.9<br/>
Web: 1.7.5<br/>
API: 1.2.3</i><br/>
<br/>
- Feature -> Core, Web: Bidirectional synchronization of mappings between Sender and Receiver<br/>
- Feature -> Core: Bidirectional synchronization items having variable parameters. E.g. between MQTT having a topic with /topic/%ITEM.NAME%.<br/> 
- Feature -> Core, Web: Acknowledge to the sender when mapping is executed. Acknowledgement is by writing back the value that was written by the sender to the receiver.<br/>
- Feature -> Core: Internal function for Connectors to delete items automatically if requested by the Connector<br/>
- Feature -> Core: Significant performance improvements for mappings and data handling<br/>
- Bugfix -> Core: Variable containing VALUE would be recognized as %VALUE%<br/>
- Bugfix -> Core: Handling of JSON parameters which contains a "." in its value (e.g. bearer token such as: 2eyJ0eX.eyJhdWQiOiI.TeuGLPgO3scSvn7_f8yy) <br/>
- Bugfix -> Core: Handling of decoding of parameters starting with a number which contains a JSON value (e.g. if item is named "123_item" and contains { "name": "Item"}) <br/>
- Bugfix -> Core: Post script can ignore values by assigning their values to null (<i>value = null</i>) <br/>
- Feature -> Core: Decoding of JSON parameters in post processing<br/>
- Feature -> Core: Setting manual ethernet connection parameters (auto negotiation on/off)<br/>
- Feature -> Web: Remember last saved mapping and items and using as default configuration afterwards<br/>
- Feature -> Web: Multiline parameters for Connectors<br/>
- Feature -> Web: License management page<br/>
- Feature -> Web: No HTML caching<br/>
- Feature -> Web: Updater dialog closes and refreshes after finished update<br/>
- Feature -> Web, System: Link for log files<br/>
- Feature -> Web: Search function in Instances, Connectors and various drop down boxes.<br/>
- Feature -> Web: Setting manual ethernet connection parameters (auto negotiation on/off)<br/>
- Bugfix -> Web: Faster logout for invalid token<br/>
<br/>