ContextVault v0.2.0 — Export Reliability and Stability Update
Release date: 2026-07-31
Type: Bug-fix and reliability release
Platform: Windows 10/11 x64
Archive schema: 1.0
ContextVault v0.2.0 focuses on dependable export of long, virtualized, image-heavy ChatGPT conversations.
The release preserves the public archive layout while strengthening browser readiness, message checkpointing, asset routing, Windows filesystem behavior, concurrency, naming, cancellation, and validation.
Recommended for all users
v0.1.0 users should upgrade.
The portable release does not require Python.
Major improvements
Large conversations can continue while progress is real
The legacy export path could stop after a fixed 900-second readiness window even when hundreds of messages were still being discovered and checkpointed.
v0.2.0 uses a meaningful-progress stall policy:
- new messages reset progress;
- committed checkpoint counts reset progress;
- scroll movement and recovery state count as progress;
- total elapsed time alone does not fail the export;
- a true no-progress stall still produces an explicit error.
Message checkpoints before scrolling
Every stable virtualized window is processed before ContextVault scrolls away:
extract
→ write atomic message JSON
→ save exact code bytes
→ read back
→ verify
→ commit
→ scroll
Completed checkpoints are retained through one bounded recovery reload.
Message-specific retry and degraded preservation
A single malformed message no longer automatically discards an otherwise usable large conversation.
ContextVault retries the failed message, preserves prior checkpoints, reloads once when required, resumes the scan, and preserves an exhausted message as an explicit degraded record when safe.
Warnings are visible in metadata, manifest, Markdown, export log, and validation log.
Stalled images no longer freeze scrolling forever
A terminal broken image or persistent spinner is not treated as pending forever.
Image-specific loading indicators are separated from blocking ChatGPT loaders.
Grace periods:
Fast 8 seconds
Normal 20 seconds
Safe 45 seconds
Auto 20 seconds
After the grace period, the stable message can be checkpointed and scanning can continue with a warning.
Correct asset routing
- Decorative favicons are filtered.
- Image resources remain image resources.
- Attachment-control fallback is used only for attachments.
- An image HTTP error does not trigger a long UI search for an attachment control.
Safe browser workflow exclusivity
One complete browser workflow owns the browser context.
Duplicate exports and conflicting operations are rejected before they can interleave.
This prevents conversation switching during capture, inconsistent message counts, duplicate archive publication, and shared Playwright state corruption.
Correct archive titles
The scanned ChatGPT sidebar title is the canonical title.
ContextVault does not use the first assistant heading as the archive name.
When multiple conversations share a title, a stable conversation-identity suffix preserves both.
Atomic archive publication
Final destination naming is resolved when the validated staged archive is published.
A concurrent name collision no longer destroys staging or fails after a long successful build.
Windows path and file handling
- Short same-directory temporary filenames reduce Windows path pressure.
- Atomic JSON replacement handles transient sharing denials.
- Partial, invalid, checkpoint, browser-profile, and temporary runtime paths are ignored by Git.
Cleaner cancellation diagnostics
Expected user cancellation is logged as cancellation, not as a false browser failure traceback.
Other fixes
- Exact UTF-8 code-byte validation preserves CRLF/LF.
- Stable zero-message shells receive one bounded recovery reload.
- Current
data-message-idmessage containers are supported. - Launch Chrome uses the managed profile when Browser Profile Root is blank or points to regular daily Chrome data.
- Automatic fallback to an unrelated CDP browser is removed.
- Capture warnings are ordered and deduplicated.
- Archive validator preserves explicit warnings without hiding real corruption.
- Release-candidate verification now uses an isolated
.venv-releaseenvironment and exact locked dependencies, preventing shared Python package drift from producing misleading release checks.
Validation evidence
For the source commit preceding release preparation:
- GitHub Actions Windows Python 3.12 CI passed.
- Environment verification passed.
- 81 forensic tests passed.
- Repository JSON/TOML parse checks passed.
- Python AST checks passed.
- Dependency synchronization checks passed.
- Security path tests passed.
- Archive, checkpoint, browser-worker, image-readiness, concurrency, and cancellation regressions passed.
The release asset is considered complete only when the tag-triggered Build and Release workflow successfully installs locked dependencies, runs tests, compiles Nuitka OneDir with MSVC, verifies the distribution, packages the ZIP, writes the SHA-256 file, and uploads both release assets.
Upgrade
Read Upgrading.
Preserve personal runtime data before replacing an old portable folder.
Download verification
Read Release verification.
Known limitations
Read Known limitations.
Support
Read SUPPORT.md.