Skip to content

Releases: underworld14/pine

Pine 0.8.2

Choose a tag to compare

@underworld14 underworld14 released this 29 Aug 15:31

What's new

Same features as 0.8.0, with a coverage/toolchain fix so GitHub Release binaries actually publish.

Highlights

  • pine upgrade — self-update from GitHub Releases (--check, --force)
  • Ticket phase field (CLI / API / web types)
  • pine ready as epic → children tree; pine list --flat removed

Note: v0.8.0 and v0.8.1 tags exist but their release jobs failed the coverage gate (no assets). Prefer v0.8.2.

Install

pine upgrade
# or download an archive from Assets below

Pine 0.8.1

Choose a tag to compare

@underworld14 underworld14 released this 29 Aug 14:16

What's new

Same as v0.8.0, with coverage tests so GitHub Release assets publish successfully.

Highlights

  • pine upgrade — self-update from GitHub Releases
  • Ticket phase field (CLI / API / web types)
  • pine ready as epic → children tree; pine list --flat removed

Note: v0.8.0 was tagged but its CI release job failed the coverage gate (no binaries attached). Use v0.8.1 assets (or pine upgrade once this release finishes building).

Install

pine upgrade

Pine 0.8.0

Choose a tag to compare

@underworld14 underworld14 released this 29 Aug 14:07

What's new

pine upgrade

Update the installed binary from the latest GitHub Release:

  • pine upgrade — download, verify checksums, replace in place
  • pine upgrade --check — compare current vs latest (exit 1 if update available)
  • pine upgrade --force — reinstall latest even when versions match

Optional GITHUB_TOKEN / GH_TOKEN raises API rate limits. A go install build is upgraded to the official release archive (full embedded UI).

Ticket phase

Optional rollout phase on tickets (p0, p1, …):

  • pine create --phase … / pine update --phase … (none clears)
  • pine list --phase …
  • Exposed in API / web ticket types

List & ready UX

  • pine ready prints an epic → children tree (parent epics shown as context headers)
  • pine list --flat removed; tree is the only text layout

Install

Download the archive for your OS/arch from the assets below, or after this release is published:

pine upgrade

Pine 0.7.1

Choose a tag to compare

@github-actions github-actions released this 06 Aug 04:50

Pine 0.7.1 — epic relations UI, peek edit parity, tree list, and clearer priorities

A UX-focused release: epic child graphs no longer clip, ticket relations are interactive, the right-hand peek sheet can edit nearly like the full page, pine list defaults to a Beads-style tree, and priority controls use readable labels instead of mystery glyphs.

Highlights

  • Epic relations — neighborhood graph wraps children without clipping; parent epic gets breathing room under the meta bar. A full relations panel lists Epic / Blocked by / Blocks / Children / Related; +N more jumps to the matching section. Click a node or row to open a right peek sheet. Epics get + Add child (create modal with parent set). # Child Tickets removed from epic templates (children live in the panel).
  • Peek edit parity — title, markdown body (preview/edit, autosave + ⌘S), labels, status, priority, and attachments. Dirty body flushes on close, backdrop dismiss, Open full page, Escape, and peek-target switch so edits aren’t lost.
  • pine list tree — default is epic → children (Beads-style icons + blocker annotations). Use --flat for the classic table.
  • Priority labels — shared PrioritySeg: Low / Med / High / Crit with color, no slow glyph tooltips. Used on ticket detail, peeks, create modal, and board filters.
  • Graph page — force-layout GraphView (drag, hover focus) for /graph.

Fixes & polish

  • Peek Escape / window shortcuts gated so focus doesn’t escape under the sheet; flush-on-close for dirty bodies.
  • Memory +N more is non-interactive (Related lists ticket links only).
  • Go coverage gate held at ≥90%.

Commits since v0.7.0

  • 21c8c35 feat: epic relations UI, peek edit parity, tree list, and priority labels

Full changelog: v0.7.0...v0.7.1

Pine 0.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 09:32

Pine 0.7.0 — second-brain graph, multi-repo serve, and work-evidence closes

A second-brain release: typed graph links turn Pine into a knowledge graph, pine serve now spans all your repos, and pine close --evidence closes tickets with a durable record of what changed.

