Skip to content

Releases: SchneiderDaniel/cheasee-pi

v0.53

Choose a tag to compare

@github-actions github-actions released this 17 Aug 20:28
f1b7b5c

Changelog

  • f1b7b5c Merge pull request #1575 from SchneiderDaniel/release/v0.53
  • 390a054 chore: bump version to v0.53
  • 4953fac Merge pull request #1574 from SchneiderDaniel/fix/cli-init-stops-before-start
  • 8de3091 fix(cli): init never launches pi; start stops after init
  • dd303c3 Update qna.jsonl
  • e32c275 Merge pull request #1573 from SchneiderDaniel/fix/init-attach-default-branch-gh-auth
  • 36c627c fix: feed auth.json GitHub token to gh so private skill repos clone
  • bb2bac3 fix: attach init worktree to the repo's default branch
  • 82d6b35 Update qna.jsonl
  • 939f42f Merge pull request #1572 from SchneiderDaniel/fix/clean-orphan-scan-bashless
  • 6550451 fix(clean): skip orphan scan on containers without bash
  • d5f2d0b Merge pull request #1570 from SchneiderDaniel/test/skill-repos-multi-add
  • bce005c test: interactive init records multiple skill repos

v0.52

Choose a tag to compare

@github-actions github-actions released this 17 Aug 18:47
5053b0d

Changelog

  • 5053b0d Merge pull request #1571 from SchneiderDaniel/release/v0.52
  • 7ac5f9e chore: bump version to v0.52
  • 7d544a7 Update init_usecase_test.go
  • d69b9c2 Update README.md
  • 5f5140c Merge pull request #1569 from SchneiderDaniel/fix/default-model-reaches-pi
  • 43ff966 cli fixes
  • 5fca820 fix: write default model to .pi/settings.json so pi sees it
  • 4b92c83 new worktree setu
  • 92b0426 some text

v0.51

Choose a tag to compare

@github-actions github-actions released this 14 Aug 19:56
10fed3f

Release v0.51

Release v0.51 — incremental update from v0.50 with 36 merged PRs.

What's Changed

🐛 Bug Fixes

  • #1565: fix(install): use --version flag, cobra has no version subcommand
  • #1564: fix(uninstall): sudo hint uses full binary path, docs warn against sudo
  • #1561: fix(docker): guard workspace npm install on .package-lock.json, not node_modules dir
  • #1554: feat(#1517): [Bug] Cheasee-pi operating instructions live in project-scoped AGENTS.md and are absent in non-cheasee-pi repos
  • #1553: feat(#1529): [Bug] web_crawl stealth tier fails: Chromium missing in /opt/playwright-browsers (patchright revision 1228 never installed)
  • #1552: fix(web_crawl): patchright chromium install, worktree venv symlinks, scrapling e2e tests
  • #1551: feat(#1495): [Bug] PR overview table documents only one run when agent is retried (developer ran twice in #1494)
  • #1520: fix(clean): reap detached docker exec pi sessions by age + marker
  • #1518: fix(supervisor): fall back to tmpdir when worktree base is not writable
  • #1515: fix(structural-search): honor directory param in ast-grep search
  • #1514: fix(supervisor): truthful worktree-creation failure — fixes 'Worktree missing' cascade and rtk false warning
  • #1512: fix(supervisor): crash when supervisor config missing
  • #1511: fixes

🔧 Code Quality & Architecture

  • #1563: feat(#1538): CLEAN: delete what-comments on git fetch/reset
  • #1562: feat(#1537): CLEAN: delete what-comment 'Add last row if non-empty'
  • #1560: feat(#1532): CLEAN: split dependency-existence-check.py (1488 lines)
  • #1559: feat(#1535): CLEAN: split output.ts, four 100+ line functions
  • #1558: feat(#1533): CLEAN: split agent-loop.ts, shrink runAgentLoop
  • #1557: feat(#1536): CLEAN: delete what-comment on fetchFreshIssueData
  • #1556: feat(#1534): CLEAN: split ensurePrReadyForDone (223 lines)

📚 Documentation

  • #1555: feat(#1525): Docs: Add dedicated CLI reference page

