v0.8.2 Maintenance Release
This maintenance release adds diagnostics and a low-risk recovery path for emerging NotebookLM auth replay failures reported in issue #248.
Added
- Added
nlm doctor auth-replayto compare:- saved-cookie replay through normal
httpx httpxreplay after a forced GoogleRotateCookiescall- optional in-page CDP fetch from the saved Chrome profile
- saved-cookie replay through normal
- Added verdicts that distinguish ordinary cookie freshness failures from likely browser-bound replay behavior.
- Added best-effort Google
RotateCookiessupport during auth token refresh.
Fixed
- Matched the auth replay diagnostic HTTP probes to the normal NotebookLM RPC headers to avoid false
browser_bound_replayverdicts from barehttpxrequests. - Confirmed
nlm login --checkhomepage login redirects with a real NotebookLM RPC before reporting cookies as expired. Thanks tolaofunfor reporting and contributing this fix in PR #250. - Preserved raw Chrome cookie-list handling across auth checks instead of flattening too early.
- Preferred exact
.google.comcookie values when flattening duplicate browser cookies. Thanks tolaofunfor reporting and contributing this fix in PR #249. - Persisted the NotebookLM build label from profile metadata so diagnostics and replay checks use the current saved value.
Verification
uv run ruff check .uv run pytest tests/services/test_auth_service.py tests/core/test_cookie_rotation.py tests/services/test_auth_replay_diagnostic.py -quv run pytest -quv cache clean && uv tool install --force .- Live smoke test:
nlm login --checknlm notebook list --titlenlm query notebook <notebook-id> "In one sentence, what is this notebook about?" --json
Notes
This release does not add a full CDP transport. The new doctor command is intended to collect evidence first, so we can confirm whether a user is seeing stale cookies, normal auth expiration, or the stronger browser-bound behavior described in issue #248.