* Avoid state callbacks when nothing has changed ([136](https://github.com/bdraco/yalexs-ble/issues/136)) ([`c4d3bc8`](https://github.com/bdraco/yalexs-ble/commit/c4d3bc89d797b6a9d8e9e564f14362041e8ec265))
2.3.0
Feature
* Switch to asyncio.timeout on py3.11+ ([134](https://github.com/bdraco/yalexs-ble/issues/134)) ([`bce9605`](https://github.com/bdraco/yalexs-ble/commit/bce9605eb49a5d03512e7875c97f8695b665ca97))
2.2.3
Fix
* Use async-interrupt to avoid race in write ([133](https://github.com/bdraco/yalexs-ble/issues/133)) ([`436f57b`](https://github.com/bdraco/yalexs-ble/commit/436f57bc230d58721c2221077f51340aa6866524))
2.2.2
Fix
* Ensure task is uncancelled when catching CancelledError and re-raising as different exception ([132](https://github.com/bdraco/yalexs-ble/issues/132)) ([`a4dc7ed`](https://github.com/bdraco/yalexs-ble/commit/a4dc7ed8c605b3996ca015109ca900aef6372b17))
2.2.1
Fix
* Ensure cancellation is propagated during write if it is not from a disconnect ([131](https://github.com/bdraco/yalexs-ble/issues/131)) ([`dd65807`](https://github.com/bdraco/yalexs-ble/commit/dd65807d5dbf42387c0e46d2836af89a9876b4e7))
2.2.0
Feature
* Refactor to avoid asyncio.wait and task creation during write ([129](https://github.com/bdraco/yalexs-ble/issues/129)) ([`ae0ea36`](https://github.com/bdraco/yalexs-ble/commit/ae0ea3609371f2383f1aa66cb1a727732300f03d))