✨ Features & Enhancements

  • #1550: feat(#1509): [Feature] Add rebuild command: full image rebuild without cache plus prune
  • #1549: feat(#1526): [Feature] Per-issue supervisor run lock: restore parallel pipelines on different issues
  • #1530: feat(#1510): [Feature] Standalone uninstall script alongside install.sh
  • #1528: feat(#1507): [Feature] Ask for custom skill repositories during init and install via pi's git package mechanism
  • #1524: feat(#1503): [Feature] Per-repository container identity with parallel coexistence
  • #1523: feat(#1505): [Feature] init on an initialized workspace redoes git and pi authentications
  • #1522: feat(#1506): [Feature] Scaffold workspace settings with all defaults incl. repo URL and pre-create .pi folder skeleton
  • #1521: feat(#1504): [Feature] One-shot first run: init, build and start pi in a single invocation
  • #1516: feat(#1503): Per-repository container identity with parallel coexistence
  • #1502: feat(#1499): [Feature] Run cheasee-pi from empty folder: auto-init with worktree setup and dedicated cheasee-settings.json
  • #1501: feat(#1497): [Feature] Fix resource duplication when running cheasee-pi on itself (dogfooding)
  • #1500: feat(#1496): Remove generated repo-root docker/ tree and sync machinery after #1493
  • #1498: feat(#1493): [Feature] Run cheasee-pi from user's own git repository; bake cheasee-pi repo into pi installation
  • #1494: feat(#1492): Remove all git submodules — cheasee-pi becomes single normal repo

Full Changelog: v0.50...v0.51

v0.50

Choose a tag to compare

@github-actions github-actions released this 08 Aug 20:18

Release v0.50

Release v0.50 — incremental update from v0.4 with 44 merged PRs.

What's Changed

🐛 Bug Fixes

  • #1481: feat(#1472): [Bug] PR creation failure on rebase conflict is swallowed — issue closed COMPLETED with no PR
  • #1440: feat(#1438): [Bug] PR creation fails with misleading 'Rebase failed (no conflict files detected)' when untracked file collides with tracked path on main
  • #1436: feat(#1432): [Bug] docker-convenience-scripts: 'docker not found' subtests fail on hosts with docker in /usr/bin
  • #1435: feat(#1433): [Bug] ranked-map-removed Phase 5 references deleted prompt file operations:architecture-review.md
  • #1431: fix(#1430): restore missing stages/core.ts and harden extension CI
  • #1428: feat(#1421): [Bug] resolveSkillPaths ignores settings.json skill roots — subagent dies on private-pi skill in worktree

🔗 Dependencies

  • #1480: feat(#1470): [Feature] CI check for GitHub security features (Dependabot, code scanning, secret scanning, malware)
  • #1475: fix(deps): resolve dependabot alerts for undici and brace-expansion

🔧 Code Quality & Architecture

  • #1466: feat(#1454): Remove 2 unused functions (getCommandName, stripThinkingPrefix) — dead code in piignore + supervisor extensions
  • #1452: feat(#1403): Reinvention: session-logger — manual JSONL parsing reimplements pi.parseSessionEntries (+ misses legacy-session migration)
  • #1451: feat(#1404): Dead Code: worktree-sandbox - Unused findSuspiciousArg export
  • #1450: feat(#1400): ICA: Scattered .pi/settings.json parsing — no canonical Settings module
  • #1449: feat(#1401): ICA: Submodule type reinvents go-git config.Submodule
  • #1448: feat(#1399): Duplicate Code: lsp-auditor — formatPlainText reimplements formatDiagnostics from formatting.ts
  • #1447: feat(#1402): Dead Code: caveman - Unused CAVEMAN_BASE_PONYTAIL constant
  • #1443: feat(#1406): Dead Code: lib - Unused isBashSearchOrRead export
  • #1437: ICA(#1415): buildEnvFlags reinvents map[string]string — flat -e slice + re-parse + duplicate allKnownEnvVars
  • #1434: feat(#1414): Dead Code: ask-user - Unused types ToolResultDetailsQna, QnaToolResult, LabelValuePair
  • #1422: feat(#1393): Dead Code: tsc-checkpoint - Dead onDiagnosticsChange method
  • #1420: feat(#1389): ICA: Local-substitutable CLI/file ports — four single-impl exec/file seams
  • #1419: feat(#1388): ICA: In-process ports — seven single-impl interfaces wrapping stdlib
  • #1418: feat(#1390): Duplicate Code: context-info — FooterConfig object literal repeated 21× in test files
  • #1417: feat(#1392): Dead Code: tsc-checkpoint - Unused TscWatchOptions interface
  • #1416: feat(#1391): Dead Code: tsc-checkpoint - Unused parseArgs import

