Skip to content

v0.50

Choose a tag to compare

@github-actions github-actions released this 08 Aug 20:18
· 152 commits to main since this release

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