Releases: robertoamd90/aruba-ble-proxy
Release list
Release 1.1.0
Bug fixes and hardening:
- Fix scanner registration race condition (double-scanner leak)
- Fix pending action tracking: distinguish known orphans from true orphans
- Fix async_start double-start guard
- Fix silent characteristic loss when Aruba reports service_uuid=None
- Stop dropping empty BLE notification values (e.g. Battery Service)
- Fix getattr crash in active client notify error-recovery path
- Fix IPv6 handling in endpoint URL builder
- Fix TypeError masking in scanner constructor dispatch
- Fix UUID/MAC normalization edge cases (spaces, braces, casing)
- Fix fragile slot lock cleanup
- Fix _cached_uuid_list infinite recursion
Features and hardening:
- TX Power: extract AD type 0x0A and forward to Home Assistant
- Bound _last_characteristics cache (4096 entries, FIFO eviction)
- Parallelized best-effort disconnect on runtime stop
- MAC/UUID validation via regex in HA service schemas
- Cached UUID seed file parse in config flow
- Consistent Bleak timeout defaults across all GATT operations
- Use uuid.UUID for robust UUID normalization
- Truncate raw payload hex in debug logs (>64 bytes)
v1.0.1
Release 1.0.1
- isolated vendor compatibility overrides
- moved protocol/runtime layer under the integration package for self-contained installs
- added diagnostics redaction and runtime_data alignment
- updated README and protobuf generation paths
Aruba BLE Proxy 1.0.0
Aruba BLE Proxy 1.0.0
Highlights:
- Passive BLE forwarding and active BLE/GATT are part of the supported 1.0 surface.
- Default active BLE connection slots per AP set to 3.
- Added WebSocket send timeout, receiver crash diagnostics, and bounded diagnostic/ad-service caches.
- Documented the narrow SwitchBot FD3D compatibility fallback and clarified non-goals.
- Updated README, SPEC, install notes, translations, and field-test docs for 1.0.
Validation:
- 178 tests passing.
v0.3.0b7
Pre-release for experimental active GATT concurrency testing.
Changes:
- Serialize BLE connect/disconnect per AP source as before.
- Serialize GATT read/write/notify per device, allowing different devices on the same AP to run active GATT operations concurrently.
- Add a per-source WebSocket send lock so concurrent GATT operations do not concurrently write to the same AP WebSocket.
- Add a runtime test proving two GATT reads to different devices on the same AP are sent before the first result returns.
Validation:
- 175 pytest tests passing.
- Current worktree privacy scan passed for known sensitive local values.
- Field test reported OK before release.
Note:
- This is experimental. If SwitchBot locks show timeouts or invalid-state errors, roll back to v0.3.0b6.
v0.3.0b6
Pre-release for notification hot-path and telemetry log validation.
Changes:
- Move per-message Aruba telemetry logging from INFO to DEBUG behind an isEnabledFor guard.
- Cache BLE notification callback dispatch arity at start_notify time, including legacy one-argument callbacks.
- Add an indexed notification dispatch path while preserving service UUID mismatch fallback for SwitchBot/Aruba notifications.
- Add tests for multi-service notification dispatch and legacy notification callback signatures.
Validation:
- 174 pytest tests passing.
- Current worktree privacy scan passed for known sensitive local values.
- Field test reported OK before release.
v0.3.0b5
Pre-release for active BLE latency and concurrency testing.
Changes:
- Serialize active BLE sessions per Aruba source using the configured active connection slot count.
- Release session slots reliably on failed, cancelled, and disconnected active operations.
- Skip characteristic discovery when cached or advertised service data is already enough for the client.
- Add debug timing logs for active Aruba actions, session-slot waits, and characteristic discovery waits.
- Expand active BLE client tests around failure cleanup, slot serialization, and discovery shortcuts.
Validation:
- 172 pytest tests passing.
- Current worktree privacy scan passed for known sensitive local values.
v0.3.0b4
Prerelease with storage and active BLE stability fixes.\n\nChanges:\n- Removed recorder-backed diagnostic sensor platform to avoid Home Assistant database growth.\n- Kept Aruba APs as Home Assistant Bluetooth scanner sources.\n- Moved CLI generation work off the event loop.\n- Added configurable active BLE connection slots, with conservative default of 1 per AP.\n- Kept active BLE operations serialized per Aruba AP for stability after Aruba returned invalid-state errors during parallel connects.\n- Updated docs and field test templates for sensor-free validation.\n\nValidation:\n- 166 pytest tests passing.\n- Privacy scan clean for known local MAC/IP/token values.
v0.3.0b3 - multi AP adapter candidate
Prerelease field-test candidate for Aruba BLE Proxy.\n\nState of the art:\n- Registers each Aruba AP as a distinct Home Assistant Bluetooth adapter source by creating per-AP source entries.\n- Keeps passive BLE advertisement forwarding working through Home Assistant Bluetooth.\n- Keeps experimental active BLE/GATT support enabled by default for field testing.\n- Fixes active notification handling used by SwitchBot lock flows.\n\nKnown limits:\n- Active BLE remains experimental and depends on Aruba firmware behavior.\n- Configuration is still manual: install the custom integration, generate CLI config, paste it into Aruba Instant/AOS.\n\nValidation before release:\n- 160 local tests passing.\n- Sensitive MAC/token grep clean.