📚 Documentation

  • #1477: docs: add community standards (CoC, contributing guide, PR template)

✨ Features & Enhancements

  • #1483: feat(#1473): [Feature] Rebase worktree onto latest main before Implementation stage
  • #1482: feat(#1476): [Feature] CI dependency-existence check against slopsquatting (all major languages)
  • #1478: fix: close code-scanning alerts in codeflow server.py
  • #1471: feat(#1455): Deduplicate copy-pasted test scaffolding in cmd/cheasee-pi
  • #1469: feat(#1465): Consolidate duplicated docker trees (docker/ vs cmd/cheasee-pi/embedded/docker)
  • #1468: feat(#1456): [Security] Hardcoded credential literals in cmd/cheasee-pi test files
  • #1467: feat(#1457): [Architecture] Split oversized cmd/cheasee-pi files, break auth/config/settings import cycle
  • #1446: feat(#1407): CLEAN: Split 381-line runTscAndLspAudit in audit.ts
  • #1445: feat(#1408): CLEAN: Split 333-line runAgentSubprocess in runner.ts
  • #1444: feat(#1409): CLEAN: Split 321-line renderSessionToMarkdown in renderer.ts
  • #1442: feat(#1410): CLEAN: Split 224-line auditFileGroup in lsp-client.ts
  • #1441: feat(#1412): CLEAN: Split 114-line runRequirementsTraceability in requirements-traceability.ts
  • #1439: feat(#1411): CLEAN: Split adapter.ts (137-line handleContextInfo + 691 nbnc file)
  • #1429: feat(#1413): CLEAN: Split worktree-sandbox long detectors (findMeaningfulToken 117, findUnsafeWriteInBash 114)
  • #1426: feat(#1395): CLEAN: Split 1139-line handleSupervisorCommand in handler.ts
  • #1425: feat(#1397): CLEAN: Split 307-line handlePostAgentSuccess in stages.ts
  • #1424: feat(#1396): CLEAN: Split 231-line createMessageRenderer in message-renderer.ts
  • #1423: feat(#1398): CLEAN: Split init.go (946 nbnc) by responsibility
  • #1386: feat(#1360): Add .initremove file for configurable post-clone cleanup

Full Changelog: v0.4...v0.50

v0.4

Choose a tag to compare

@github-actions github-actions released this 25 Jul 21:58

Release v0.4

Release v0.4 — incremental update from v0.33 with 32 merged PRs.

What's Changed

🐛 Bug Fixes

  • #1367: feat(#1358): [Bug] runAgentSubprocess fallback can throw synchronously and escape containment
  • #1361: feat(#1357): [Bug] Supervisor 'Pipeline Failed / Manual intervention required' drops the actual error message
  • #1359: feat(#1343): [Bug] Supervisor closes issue as 'already resolved' when work landed via sibling/parent PR
  • #1356: feat(#1344): [Bug] agent-harness blocks tail — read is O(file size) vs O(N) for tail
  • #1355: feat(#1345): [Bug] agent-harness lacks force-bypass mechanism for legitimate blocked commands
  • #1354: feat(#1346): [Bug] agent-harness blocks head — read loads entire file, head stops at N lines
  • #1351: feat(#1347): [Bug] agent-harness docs claim xxd/hexdump detection but code doesn't implement it
  • #1349: feat(#1348): [Bug] agent-harness hardcoded JSON schemas in redirect messages drift from real tool schemas

