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
- Add _safe_cwd() to pythinkersoul: falls back to session.work_dir when
the process CWD has been deleted mid-session (FileNotFoundError)
- Replace readline() with read(65536) in Shell._read_stream to avoid
asyncio's 64 KB per-line LimitOverrunError
- Isolate wire recorder _record() exceptions so a persist failure no
longer silently drops the unprocessed message
- Downgrade LLMNotSet from logger.exception to logger.warning in session,
print, and shell UIs (no stack trace needed for a config-level error)
- Gitignore .pythinker-review-flow/ (local agent state)
- CHANGELOG entry for session/plan sweeper (session_retention_days)
- Update tests: session_retention_days default, oversized-line shell test,
FakeStream.read() stub for cancellation test
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@ GitHub Releases page; `0.8.0` is the new starting line.
17
17
18
18
-**`pythinker mcp add` no longer crashes on Windows and Linux native builds.** The PyInstaller specs were using `collect_data_files()` which silently omits the `fastmcp-*.dist-info/` sibling directory; fastmcp calls `importlib.metadata.version("fastmcp")` at import time, so every `mcp add` / `mcp list` invocation raised `PackageNotFoundError`. Switched all three specs (Windows installer, Linux installer, macOS/tarball) to `copy_metadata()` — the PyInstaller-standard hook for bundling dist-info.
19
19
-**Pythinker work directories are automatically gitignored on startup.** When the agent starts inside a git repository, `.pythinker/`, `.pythinker-review/`, and `.pythinker-review-flow/` are silently appended to the project's `.gitignore` if missing, preventing local agent state from making the working tree dirty.
20
+
-**Old sessions and plan files are swept on startup.** Archived session directories under `~/.pythinker/sessions/` and hero-name plan files under `~/.pythinker/plans/` older than `session_retention_days` (default 30) are removed non-interactively at startup. Set `session_retention_days = 0` to disable.
20
21
-**Windows upgrade version display fix.** In-place upgrades no longer show a stale version number or re-trigger the update prompt. Inno Setup now wipes `_internal` before installing new files, preventing old `dist-info` directories from accumulating and causing `importlib.metadata` to report the previous version.
0 commit comments