Skip to content

Commit 06d9a50

Browse files
committed
release: v0.9.5 — WSL2 mirrored networking fix + login UX improvements
1 parent 8360123 commit 06d9a50

4 files changed

Lines changed: 10 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.9.5] - 2026-07-28
9+
10+
### Fixed
11+
- **WSL2 mirrored networking support for `nlm login --wsl` (#273)** — On WSL2 with mirrored networking mode, `get_windows_host_ip()` derived the CDP address from the default gateway, which in mirrored mode is the physical router rather than the Windows host. This caused `nlm login --wsl` to poll the wrong IP and always time out after 30 seconds, even though Chrome and CDP were fully functional. The CLI now detects the active networking mode via `wslinfo --networking-mode` and uses the shared loopback address (`127.0.0.1`) in mirrored mode, while preserving the existing gateway/resolver discovery for NAT mode and older WSL installations. Thanks to **@Premshay** for the outstanding diagnosis, the fix (PR #274), unit tests, and documentation updates!
12+
- **CDP timeout error now shows the polled URL** — The WSL login timeout message previously said only "Chrome did not start within 30 seconds" with generic troubleshooting steps. It now includes the actual URL being polled (e.g., `Could not connect to CDP at http://10.100.102.1:9222`), making wrong-address issues immediately visible. Troubleshooting steps are also mode-aware: mirrored mode suggests checking the portproxy rule; NAT mode points at the firewall rule.
13+
- **Firewall prompt skipped in mirrored mode** — Loopback traffic in mirrored mode never crosses Windows Firewall, so the interactive firewall-rule setup prompt is now bypassed with an informational one-liner instead of walking users through an unnecessary PowerShell step.
14+
815
## [0.9.4] - 2026-07-25
916

1017
### Fixed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "notebooklm-mcp-cli"
7-
version = "0.9.4"
7+
version = "0.9.5"
88
description = "Unified CLI and MCP server for Google NotebookLM"
99
readme = "README.md"
1010
license = "MIT"

src/notebooklm_tools/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import notebooklm_tools.utils.env_sanitize as _env_sanitize # noqa: F401
88

9-
__version__ = "0.9.4"
9+
__version__ = "0.9.5"
1010

1111
__all__ = ["NotebookLMClient", "__version__"]
1212

src/notebooklm_tools/data/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: nlm-skill
3-
version: "0.9.4"
3+
version: "0.9.5"
44
description: "Expert guide for the Gemini Notebook (formerly Google NotebookLM) CLI (`nlm`) and MCP server - interfaces for Gemini Notebook. Use this skill when users want to interact with Gemini Notebook programmatically, including: creating/managing notebooks, adding sources (URLs, YouTube, text, Google Drive), generating content (podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, data tables), conducting research, chatting with sources, or automating Gemini Notebook workflows. Triggers on mentions of \"nlm\", \"notebooklm\", \"Gemini Notebook\", \"podcast generation\", \"audio overview\", \"refactor document\", \"critique draft\", or any Gemini Notebook-related automation task."
55
---
66

0 commit comments

Comments
 (0)