v0.28.0
What's Changed
Added
auth -a logout(v3, no-v4): invalidates the cached v3 session at TMDB and deletes the session and account cache files; errors if no session is cached. The result is written asauth_logout_v3.json.auth -v4 -a logoutis unchanged.
Changed
- The cached v3 session, account, guest-session and v4 access-token files are now written owner-only (
0600), and an existing world-readable file is tightened on the next write.
Fixed
- Output files no longer overwrite each other:
search,discover,changesandwatch-providersnow append the flags you set (e.g.-year,-with-genres,-start-date) to the file name, and a query with accents, CJK or punctuation, or an overlong name, gets a short hash suffix. File names for runs without extra flags or special characters are unchanged. tv-seasonsandtv-episodesnow require-s(and-e) instead of silently defaulting to season 0 / episode 0, so a forgotten flag no longer returns the Specials season.-s 0still works.add-rating(movies,tv,tv-episodes) now rejects a-valueoutside 0.5 to 10.0 in 0.5 steps before any login or API call.accountwith a missing or unknown-ano longer starts the browser login flow before reporting the error.- A 401 on a
-v4accountorlistscall no longer triggers the v3 login flow (which could not fix it); the error now suggestsauth -v4 -a login. - When the automatic re-login after a 401 fails, the error now includes why, instead of only the original 401.
pages_limit = 0in the config file now means "all pages", as documented, instead of being ignored in favour of the default of 10. A negativepages_limitis rejected with an error.output_dirnow expands a leading~, instead of creating a directory literally named~.~other/...is no longer rewritten to<home>/other/...in any config path.- Login no longer fails on a fresh machine: the parent directory of the session, account, guest-session and access-token cache files is created if missing.
- API client: response bodies of failed (non-2xx) requests are now closed, so failed calls no longer leak connections.
- A 429 error no longer prints the request URL with the
api_keyquery parameter in clear. - A 429 with a
Retry-Afterheader now arms the client's rate-limit guard, so later requests in the same run stop instead of hammering the API. - Error responses with a non-JSON body (e.g. a proxy's HTML page) now keep their HTTP status code, so a 401 still triggers the session re-login.
- v4 requests made with a user access token no longer require
read_access_tokenin the config.
Full Changelog: v0.27.0...v0.28.0