🔧 Code Quality & Architecture

  • #1352: feat(#1279): Dead Code: agent-harness - isCodeFilePath() never called
  • #1340: feat(#1290): ICA: Collapse single-implementation state interfaces in agent-harness
  • #1339: feat(#1324): ICA: providerToEnvVar duplicated Go/shell mapping
  • #1338: feat(#1323): ICA: SettingsGenerator dead code
  • #1337: feat(#1325): ICA: runInit 24-parameter orchestrator signature
  • #1336: feat(#1328): ICA: tsc-checkpoint adapter/watcher speculative seam + pass-through wrapper
  • #1335: feat(#1327): ICA: BashCommand split-brain bash classifier
  • #1334: feat(#1329): ICA: github/deps.ts dead island duplicate

✨ Features & Enhancements

  • #1385: feat(#1376): SIMPLIFY: Repeated heading-injection validation blocks (stages.ts)
  • #1384: feat(#1373): SIMPLIFY: Duplicated push-text-once streaming pattern (adapter.ts)
  • #1383: feat(#1374): SIMPLIFY: Duplicated token-usage computation (adapter.ts)
  • #1382: feat(#1377): SIMPLIFY: Deep nesting in PR ahead-count verification (pr-creation.ts)
  • #1381: feat(#1375): SIMPLIFY: agentName bare-text-wrap 3-branch conditional (stages.ts)
  • #1380: feat(#1378): SIMPLIFY: Dead ternary err === 1 ? "err" : "err" (message-renderer.ts)
  • #1379: feat(#1362): Code Simplification: extensions — 2026-07-25
  • #1371: feat(#1366): SIMPLIFY: Repeated text/thinking push guard pattern → helper functions
  • #1370: feat(#1364): SIMPLIFY: Status emoji/text dual chained ternary → single lookup
  • #1369: feat(#1363): SIMPLIFY: Severity label chained ternary → lookup object
  • #1368: feat(#1365): SIMPLIFY: Tool name advice nested ternary → lookup object
  • #1353: feat(#1278): Bug: scrapling — TypeBox schema pattern ^https?:// case-sensitive, but validateUrl accepts mixed case
  • #1350: feat(#1276): Bug: scrapling — AbortSignal not propagated to acquireCrawlLock (cancellation ignored)
  • #1341: feat(#1288): Architecture Review: root — 2026-07-19
  • #1333: feat(#1277): Bug: scrapling — postInstall exec result not checked (silent failure on scrapling.cli install)
  • #1332: feat(#1331): [Feature] Replace pi-guardian daemon with on-demand shell scan in cheasee-pi clean

Full Changelog: v0.33...v0.4

v0.33

Choose a tag to compare

@github-actions github-actions released this 22 Jul 20:16

Release v0.33

Release v0.33 — incremental update from v0.32 with 1 merged PRs.

What's Changed

🔧 Code Quality & Architecture

  • #1320: feat(#1291): ICA: FileOps — test-only seam in session-logger

Full Changelog: v0.32...v0.33

v0.32

Choose a tag to compare

@github-actions github-actions released this 21 Jul 20:53

Release v0.32

Release v0.32 — incremental update from v0.31 with 17 merged PRs.

What's Changed

🔧 Code Quality & Architecture

  • #1318: feat(#1292): ICA: Duplicated port types across extensions
  • #1316: feat(#1300): ICA: Delete dead public methods on BashCommand
  • #1314: feat(#1280): Dead Code: agent-harness - grepLike() never called
  • #1313: feat(#1281): Dead Code: agent-harness - BASH_SEARCH_SIGNALS constant unused
  • #1312: feat(#1282): Dead Code: agent-harness - SEARCH_TOOLS constant unused
  • #1311: feat(#1297): Dead Code: ripgrep-search - _setTestCtxMode() never called in production
  • #1310: feat(#1283): Dead Code: agent-harness - shouldBlockRetry() only called from tests
  • #1309: feat(#1287): Duplicate Code: supervisor - GitHub module parsing logic duplicated across deps.ts, octokit-client.ts, project.ts
  • #1308: feat(#1293): Dead Code: tsc-checkpoint - formatTrend() never called
  • #1307: feat(#1286): Dead Code: agent-harness - parseBashCmd re-export wrapper unused
  • #1305: feat(#1299): Dead Code: lsp-auditor - setLspRuntime/resetLspRuntime only called from tests
  • #1304: feat(#1295): Duplicate Code: context-info - Config parsing boilerplate and FooterState init duplication
  • #1303: feat(#1296): Bug: agent-harness — batchId never set, batch-aware read cache logic is dead code
  • #1302: feat(#1298): Dead Code: ripgrep-search - getCacheSize() never called in production

