Skip to content

Releases

c6ce59e

Choose a tag to compare

@github-actions github-actions released this 13 Nov 13:30

What's Changed

  • chore(deps): update Composer dependencies by @Korbeil in #17
  • refactor: remove duplicated tracker, permission, number and path helpers by @Korbeil in #18
  • feat(poller): park tasks whose PR was closed in a new closed state by @Korbeil in #19
  • docs(config): mark sync/poll/review/ci keys as required, not defaulted by @Korbeil in #20
  • fix(store): check record writes and skip unreadable records by @Korbeil in #21
  • fix(gh): read every review and thread, not the oldest 100 by @Korbeil in #22
  • fix: name /pablo-commit-and-pr in user-facing messages by @Korbeil in #24
  • fix(linear): bound every linear CLI call with a 30 s timeout by @Korbeil in #25
  • chore(castor): let .php-cs-fixer.php alone list the fixed paths by @Korbeil in #26
  • fix(web): only answer dashboard requests for trusted hosts (loopback + dashboard_trusted_hosts) by @Korbeil in #23
  • fix(agents): detach background runs without setsid on macOS by @Korbeil in #27
  • fix(sync): isolate per-worktree failures and skip closed tasks by @Korbeil in #28
  • fix(git): give git calls explicit timeouts and surface them as PabloError by @Korbeil in #29
  • fix(startup-script): watch the script to completion and run it from the worktree by @Korbeil in #31
  • ci: harden the CI workflow and test the lowest supported PHP by @Korbeil in #32
  • chore(composer): declare the PHP extensions the code uses by @Korbeil in #35
  • docs(readme): add screenshot, safety summary, full requirements and links by @Korbeil in #36
  • refactor(paths): resolve HOME and ~ expansion only through PabloPaths by @Korbeil in #37
  • feat(sync): add --dry-run to sync:run and sync:main by @Korbeil in #38
  • refactor(di): require process runners and usage harvesters in constructors by @Korbeil in #45
  • feat(update): keep the replaced binary and add pablo update --rollback by @Korbeil in #46
  • feat(cli): target any task by branch and filter task:list by @Korbeil in #49
  • feat(review): count whitelisted bot reviews through their unresolved threads by @Korbeil in #57
  • feat(analytics): run breakdowns, task history and per-model views in the CLI and on /analytics by @Korbeil in #50
  • docs(site): make the safety claims exact by @Korbeil in #30
  • fix(config): skip an invalid project file instead of failing every project by @Korbeil in #33
  • feat(dispatch): record dispatcher health, back off failing jobs by @Korbeil in #55
  • test: stop the suite waiting out sleeps and reaching a real launcher by @Korbeil in #42
  • fix(sync): leave an unpushed local rewrite alone by @Korbeil in #34
  • fix(install): compute the services' PATH at install time by @Korbeil in #40
  • feat(cli): add --format=table|json to the read commands by @Korbeil in #43
  • docs(agents): refresh AGENTS.md against the current code by @Korbeil in #52
  • fix(gh): don't count cancelled or superseded check runs as CI failures by @Korbeil in #58
  • docs: gather runtimes and ADEs on one page, split update out of installation by @Korbeil in #47
  • docs: one name for the agent environment (ADE), and a glossary by @Korbeil in #44
  • docs: tighten wording, use real relaunch numbers, unify terms by @Korbeil in #41
  • feat(sync): keep a per-project sync history by @Korbeil in #51
  • feat(hooks): run the user's own command on transitions and finished agents by @Korbeil in #54
  • feat(prune): add system:prune, run daily at 03:00 by its own timer by @Korbeil in #48
  • docs: fix small mismatches between the docs and the code by @Korbeil in #39
  • feat(cli): complete task branches, projects and states, install the completion by @Korbeil in #53
  • test: boot every test kernel in debug so a stale container is rebuilt by @Korbeil in #62
  • refactor(listing): split the task listing into gather and render steps by @Korbeil in #63
  • feat(config): validate config keys and values, add system:config:validate by @Korbeil in #64
  • site: fix accessibility gaps, self-host fonts, add sitemap and canonicals by @Korbeil in #61
  • docs(quickstart): show real output after each step, add a model step by @Korbeil in #60
  • refactor(json): decode JSON through a checked Json helper by @Korbeil in #59
  • refactor(errors): checked Files helpers instead of bare @ file calls by @Korbeil in #65
  • refactor(config): group ProjectConfig into per-section value objects by @Korbeil in #66
  • refactor(config): make ConfigSchema the only validator by @Korbeil in #68
  • fix(prune): check pid liveness without requiring ext-posix by @Korbeil in #67
  • refactor(storage): share one file lock, atomic write and stamp writer by @Korbeil in #69
  • refactor(runtime): share agent translation, freshness and usage window helpers by @Korbeil in #71
  • fix(sync): push task branches to their own remote in a fork setup by @Korbeil in #72
  • refactor: delete code with no production caller by @Korbeil in #70
  • refactor(doctor): one probe map, shared registry and ADE bases by @Korbeil in #77
  • refactor(state-machine): one launch table and a single launch() by @Korbeil in #74
  • refactor(agents): drop the watcher's unused --then/--expect-state options by @Korbeil in #73
  • test: build the fake graph in one place and make temp dirs collision-proof by @Korbeil in #75
  • refactor(opencode): assign session ids up front instead of looking them up by @Korbeil in #78
  • refactor(di): inject the ADE/runtime registries and Hooks by @Korbeil in #83
  • refactor(gh): one reviewVerdict() call and a shared gh pr list helper by @Korbeil in #79
  • refactor(cli): share the analytics loading, project selection and output helpers by @Korbeil in #81
  • refactor(agents): derive launcher session queries and slim constructors by @Korbeil in #80
  • refactor(cli): inject only what each command uses by @Korbeil in #82

