Breaking changes deferred to the next major version. The SDKs version in lockstep on major.minor, so these ship in the same release as the other SDKs' deferred changes. When one lands, move it to CHANGELOG.md and delete it here.
- Now (1.4.x): when
/auth/validateis still unreachable after the network retry,login()callson_failure("network_error", exc)from_post_jsonand thenon_failure("login_failed", exc), and returnsFalse. Without anon_failurecallback the first call exits the process, so the exit happens onnetwork_error. Check-in network failures already fire once (1.4.0). - Planned: fire once, as
on_failure("login_failed", exc)whereexc.codeisnetwork_errorortimeout, matching check-ins and the C++ SDK. Same change as the C# SDK'sLogin(). - Why deferred: callers that react to the
network_errorreason would stop seeing it, and callers counting callbacks would see one instead of two. - Touches: the
_post_json("/auth/validate", body)call in_validate_and_store(authforge.py; passskip_failure_hook=True), a login network-failure test, the "network_error(login only)" reason inREADME.md/AGENTS.md, AuthForgeDocssdk/python.mdx.