Skip to content

Bump espex to 0.12.0 (ESPHome API 1.18) - #223

Merged
bbangert merged 1 commit into
mainfrom
chore/espex-0.12
Oct 21, 2026
Merged

bbangert merged 1 commit into
mainfrom
chore/espex-0.12

Conversation

@bbangert

Copy link
Copy Markdown
Owner

Summary

Bumps espex from 0.11.0 to 0.12.0 (ESPHome API 1.18). Only the espex lock entry moves: its thousand_island requirement rises to ~> 1.5, and we already lock 1.6.0.

This PR wires up nothing new. The Espex.Sendspin pairing-token adapter is planned as a follow-up once Home Assistant ships support for it.

Upgrade notes checked

  • Noise hello now sends the bare MAC. Nothing in lib/ or test/ depends on the hello's MAC form. DeviceInfoResponse.mac_address keeps the configured form.
  • IR/RF transmits now run in a task, off the connection process. Infrared.Server.transmit_raw/3 is a GenServer.call to a named server with a 15 s timeout. It doesn't use self() or any per-connection state, and it finishes well inside espex's new 30 s kill. Unknown keys were already refused with {:error, :unknown_device}.
  • Clients below API 1.18 no longer get a transmit reply. No test asserted one.

Test plan

  • mise run test: 1672 passed, 0 failures
  • format, compile --warnings-as-errors, credo --strict, dialyzer
  • hex.audit: only the cowlib advisory CI already allow-lists, which has no upstream fix

🤖 Generated with Claude Code

Picks up ESPHome API 1.18 support. No code changes needed: nothing
depends on the Noise hello's MAC form, and the infrared adapter is safe
with transmits running off the connection process.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The dependency changes are consistent, and no blocking issues were identified; tests were not rerun.

No open issues 🎉

What changed in this PR

Updates the ESPHome API dependency to espex 0.12.0 for API 1.18 support, without adding new integrations.

Changes:

  • Raises the espex requirement to ~> 0.12.
  • Locks espex 0.12.0 with its updated thousand_island requirement.
File Description
mix.lock Updates espex version, checksums, and dependency requirement.
mix.exs Raises the minimum espex version requirement.

Review effort: Balanced

@bbangert
bbangert merged commit cffe4f0 into main Oct 21, 2026
8 checks passed
@bbangert
bbangert deleted the chore/espex-0.12 branch October 21, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants