Migrate to pyserial-asyncio-fast (HA 2026.7 deprecation) — v1.3.2#9
Merged
Conversation
…-fast==0.16 - manifest.json requirements: pyserial-asyncio==0.6 -> pyserial-asyncio-fast==0.16 - pyproject.toml dependencies: same swap - uv.lock: relocked; fast package added, old package removed
…nt test patches - api.py: `import serial_asyncio_fast as serial_asyncio` — call sites unchanged - tests/test_api.py: 3 patch targets updated to serial_asyncio_fast.create_serial_connection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Home Assistant logs a deprecation warning on startup (
requirements.py:271): the integration'spyserial-asyncio==0.6requirement should be replaced bypyserial-asyncio-fast, and will stop working in HA 2026.7. This migrates to the maintained drop-in replacement.Changes
manifest.json/pyproject.toml:pyserial-asyncio==0.6→pyserial-asyncio-fast==0.16uv.lock: relockedapi.py:import serial_asyncio_fast as serial_asyncio— both call sites (create_serial_connection,serial_asyncio_fast.serial.SerialException) unchanged. The fast package importsserialat module level, so.serial.SerialExceptionresolves identically.tests/test_api.py: repointed the 3serial_asyncio.create_serial_connectionpatch targets toserial_asyncio_fast.create_serial_connection(the patches target the global module import path, so the alias alone wouldn't keep them valid)config_flow.py/options_flow.pyuse plainimport serial(pyserial) — unaffectedVerification
api.py:100error (verified present before this change; no new errors)