✨ Features & Enhancements

  • #1319: feat(#1315): [Feature] CLI installation smoke test (DinD, full user flow)
  • #1317: feat(#1294): Bug: agent-harness — cat and echo in FILE_MODIFY_SIGNALS cause false-positive read cache invalidation
  • #1306: feat(#1301): Bug: lsp-auditor — buildServerMappings lacks input validation, crashes on malformed config

Full Changelog: v0.31...v0.32

v0.31

Choose a tag to compare

@github-actions github-actions released this 16 Jul 18:57

Release v0.31.0

Release v0.31 — incremental update from v0.30 with 126 merged PRs.

What's Changed

🐛 Bug Fixes

  • #1275: feat(#1270): [Bug] --no-github path produces workspace without git repo or .pi/settings.json — container scripts fail
  • #1273: feat(#1269): [Bug] Init submodule setup incomplete: ignored flask_blogs, no --init --recursive, no URL prompting
  • #1265: feat(#1262): [Bug] v1.0.0 release tag never pushed — no Go CLI binary published, install doc recommends non-downloadable artifact
  • #1264: feat(#1261): [Bug] cmd/cheasee-pi test package does not compile on main — stray braces in init_test.go
  • #1263: feat(#1258): [Bug] Supervisor PR pipeline pushes stale branch — no rebase before push causes merge conflicts
  • #1260: feat(#1248): [Bug] Install/README quick-start buries run-pi.sh, forces multiple individual docker commands despite simplicity goal
  • #1259: feat(#1249): [Bug] .goreleaser.yml missing windows build — epic #1202 specifies linux/mac/windows
  • #1257: feat(#1247): [Bug] No Go CLI release artifacts published — GoReleaser never triggered, binary not downloadable
  • #1256: feat(#1246): [Bug] Init extractor writes compose files to workdir root, not docker/ — inconsistent with docker/.env and run-pi.sh
  • #1255: feat(#1245): [Bug] API key integration gap: init writes ~/.config/cheasee-pi/auth.json, runtime reads ~/.pi/agent/auth.json and no mount exists
  • #1254: feat(#1243): [Bug] Init success message and installation doc reference non-existent 'cheasee-pi start' subcommand
  • #1253: feat(#1244): [Bug] installation.md claims init saves auth to ~/.pi/agent/auth.json (actual: ~/.config/cheasee-pi/auth.json)
  • #1252: feat(#1236): [Bug] PR creation force-push overwrites existing branch commits when worktree recreated from main
  • #1251: feat(#1242): [Bug] cheasee-pi init --no-github skips compose extraction and docker/.env generation
  • #1250: feat(#1241): [Bug] Go CLI root command misdescribes product as Raspberry Pi management
  • #1157: feat(#1154): [Bug] Subagent comments silently dropped — ignore/ dir missing + textPushedThisTurn flag blocks message_end extraction
  • #1150: feat(#1142): [Bug] Subagent tool calls missing from session metadata toolStats
  • #1146: feat(#1136): [Bug] proper-lockfile onCompromised throw crashes pi subprocess from setTimeout callback
  • #1143: feat(#1137): [Bug] execCommand reports code:0 when subprocess killed by signal — masks timeouts in scrapeling adapter
  • #1140: feat(#1138): [Bug] ensureVenv holds proper-lockfile during long pip install — timer crash window + blocks concurrent agents
  • #1127: feat(#1103): [Bug] Hardcoded /home/miria/ absolute paths in source, skills, and docs — breaks portability
  • #1085: feat(#1067): [Bug] duplicate-code.ts: filterClonesToChangedFiles references undefined cloneFiles
  • #1073: feat(#1066): [Bug] structural-analyzer: uses 'ast-grep scan --pattern' but ast-grep 0.43 requires 'ast-grep run --pattern'
  • #1027: feat(#1007): [Bug] Supervisor: thinking output truncated to last streaming fragment (thinkingPushedThisTurn gate skips full message content)
  • #1017: feat(#1000): [Bug] Docker container's git worktree prune deletes main worktree registration on shared filesystem
  • #1006: feat(#1004): [Bug] Supervisor: inconsistent subagent widget rendering between pipeline run and merge conflict resolution

