Migration and Compatibility#

This page documents compatibility expectations and migration checkpoints for Waton users.

Runtime compatibility#

Current baseline:

  • Python 3.11+

Always align deployment/runtime with package metadata in pyproject.toml.

Configuration compatibility#

When updating Waton versions:

  1. Keep your auth storage file/database persistent.

  2. Re-check custom WAClient config overrides against current DEFAULT_CONNECTION_CONFIG keys.

  3. Re-validate reconnect and timeout behavior in staging.

Message/event compatibility#

Waton supports a broad message/event model, including encrypted add-ons for poll/event responses. These features rely on internal message-secret persistence.

API compatibility note#

A new additive simple callback API is available:

  • from waton import simple

  • client = simple(storage_path=...)

  • @client.on_message and @client.on_ready

This does not replace existing APIs. App and WAClient remain supported, so current integrations can keep running without migration pressure.

Migration checklist for apps#

  • Re-run unit tests for your integration points.

  • Re-run docs strict build if you maintain custom docs.

  • Re-validate live connect and optional send-ack probe.

  • Re-check dashboard behavior if you expose internal tooling.

Suggested validation commands#

python -m pytest tests/unit -q
python scripts/live_check.py --auth-db waton_live.db

For docs maintainers:

python -m sphinx -W --keep-going -b html docs/source docs/build/html

Release notes and changes#

Use these project artifacts as your change reference:

  • CHANGELOG.md

  • recent commits on your tracked branch

If behavior changes are detected in your app, prefer pinning and upgrading with incremental validation rather than big jumps.