You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+36-4Lines changed: 36 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,46 @@
1
+
## v0.0.98 (2025-12-31)
2
+
3
+
### Feat
4
+
5
+
- Add check for suspicious single-letter files during release process
6
+
- Add cloud execution support for pdd test command
7
+
1
8
## v0.0.97 (2025-12-30)
2
9
3
10
### Feat
4
11
5
-
- Enhance CLI Python prompt to display examples used for grounding
6
-
- Add diagnostic logging for Issue #186 (C, E, T files)
7
-
- Enhance cloud execution and syntax validation
12
+
-**CLI Examples Display:** After each command step, the CLI now displays examples used for grounding (slug and title), helping users know what to use in `<pin>` or `<exclude>` tags.
13
+
14
+
-**Suspicious Files Diagnostic Logging (Issue #186):** Added `_detect_suspicious_files()` in `agentic_fix.py` to detect and log when single-character files (C, E, T) are created during agentic operations. Logs include timestamp, context, directory, file sizes, and stack trace. Persistent log saved to `~/.pdd/suspicious_files.log`.
15
+
16
+
-**Cloud Example Generation:** Added cloud execution support to `context_generator_main` via async `_run_cloud_generation()` function. Uses JWT authentication with automatic local fallback on cloud failure.
17
+
18
+
-**Improved Syntax Repair:** Rewrote `_validate_and_fix_python_syntax()` with a binary search algorithm to find the longest valid Python prefix when LLM output contains trailing JSON garbage (e.g., `"explanation":` metadata).
19
+
20
+
### Fix
21
+
22
+
-**Nested asyncio.run() Bug (PR #204):** Fixed `pdd example` command failing to make cloud calls due to nested asyncio.run() error. The issue occurred because `CloudConfig.get_jwt_token()` uses asyncio.run() internally, causing conflicts when called from within an async context. Fixed by acquiring JWT token before entering the async context. (Thanks Jiamin Cai!)
23
+
24
+
-**HTTPStatusError Response Text:** Fixed error handling to check for empty `.text` instead of checking if response exists (response is always present on HTTPStatusError).
25
+
26
+
-**Test Overwrite Bug:** Fixed sync bug that would overwrite existing tests. Now uses append mode when merging with existing tests via the `--merge` flag.
27
+
28
+
-**CLI Test Fixture:** Fixed test fixture checking for "install_completion" instead of "install-completion" (Click converts underscores to hyphens in command names).
8
29
9
30
### Refactor
10
31
11
-
- Update prompts to support existing test files as lists
32
+
-**Existing Tests as Lists:** Changed `existing_tests` parameter from string path to list of paths in prompts, enabling multiple test files to be concatenated for context.
33
+
34
+
-**Test File Organization:** Moved `tests/test_core_cli.py` to `tests/core/test_cli.py` for better module organization.
35
+
36
+
### Docs
37
+
38
+
- Clarified `existing_tests` parameter behavior in `cmd_test_main_python.prompt`, documenting that it accepts a list of test file paths.
39
+
40
+
### Tests
41
+
42
+
- Added regression tests for nested asyncio.run() bug in `test_context_generator_main.py`.
43
+
- Updated `test_cmd_test_main.py` with coverage for test file append mode and existing_tests list handling.
0 commit comments