Skip to content

Releases: robertoamd90/aruba-ble-proxy

Release 1.1.0

Choose a tag to compare

@robertoamd90 robertoamd90 released this 22 Jun 10:31

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

Choose a tag to compare

@robertoamd90 robertoamd90 released this 15 Jun 21:45

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

Choose a tag to compare

@robertoamd90 robertoamd90 released this 05 Jun 21:09

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

v0.3.0b7 Pre-release
Pre-release

Choose a tag to compare

@robertoamd90 robertoamd90 released this 31 May 06:11

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

v0.3.0b6 Pre-release
Pre-release

Choose a tag to compare

@robertoamd90 robertoamd90 released this 31 May 05:11

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

v0.3.0b5 Pre-release
Pre-release

Choose a tag to compare

@robertoamd90 robertoamd90 released this 31 May 04:32

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

v0.3.0b4 Pre-release
Pre-release

Choose a tag to compare

@robertoamd90 robertoamd90 released this 30 May 07:56

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

Pre-release

Choose a tag to compare

@robertoamd90 robertoamd90 released this 29 May 21:05

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.