Full Changelog: c5abd3c...c6ce59e

171a914

Choose a tag to compare

@github-actions github-actions released this 13 Nov 22:11

What's Changed

  • test: remove every TempDir path when the test process exits by @Korbeil in #84
  • perf(dispatch): poll projects concurrently, bounded and rate-limit aware by @Korbeil in #85
  • perf(poller): fewer gh/git subprocesses per poll (dedupe + one GraphQL query per repo) by @Korbeil in #89
  • test: run the suite in parallel with paratest by @Korbeil in #88
  • perf(cli): load commands lazily by @Korbeil in #87
  • perf(tests): build git fixtures once per process, copy them per test by @Korbeil in #90
  • perf(dispatch): skip the CLI preflight on ticks with nothing due by @Korbeil in #86

Full Changelog: c6ce59e...171a914

e01bd19

Choose a tag to compare

@github-actions github-actions released this 09 Nov 09:36

What's Changed

  • feat(claude-code): run headless agents as Remote Control sessions by @Korbeil in #15

Full Changelog: f1e9efe...e01bd19

c5abd3c

Choose a tag to compare

@github-actions github-actions released this 09 Nov 15:46

What's Changed

  • fix(ade): make OpenCode agents reach Orca and OpenChamber by @Korbeil in #16

Full Changelog: e01bd19...c5abd3c

f1e9efe

Choose a tag to compare

@github-actions github-actions released this 08 Nov 17:21

What's Changed

  • fix(ci): make phpstan and tests green on GitHub Actions by @Korbeil in #2
  • fix(store): flatten slashes in branch names to state filenames by @Korbeil in #3
  • feat(state-machine): approved state + testing.enabled to disable the QA flow by @Korbeil in #4
  • feat(agents): per-project-type agent model resolution by @Korbeil in #5
  • chore(deps): update dependencies and CI actions by @Korbeil in #6
  • feat(site): add GitHub Pages website and new logo by @Korbeil in #7
  • feat(agents): run the agents with Claude Code (agent_runtime: claude-code) by @Korbeil in #8
  • feat(agents): run the agents with GitHub Copilot CLI (agent_runtime: copilot) by @Korbeil in #9
  • feat(install): interactive curl | bash installer at getpablo.dev/installer by @Korbeil in #10
  • feat: distribute PABLO as a standalone binary by @Korbeil in #11
  • refactor(runtime): confine runtime-specific code to src/Agents/Runtime// by @Korbeil in #13
  • refactor(ade): confine ADE-specific code to src/Agents/Ade//, headless as its own ADE by @Korbeil in #14

Full Changelog: https://github.com/Korbeil/pablo/commits/f1e9efe