Highlights

  • Knowledge graph — typed links connect tickets, memory topics, and learnings with computed backlinks. A unified graph powers a new /graph page (radial layout, type filters, zoom/pan) and the ticket neighborhood view.
  • Multi-repo servepine init auto-registers each repo in ~/.pine/repos.json; pine serve auto-discovers them all, with per-repo routing (/api/r/{alias}/…), repo-tagged live-sync, and a dashboard repo switcher. --only keeps it to one repo.
  • Agent workflowpine close <ID> --evidence marks a ticket done and appends a "## Work Evidence" section (commits + a git diff --stat from the ticket's creation). The plan→create / done→close-evidence flow is installed by pine init's agent wizard.

New features

Graph links & second-brain

  • links frontmatter on tickets and memory topics (refs: ticket, LRN-*, memory/<slug>, MEMORY).
  • New internal/links package: ref parsing, unified graph (deps/parent/links), computed backlinks, dangling detection.
  • /api/graph + dedicated /graph route with GraphView (custom radial-by-type SVG layout, zoom/pan, type filters).
  • Ticket neighborhood now renders memory link nodes.
  • pine doctor flags and auto-fixes dangling ticket/topic/learning links.

Multi-repo serve

  • pine init auto-registers the repo in ~/.pine/repos.json (new --alias flag; collision hint on conflict).
  • pine serve auto-discovers all registered repos via a StoreRegistry; --only restricts to the cwd repo and is read-only on the registry.
  • Per-repo routing: /api/repos, /api/r/{alias}/…, repo-tagged SSE.
  • All alias-routed mutations/reads/attachments hit the alias store; SSE tagged with the request alias.
  • SetActiveRepo is race-free vs pollers (storeMu/gitMu/crossMu/searchMu); go test -race green.
  • Per-repo git poller emits git.updated per repo; the web UI caches git per repo for instant switching.
  • Web RepoSwitcher (shown when more than one repo is registered); serve banner marks the active repo.

Agent workflow

  • pine close <ID> --evidence appends a "## Work Evidence" section (commits referencing/touching the ticket + a git diff --stat from the commit at its creation time to the working tree); re-running replaces the section.
  • New gitx.CommitBefore / gitx.DiffStat primitives.
  • pine init's agent wizard installs the plan→create / done→close-evidence skill into CLAUDE.md, AGENTS.md, GEMINI.md, and the Cursor skill. No separate pine inject command.

Performance & correctness

  • store.LinksGraph() is cached on the Store with a generation counter (stale-after-invalidation race fixed); invalidated on every ticket/learning/config/memory change; built outside the cache lock to avoid a lock-ordering inversion.
  • New watch.KindMemory invalidates the graph cache on memory/MEMORY.md edits so a long-running serve stays coherent.

Tests

  • New tests for links, the workspace registry, the per-repo git poller, alias-routed attachments (upload + delete), concurrent SetActiveRepo, close --evidence, and graph-cache invalidation (incl. a -race stress test).
  • Coverage held at ≥90%.

Commits since v0.6.4

  • c272642 feat(web): Trello-smooth board with persisted card order
  • 034f641 feat: typed graph links, multi-repo serve, and close --evidence agent workflow

Full changelog: v0.6.4...v0.7.0

Pine 0.6.4

Choose a tag to compare

@github-actions github-actions released this 14 Jul 16:51

Changelog

  • 778826a fix(web): make conflict Reload fetch fresh ticket body

Pine 0.6.3

Choose a tag to compare

@github-actions github-actions released this 14 Jul 16:50

Changelog

  • 1770c31 fix(web): assert conflict Reload via textarea value in e2e

Pine 0.6.2

Choose a tag to compare

@github-actions github-actions released this 14 Jul 16:48

Changelog

  • bbb33b9 fix(web): stop conflict Reload racing with click-outside autosave

Pine 0.6.1

Choose a tag to compare

@github-actions github-actions released this 14 Jul 16:42

Changelog

  • 1220dad fix(web): gate svelte-check in CI and harden FE a11y/e2e

Pine 0.6.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 14:47

Changelog

  • fc482ae feat(memory): global ~/.pine store as cross-harness developer memory
  • 95a3505 fix(memory): stop ~/.pine masquerading as a project store, plus 5 review fixes