|
| 1 | +## v0.0.158 (2026-02-23) |
| 2 | + |
| 3 | +### Feat |
| 4 | + |
| 5 | +- Implement comprehensive API routes for the video pipeline and add a new E2E test for Stage 8 Composition Generation. |
| 6 | +- Add comprehensive Playwright E2E tests for all video editor stages and enhance the script API to support TTS script management. |
| 7 | +- add E2E test for non-recursive circular include detection and update project configuration defaults for video editor. |
| 8 | +- Update test durations and modify `test_llm_invoke_integration.py`. |
| 9 | + |
| 10 | +### Fix |
| 11 | + |
| 12 | +- make sync regression cases 5 and 9 non-fatal on LLM failures |
| 13 | +- handle multi-language sync failure gracefully in case 4 |
| 14 | +- increase timeouts and add --max-attempts to sync regression tests |
| 15 | + |
| 16 | +### Refactor |
| 17 | + |
| 18 | +- improve color readability assertion in review tab E2E test by using canvas for RGB extraction. |
| 19 | +- Split audit results API into a dedicated route, implement the Stage 10 Audit UI, and add comprehensive E2E tests including dark theme readability checks. |
| 20 | +- Restructure ProjectConfig schema for output resolution, TTS, audio sync, VEO, and render settings, updating relevant UI and tests. |
| 21 | +- Centralize cost and model extraction logic in Python and update video project configuration. |
| 22 | +- Update Stage1ProjectSetup for StagePanelProps compatibility, correct annotation fetching API parameter, and switch to 'server-only' directive for database utilities. |
| 23 | + |
1 | 24 | ## v0.0.157 (2026-02-22) |
2 | 25 |
|
3 | 26 | ### Feat |
4 | 27 |
|
5 | | -- Implement command timeouts in sync regression and add retry logic for prerequisite generation in cloud regression. |
6 | | -- Implement smooth quadratic bezier curves for waypoint edges and enhance graph layout with wire-length minimization, column reordering, and gravity refinement passes. |
7 | | -- Introduce waypoint edges for improved dependency graph rendering and ensure backend layout operations are non-mutating. |
8 | | -- Enhance graph layout with new column-split rules and ensure proper discard of rearranged positions. |
9 | | -- Implement frontend job management with `useJobs` hook and `JobDashboard` component, alongside prompt file path refactoring. |
10 | | -- Introduce a comprehensive set of prompts for generating frontend components, hooks, and backend commands, and update related frontend files and configuration. |
11 | | -- Implement agentic graph layout rearrangement using an LLM to automatically position architecture modules. |
12 | | -- Implement prompt refresh in ArchitectureView on sync completion and integrate Vitest for frontend testing. |
| 28 | +- **Deadline-aware agentic retry budgeting** — `run_agentic_task` now accepts a `deadline` parameter (also read from `PDD_JOB_DEADLINE` env var). Each retry attempt checks remaining budget against `JOB_TIMEOUT_MARGIN_SECONDS` and `MIN_ATTEMPT_TIMEOUT_SECONDS`, skipping attempts that cannot finish in time. `JobManager` sets a 30-minute job timeout and propagates the deadline to subprocess jobs, with graceful SIGTERM→SIGKILL escalation and zombie process detection. |
| 29 | +- **Agentic graph layout rearrangement** — New `/api/v1/architecture/rearrange` endpoint runs `arrange_graph_layout_LLM.prompt` via `run_agentic_task` to automatically assign swimlane positions to architecture modules. Changes are returned to the frontend without persisting to disk until explicitly saved. |
| 30 | +- **Waypoint edges and improved graph rendering** — Dependency graph now renders smooth quadratic bezier curves through waypoint nodes, with wire-length minimization, column reordering, gravity refinement passes, and new column-split rules. Backend layout operations are non-mutating (original positions preserved for discard). |
| 31 | +- **Frontend job management** — New `useJobs` hook and `JobDashboard` component for monitoring server-side job execution. Prompt refresh triggers automatically on sync completion via `syncCompletedCounter`. |
| 32 | +- **`get_language_outputs()` for config-type language detection** — New function in `construct_paths.py` distinguishes config/data/markup languages (JSON, YAML, CSS, etc.) that produce only `code` from executable languages that produce `code`, `test`, and `example`. Uses the `outputs` column from `language_format.csv` with a built-in fallback set. `moduleNeedsSync` in the frontend uses `expected_outputs` to avoid counting config modules as needing sync. |
| 33 | +- **Comprehensive frontend prompt coverage** — Added 60+ prompts covering all frontend components, hooks, pages, and backend command modules (`checkup`, `firecrawl`, `report`, `which`), plus `config_resolution`, `remote_session`, `generate_model_catalog`, `pin_example_hack`, and `template_expander`. |
| 34 | +- **Vitest integration** — Frontend testing now supports Vitest alongside Jest, with 5 new test suites: waypoint edges, rearrange positions, rearrange discard, sync-completed refresh, and module-needs-sync. |
| 35 | +- **Command timeouts in sync regression** — `run_pdd_command_base` now wraps commands with `PDD_CMD_TIMEOUT` (default 600s). Cloud regression adds retry logic for prerequisite generation failures. |
13 | 36 | - Increase LLM call timeout and add project dependencies CSV. |
14 | | -- Implement the video editor frontend application structure, including Stages 9 and 10, and add deadline propagation to agentic verification. |
15 | | -- introduce multi-stage video editing workflow with components, examples, and tests for each stage. |
16 | | -- Implement `VideoPlayer` component with rich annotation capabilities and add `StageSidebar` component, including examples and tests. |
17 | | -- Add API endpoints for batch annotation resolution and video serving, introduce an SSE log panel component, and update related configuration and job processing. |
18 | | -- Add annotation API routes for management and analysis, including tests and examples, and update LLM model ELO scores. |
19 | 37 |
|
20 | 38 | ### Fix |
21 | 39 |
|
22 | | -- Improve job timeout handling by logging potential zombie processes, add a corresponding test, and enhance error logging and progress reporting for section rendering. |
23 | | -- Sync Remaining count no longer includes config-type dev units (JSON, YAML, CSS) |
24 | | -- remove inaccurate RichLog max_lines claim from sync_tui prompt |
25 | | -- add ADC fallback for VERTEX_CREDENTIALS in Cloud Build CI |
26 | | -- save RunReport after agentic verify to prevent false crash-verify cycle |
27 | | -- Correct ELO scores for codex models and expand model catalog |
| 40 | +- **Job timeout handling** — Jobs now enforce a 30-minute wall-clock timeout with SIGTERM→SIGKILL escalation, zombie process logging, and signal-killed process detection (`exit_code < 0`). |
| 41 | +- **Sync Remaining count** — No longer includes config-type dev units (JSON, YAML, CSS) that only produce code output. |
| 42 | +- **RunReport saved after agentic verify** — Prevents false crash-verify cycle where a successful agentic verify was not recorded, causing the state machine to re-enter the fix loop. |
| 43 | +- **Rich markup escaping in error messages** — `fix_verification_errors_loop` now escapes file paths and error messages with `rich_escape()` to prevent Rich markup injection from unusual filenames or error strings. |
| 44 | +- **ADC fallback for Vertex AI** — `_ensure_api_key()` now falls back to Application Default Credentials when `VERTEX_CREDENTIALS` is unset but a GCP project env var is available. |
| 45 | +- Remove inaccurate RichLog `max_lines` claim from `sync_tui` prompt. |
| 46 | +- **Updated ELO scores** — Refreshed from LMArena Code Arena (Feb 22, 2026). Notable changes: `claude-sonnet-4.6` jumps to #3 (1524), new entries for `gpt-5.2-codex`, `gpt-5.1-codex-mini/max`, `gpt-5.3-codex`, `gpt-5-nano`, `gemini-3.1-pro`, and GitHub Copilot naming aliases. |
28 | 47 |
|
29 | 48 | ### Refactor |
30 | 49 |
|
31 | | -- update architecture diagram component positions and replace Unicode escape sequences with actual characters." |
32 | | -- apply custom theme to console output and adjust TypeScript import paths after removing baseUrl. |
| 50 | +- **`_echo_rich` for CliRunner-compatible Rich output** — `templates.py` now renders Rich objects through an in-memory `Console` and outputs via `click.echo`, fixing test capture under `CliRunner`. |
| 51 | +- Update architecture diagram component positions and replace Unicode escape sequences with actual characters. |
| 52 | +- Apply custom theme to console output and adjust TypeScript import paths after removing `baseUrl`. |
33 | 53 |
|
34 | 54 | ## v0.0.156 (2026-02-21) |
35 | 55 |
|
|
0 commit comments