✨ Features & Enhancements

  • #1274: feat(#1271): [Feature] Init should prompt for fork repo URL interactively
  • #1272: feat(#1268): [Feature] Init should generate .pi/settings.json with user's fork identity
  • #1239: feat(#1228): Add GoReleaser config and GitHub release workflow
  • #1238: feat(#1227): Implement GitHub OAuth device flow repo setup and compose extraction
  • #1216: feat(#1207): [Feature] Replace gh CLI wrappers with @octokit/rest
  • #1209: feat(#1208): [Feature] Replace manual config validation with zod
  • #1205: feat(#1186): Agent stream dedup regression — thinkingOutputLines populated when flag is set
  • #1203: feat(#1189): Worktree sandbox behavioral regressions — false negatives on path safety checks
  • #1201: feat(#1184): Chat-progress widget rendering changed — tests fail on output format
  • #1200: feat(#1190): Structural analyzer and check-extensions version check regression
  • #1199: feat(#1185): Pipeline handler mock missing ctx.ui.setWidget — 12 subtests fail
  • #1198: feat(#1191): Supervisor source pattern tests outdated after refactoring
  • #1197: feat(#1183): Message renderer output header changed — tests expect old label
  • #1196: fix: upgrade undici to 8.5.0 (CVE-2026-9697)
  • #1195: feat(#1180): Test files reference non-existent paths after refactoring
  • #1194: feat(#1181): lsp-client test needs --experimental-test-module-mocks flag
  • #1193: feat(#1179): [Feature] Implement in-process agent runner (runAgentInProcess) to eliminate subprocess memory overhead
  • #1192: feat(#1182): FooterConfig value-wrapper API changed — tests access undefined .value
  • #1178: feat(#1167): Bug: caveman - /caveman handler crashes on undefined args via unchecked optional chain
  • #1172: feat(#1161): Bug: context-info - session_shutdown calls stopTimer instead of dispose, leaving disposed=false
  • #1168: feat(#1145): [Improvement] Add investigation efficiency instruction to AGENTS.md — isolate failing tests before deep-diving
  • #1156: feat(#1144): [Improvement] Add clarification-seeking instruction to AGENTS.md — ask user before exhaustive investigation on data contradiction
  • #1155: feat(#1129): [Feature] Show subagent thinking level in supervisor widget + result message
  • #1153: feat(#1126): Supervisor pre-transition gates have inconsistent blocking policy
  • #1152: feat(#1122): [Feature] Add osv-scanner vulnerability gate to supervisor pipeline
  • #1149: feat(#1134): Bug: web_crawl - URL validation allows non-HTTP schemes (file://, data://, ftp://)
  • #1139: feat(#1133): Bug: tsc-checkpoint - watcher not invalidated when worktree changes
  • #1131: feat(#1130): [Feature] Warn when configured thinking level differs from effective level after clamping
  • #1102: feat(#1096): Bug: session-advice - no-batch inflated consecutive call count from tool_result entries
  • #1101: feat(#1094): Bug: session-advice - identical-args false positive from tool_result entries
  • #1100: feat(#1097): Bug: session-advice - redundant-reads false positive from tool_result entries
  • #1099: feat(#1093): [Feature] Promote supervisor subprocess path, delete in-process subagent machinery, add session replay
  • #1083: feat(#1071): [Feature] Remove in-place scrolli...
Read more