IOx Gateway 2021¶
9.5.1 - 2026-09-28¶
Network Protocol: 1.17
Identifier Dictionary: 17
Fixed¶
Firmware version parsing error causing Skyresponse transmitter update to fail
9.5.0 - 2026-09-21¶
Network Protocol: 1.17
Identifier Dictionary: 17
This version significantly improves time sync accuracy throughout the network and
adds support for uplink quality test and multicast write.
Salto users: Note that the Salto sync interval has been increased from 1 minute to around 60 minutes.
Added¶
Added properties:
0x830A - Run Uplink Quality Tests
0x8865 - Salto Sync
0x8414 - Advertisement Counter
0x8102 - Reset Cause
Added events:
0x8102 - Reset Cause (reported after a reset)
Updated MT2 to version 2.5.0
Added timeSync and prevTime to timestamped data
Added multicast-write and multicast-write-decoded
Updated Management API to version 10
Added multicast-write
Generate errorcode 19 (WatchdogReset) when a device watchdog reset is detected
Try to free up memory when usage exceeds 80 MB
Removed¶
Removed reporting of cpu-temperature
Changed¶
Changed time sync interval from 24 to 1 hour. Removed all log output by printing to log with DBG level instead of INFO.
Salto sync interval has been increased from 1 minute to around 60 minutes. Explicit sync can be requested using the salto-sync property.
Updated to Alpine Linux 3.23.6
Fixed¶
Prevent “false” time jump warnings during startup while waiting for NTP sync.
9.4.0 - 2026-06-18¶
Network Protocol: 1.16
Identifier Dictionary: 16
Added¶
Skyresponse support (BETA)
Wait for NTP sync at startup before starting BLE GW. Wait up to 120 seconds.
Check NTP sync status on time sync
Added time jump monitoring. Generate warning if detected. Trigger time sync if time jump is detected.
On time sync, print time drift (ms and ppm) for previous period (24h) to log
Added properties:
0x8012 - Device Management Enabled
0x9817 - Skyresponse Config (BETA)
0x8106 - CPU Temperature
Removed¶
Removed serial port alias ‘usb_modem’. Serial port device-id must be specified during installation.
Changed¶
Updated to Alpine Linux 3.23.4
Fixed¶
Fixed JSON encoding for default-pins-state
9.3.0 - 2026-03-13¶
Network Protocol: 1.16
Identifier Dictionary: 14
Added¶
Added backfill support
Updated MT2 to version 2.4.0
New reporting topics: timestamped, timestamped-decoded
New request topics: ack, ack-decoded
Support for optional secureFlags and networkId in storage-mode-event
9.2.2 - 2026-02-27¶
Network Protocol: 1.15
Identifier Dictionary: 13
Fixed¶
Fixed issue where MBE backend API failed to load. This bug was present in versions 9.0.0 to 9.2.1.
9.2.1 - 2026-02-13¶
Network Protocol: 1.15
Identifier Dictionary: 13
Fixed¶
Fixed incompatibility issue in secure mode.
9.2.0 - 2026-02-10¶
This release should not be used, due to an incompatibility issue with older extender versions in secure mode.
Network Protocol: 1.15
Identifier Dictionary: 13
Added¶
Allow firmware download of block sizes up to 160 byte (typically 128 or 160)
Added 128-byte block broadcast support
New optional FLAGS.B128 bit in 0x8124 - Start Firmware Broadcast (explicit override)
New optional b128 JSON property added to start-firmware-broadcast (v13)
New property:
0x8011 - Device Management Connected
Changed¶
Do not abort firmware update (download) unless firmware is confirmed not found
Made 0x8860 - Salto Config (salto-config) readable (apiKey redacted)
Increased SHIP (Salto Space) HTTP request timeout from 15s to 30s
Increase default firmware broadcast interval to 2000 ms in secure mode (still 500 ms in legacy mode)
Update to Alpine Linux 3.22.3
Removed¶
Removed Salto property:
0x8861 - Salto Endpoint (BETA)
Fixed¶
Reduce chance of firmware updates failing with error 250
Throttling firmware block traffic correctly for all blocks sizes during firmware update (download)
Set scan-mode when extender connects to the same route (typically after a reset)
9.1.1 - 2025-12-02¶
Network Protocol: 1.14
Identifier Dictionary: 12
Changed¶
Increase MaxCount from 256 to 10000 in Salto requests
9.1.0 - 2025-11-25¶
Network Protocol: 1.14
Identifier Dictionary: 12
Added¶
Support for device alias
Salto door/user’s name used as alias
Added errorcode/warning 2000 (Battery Low, <= 20%)
Changed¶
Improved timer accuracy
Removed¶
Removed Salto properties:
0x8862 - Salto Rssi Threshold (BETA)
0x8863 - Salto Office Mode Rssi Threshold (BETA)
0x8864 - Salto Office Mode Rssi Hysteresis (BETA)
Removed loading of rssi threshold and hysteresis from Salto door general purpose field
Removed Salto office mode support
Salto NEAR feature currently requires nearRssiThreshold >= -40 (rssi-throttling-mode)
Fixed¶
During firmware download large firmware blocks were sent too quickly
9.0.0 - 2025-10-28¶
Network Protocol: 1.13
Identifier Dictionary: 12
Added¶
MT2 2.3.0
Add certificate authentication. New config properties: certificate, privateKey.
New config property: keepAlive. Default value: 15.
New config property: ignoreRevocationErrors. Default value: true.
Add unconnected devices to network-tree property. Bump to version 3.
Changed¶
Update to Alpine Linux 3.22.2
Allow devices without children to join at the same route without causing changes to the tree.
A node restarting will now connect/reconnect faster and the whole network does not need to start scanning.
Update MQTTnet library
Diagnostics 1.1.0
Don’t set retain flag when publishing
Increase Management connection watchdog from 1 to 24 hours
Change loglevel to Debug for Salto sync
Reduce size of .tar output file
Removed¶
Remove unused/experimental backends: AWS, Azure, GCP and EclipseHono
Don’t enforce TLS 1.2 for MQTT secure connections (let OS decide)
Fixed¶
Add alias ‘usb_modem’ to serial device
More efficient memory usage when upgrading device firmware
8.0.0 - 2025-06-25¶
This release adds support for secure mode.
Network Protocol: 1.12
Identifier Dictionary: 11
Added¶
Secure mode support
New network-mode: Discovery (4)
Network time support
Root Certificates management
Salto Systems integration (BETA)
MT2 Backend API 2.2.0
Improvements to CLI (v0.3)
Support for new storage mode advertisement format with adv. name: MTxxxx / MTxxxxS
Uplink RSSI (rssi) added to device objects in network-tree property value. Version bumped to 2.
Throttle storage-mode-event at 30s interval. This limits upstream backend traffic.
New properties:
0x800A - Provision
0x800B - Network ID
0x800C - Network Fingerprint
0x800D - Provision Legacy
0x8104 - Time
0x8030 - Add Root Certificate
0x8031 - Remove Root Certificate
0x8032 - Root Certificates
0x8033 - Root Certificate Fingerprints
0x8860 - Salto Config (BETA)
0x8861 - Salto Endpoint (BETA)
0x8862 - Salto Rssi Threshold (BETA)
0x8863 - Salto Office Mode Rssi Threshold (BETA)
0x8864 - Salto Office Mode Rssi Hysteresis (BETA)
Changed¶
Zero-length byte array property/measurement values are translated to JSON null instead of an empty string (“”)
Fixed¶
Downstream throughput performance improvements
Don’t crash if backend config is unsupported or invalid. Backend config will be ignored in this case.
7.1.0 - 2024-09-23¶
Network Protocol: 1.11
Identifier Dictionary: 10
Added¶
New power saving network modes:
Hourly Scan (2)
Daily Scan (3)
New CLI command (v0.2):
list network-interfaces
MT2 Backend API 2.1.0:
New optional extenderId parameter added to property read/write
Changed¶
Status code 5 (No Route) is returned if the gateway is unable to route read/write property request to unconnected device. Previously status code 2 (Device not found) was returned.
New BLE GW firmware: 1.2.1.
Alpine Linux: 3.20.3
.NET version: 8.0.401
Fixes¶
Fixes and improvements in BLE GW firmware (1.2.1).
7.0.0 - 2024-06-18¶
Initial release.
Network Protocol: 1.11 Identifier Dictionary: 10