v0.4.2 — Critical fixes for new users
🔧 Three silent-failure bugs found via end-to-end audit
A new user installing v0.4.1 would have hit these issues on first setup. All fixed.
Bug 1 — Profile filename mismatch (silent)
scripts/cookie_to_profile.pywas writingstate.jsonlinkedin_mcp.browser.auth.has_valid_session()was looking forstorage_state.json- Result: Profile built via the script was invisible to the MCP server
Fix: Script now writes the canonical storage_state.json (matches agent-browser convention). auth.py accepts both for backward compat. Existing profiles renamed in place.
Bug 2 — __version__ was 0.1.0
linkedin_mcp/__init__.pysaid0.1.0despite being on v0.4.1- Anyone running
python -c "import linkedin_mcp; print(linkedin_mcp.__version__)"got a confusing answer
Fix: Both pyproject.toml and __init__.py now report 0.4.2.
Bug 3 — Proxy was hardcoded
linkedin_mcp/browser/client.pyhadsocks5://127.0.0.1:1080hardcoded- No way to use a residential proxy or different port without editing source
Fix: Reads LINKEDIN_MCP_PROXY (same env var the standalone scripts use) with fallback to the hardcoded default. Documented in .env.example.
Docs refresh
.env.example— addedLINKEDIN_MCP_PROFILE_DIR+LINKEDIN_MCP_PROXYwith examplesexamples/mcp_client_config.json— rewritten as a fully-commented templateUSAGE.md— was still v0.3-era, now has v0.4 4-mode table + decision treeCHANGELOG.md— v0.4.2 entry
Verified end-to-end
- 179/179 tests pass
post_with_stealth.py --check✓use_profile_session.py --check✓linkedin-mcp-health✓ (detects profile + DB + quotas)linkedin_mcp.__version__=0.4.2✓
Upgrade from v0.4.1
Nothing required. The filename change is handled automatically (existing state.json files are accepted too).
Full release notes: CHANGELOG.md