Releases: embeddingvc/ebase
Releases · embeddingvc/ebase
Release list
v1.0.0.12
First tagged release since v1.0.0.1 — this bundles everything from 1.0.0.2 through 1.0.0.12 (77 commits). Highlights: on-demand Chrome, safer message/connection delivery, an outreach stats tool, and system health checks across the skills.
Highlights
- On-demand Chrome — the browser now boots on demand when a LinkedIn tool needs it and persists its session on disk, so no always-on service is required. It resolves Playwright's bundled Chromium (Chrome for Testing) first for reliable CDP multi-context support.
- Safer message delivery —
send_messageverifies the recipient by header name and resolved profile URL before sending (aborting on a mismatch), and falls back to composing a brand-new message for connections with no existing thread. - Outreach stats — new
get_outreach_statsMCP tool and/statsskill report connections sent/accepted, messages sent, and replies over a time window. - System health checks — cron + browser health probes surface at skill start across the user-invokable skills, alongside the version/upgrade check.
- Upgrade tooling —
bin/outreach-upgrade,bin/browser-service, andbin/cron-servicefor in-place upgrades and service management.
[1.0.0.12] - 2026-07-07
Changed
make statusno longer prints the Chrome CDP "auto-start not registered" hint — Chrome boots on demand now. Theauto-startline still shows when a launchd/systemd service is registered.
[1.0.0.11] - 2026-07-07
Added
reply-to-post,stats, andsync-planner-persona-from-linkedinskills now run the inlinebin/outreach-update-checksystem check (service health + version) at skill start, matchingsetup-outreachandsend-connection-request.
[1.0.0.10] - 2026-07-07
Changed
- Chrome boots on demand: LinkedIn tool calls ping the CDP endpoint before attaching and launch it via
bin/browser-service startif it's down. Session cookies persist in the Chrome profile, so launchd/systemd no longer need to keep Chrome alive. cron.system_statusno longer warns when Chrome's CDP endpoint is unreachable — that's now the steady state — and drops the stale "reinstall the always-on service" restart hint.
[1.0.0.9] - 2026-07-05
Fixed
send_messageno longer fails to message a connection with no existing thread — falls back to the "Compose a new message" typeahead, matching the recipient by name.- Header/profile-URL verification now handles the new-conversation draft state (
.../messaging/thread/new/) correctly via the conversation's profile card. - Added
testing/tools/send_message.py, a manual live tool for sending a real DM.
[1.0.0.8] - 2026-07-05
Fixed
send_message's thread-search fallback now prefers a result matching profile hints (name/header) over blindly taking the first visible row.- After opening a thread, the header name and thread profile link are checked against the target — either mismatch aborts the send instead of silently messaging the wrong person.
- Added
testing/tools/check_thread_match.pyand expandedtest_send_message_thread_match.py.
[1.0.0.7] - 2026-07-05
Fixed
LinkedInBrowser._attachreconnects when the managed Chrome has zero open tabs — wraps the firstconnect_over_cdpand falls back to opening a blank tab via the CDP HTTP endpoint before retrying.bin/browser-serviceprefers Playwright's bundled Chromium over system Chrome/Chromium.install.shno longer overwrites an already-configuredoutreach/config/persona.jsonon reinstall.bin/outreach-upgradeletsresolve_chromepick Playwright's Chromium first.
Upgrade note
- After upgrading, run
bin/browser-service installto relaunch under Playwright's Chromium. This reuses the same profile dir but drops the existing LinkedIn session — you'll need to log in again (or run/setup-outreach).
[1.0.0.6] - 2026-07-04
Added
cron.system_status.check_services()— probes cron + browser health.bin/outreach-update-checknow probes cron/browser health and printsSERVICE_DOWNlines; skills surface these at start (non-blocking, no email).
Changed
- MCP server's startup thread
_run_upgrade_check→_run_system_check; runs version + service health checks together.
[1.0.0.5] - 2026-07-04
Fixed
bin/outreach-upgradeno longer crashes on macOS's stock bash 3.2 (local_allow[@]: unbound variable).
[1.0.0.4] - 2026-07-04
Added
get_outreach_statsMCP tool — reports outreach activity counts over a time window./statsskill for querying outreach stats from Claude.
[1.0.0.3] - 2026-06-26
Fixed
- Auth check navigates to the LinkedIn feed before inspecting the URL (replaces the unreliable
li_atcookie heuristic). - Clearer auth/connection error messages in
browser.py. - Profile action-row selector updated from legacy
artdeco-dropdownto SDUIaria-label='More'. - Connection sync sweep uses
is_connection_acceptedinstead ofis_first_degree_connection.
[1.0.0.2] - 2026-06-25
Added
bin/cron-service,bin/browser-service(withjson-status), andbin/outreach-upgrade.cron/status_report.pyandcron/system_status.py; MCPget_cron_statustool.- Connection-request send verification (
_verify_connection_request_sent) with tests.
Changed
- Removed the worker queue — job dispatch is handled directly by the cron scheduler.
conversation_planner.json→.exampleto avoid committing live operator config.install.shoverhauled to register/start the new systemd service units.
Fixed
- Graceful cron stop before reinstall; restored port-conflict guard; locale-safe
json-status; quoted systemd paths; various async/robustness fixes.
v1.0.0.1
Added
- Security policy (SECURITY.md) with vulnerability reporting instructions and scope
Changed
- pyproject.toml now includes full package metadata: description, readme, license, keywords, classifiers, and project URLs