Changelog
Rebuilt from the releases on GitHub at every deploy. RSS feed · All releases on GitHub
Every release of the HeyLead client, newest first, with one address per release. The hosted service deploys on every merge and carries no version of its own; the client's version is the one your agent reports in heylead://capabilities.
- Fix: a job-search ICP never targets the role the user wants; the title goes to every persona's exclude list (#1338)
- Fix: 'unsafe for your account' is not a safe claim
- Fix: a job-search ICP never targets the role the sender wants (#1338)
- New: the warning pattern fails the warning, not the pace sentence
- New: the session waits for the claim ack in the foreground; the tool's footer is expected
- Fix: a chat the seat can never reach ends the reply instead of being retried or read as success
- mark the backlog rows that are live
- plan index and the umbrella outcome #1294
- slice 4 plan, the case loop's progress as stages
- slice 3 plan, the dashboard widget
- slice 2 plan, the evaluator, the user_idea case and questions
- Fix: an archived campaign's replies leave the local list; handoffs and paused stay
- slice 1 plan, intake, store, routes and caps
- the idea widget design
- Fix: logs on a hosted workspace read the cloud's event log
- Fix: the release commit regenerates and stages the tool reference
Release on GitHub · PyPI
- Fix: the follow-up step lists only the follow-ups the cap lets fire
- New: the model is told not to call the pace safe or unsafe
- Fix: Pro no longer claims a five-account cap the product does not have
Release on GitHub · PyPI
- New: a campaign carries its goal: create_campaign, edit_campaign, generate_icp and icp(goal_match) take goal= (sell, job_search, hire, partner, buy, research); the ICP and the fit check follow it, and every listing names the six goals (#1153).
- New: a session without an api token records its receipts as issue comments
- Fix: the api's default base is the Cloud Run host
- Fix: its comments name no deploy that does not exist, and a bypass skips only the queue
- New: accept and reply steps quote the founder cohort; launch names the first-week checkpoint
- guard(goal): fail an ICP or fit call without goal=; incident note; changelog (#1153)
- Fix: the plan's warning check loads the guard by path; the tool reference names the plan action
- New: the skill works where gh is not installed
- one use-case source names the six goals in every listing (#1153)
- Fix: observe mode does not let you answer by hand
- New: the backend client sends goal and goal_key (#1153)
- New: create_campaign, edit_campaign, generate_icp and icp take goal (#1153)
- wip(plan): campaign plan twin, plan in create/launch, monitor read-only, inspect waiting
- New: local ICP and fit prompts follow the goal; sell unchanged (#1153)
- name the push by its function, not its path
- New: the goal table, twin of the api's; research is an intent (#1153)
- New: the report and profile viewers name people as links too
- New: every found person is a link with a reason
- implementation plans for the campaign goal, one per repo (#1153)
- Fix: keep setup_profile in the visible head of the instructions
- design for a campaign that carries its goal from the first field
- New: export the tool reference the site's docs render
- the dashboard's main is protected by its own ruleset, not github_protection.py
- every agent document states the pace as a feature
- New: the instructions state the pace and how to talk about it
- New: the queue serves heylead-dashboard; a blocked-main alert names its repository
- pace is a feature (Outcome 1)
- Fix: a timeout is proven by an event, not a stopwatch (client twin)
- what happens after launch — design for the new-user frictions of 24 Sep
- Fix: clawhub keeps its tool count next to the definition sentence
- New: every listing carries the facts from one module
- Fix: a stamp is checked between two clock readings (client twin)
Release on GitHub · PyPI
- Fix: the client's size cap skips docs/, as the api's does
- Fix: the orchestrator reads the api from origin/main and hands roles the excerpts
- the curl line on one line; a second exit 2 is owed
- Fix: the skill names both repos' merge paths, keeps evidence links through the privacy gate, and handles every case_api exit code
- New: a PR that names a case carries its Case section
- New: the skill: evidence, JTBD, result, three rounds, prototype, then the fixing rules
- Fix: the deliverable fence is four backticks so inner fences survive; id role token; Dissent re-sends result
- Fix: roles answer in one parseable JSON block plus a deliverable; question ids; privacy sentence asserted verbatim
- New: four read-only roles that argue in the AskUserQuestion shape
- Fix: fold in review — network errors, non-JSON bodies, optional httpx
- New: the one script that reads, claims, moves and receipts a case
- case loop, four slices: board, skill and roles, cloud trigger, outcome read-back
- case loop design: one board, a ✅ trigger, four roles, prototype before code
- New: a park alert names the PR's branch, so its owner is known
- Fix: stamp the head and the merge commit with the merge-queue status (api twin)
- Fix: the mirror job exports the tag's tree with main's tooling
- Fix: a pending handoff keeps its reason after the prospect writes again
- New: the mirror job pushes over a deploy key; the public repo releases itself
Release on GitHub · PyPI
- New: the polish pass reads back warm-up comments and inbound DMs
- New: the public repository follows every release on its own
- New: one open PR per product outcome, enforced by outcome_gate
- New: post parked PRs and merges that bypassed the queue to Slack
- Fix: who sent a message is is_sender first, our id only as a fallback
- Fix: hold only a live campaign, and only on campaign-level evidence
- the skipped-run fix is verified in production; the shape came from #461
- Fix: a skipped run cannot take the waiting slot; the group sits on the job
- Fix: signal_sent_at lives in timeutil, so async code may call it
- Fix: a signal keeps the send time, and its message is stored at it
- Fix: re-run cancelled CI at the run's path, with the token that may
- Fix: comment mining records the date of the post a comment sits under
Release on GitHub · PyPI
22 tools by default, 47 with HEYLEAD_TOOLS=all. Reads and writes are separate tools. Mirrors heylead 0.10.389 on PyPI.
Release on GitHub · PyPI
Matches heylead==0.10.386 on PyPI. check_replies now says what it records and that it never sends; edit_campaign says empty fields keep their value and that it edits settings only.
Release on GitHub · PyPI
Matches heylead==0.10.383 on PyPI. The inbox tool no longer claims to be read-only while replying and approving a drafted reply send a LinkedIn message.
Release on GitHub · PyPI
Matches heylead==0.10.382 on PyPI. The edit_campaign description now says the default sending window (weekdays 08:00-22:00) is in your own timezone, and London only when your timezone is unknown.
Release on GitHub · PyPI
Pricing in the docs matches what Stripe charges ($29 per connected LinkedIn account); the docs no longer advertise voice memos. Same code as heylead 0.10.381 on PyPI.
Release on GitHub · PyPI
Matches heylead==0.10.380 on PyPI. Install with uvx heylead. Business hours are on by default (weekdays 08:00-22:00 in your own timezone), and a declined reply now gets a short polite close instead of an opt-out.
Release on GitHub · PyPI
Matches heylead==0.10.377 on PyPI. Install with uvx heylead. Adds a Dockerfile that runs the server over stdio.
Release on GitHub · PyPI