You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auth: configurable timeout parameter propagated to all Cognito HTTP calls; invalidate_access_token() public method replaces internal token-store mutation on 401 retry
Client: URL-encoding applied to all user-supplied path segments; _check_closed() guard on every public method and on transport/auth properties and __aenter__; _ensure_list raises RatioApiError for unexpected non-list/non-dict/non-null payloads; close() clears internal references
Token store: JsonFileTokenStore._write uses tempfile.mkstemp() with unique .ratio_tokens_ prefix, with explicit fd cleanup on failure and temp-file removal if chmod/replace fails
Models: _required() helper raising RatioApiError on missing required fields in Charger, ChargerOverview, Session, CommandRequest; _parse_bool() in settings correctly handles string "false"/"true" and respects default for unrecognised values
Package: __version__ and USER_AGENT derived from importlib.metadata at runtime
CI: mypy step added; branch trigger updated to main