Skip to content

v0.4.2 — Critical fixes for new users

Choose a tag to compare

@horizonbymuneeb horizonbymuneeb released this 18 Jun 15:32

🔧 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.py was writing state.json
  • linkedin_mcp.browser.auth.has_valid_session() was looking for storage_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__.py said 0.1.0 despite 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.py had socks5://127.0.0.1:1080 hardcoded
  • 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 — added LINKEDIN_MCP_PROFILE_DIR + LINKEDIN_MCP_PROXY with examples
  • examples/mcp_client_config.json — rewritten as a fully-commented template
  • USAGE.md — was still v0.3-era, now has v0.4 4-mode table + decision tree
  • CHANGELOG.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