# Changelog

This changelog is generated automatically from [GitHub Releases](https://github.com/madeinoz67/benchweave-sdk/releases).


# benchweave-sdk 0.1.0

*2026-09-21* · [GitHub](https://github.com/madeinoz67/benchweave-sdk/releases/tag/v0.1.0)


## \[0.1.0\] - 2026-09-21


### Bug Fixes

- Keep checkouts LF so standards digests survive Windows
- Windows-portable read_file; no out-of-package validator fallback
- Repair the dead S02 bounds check; gate development-only fallbacks
- Sync-standards -check works from an installed SDK
- Conformance checks survive python -O via typed ConformanceError
- Idempotent preview shutdown; browser open off the UI thread
- Stage project generation atomically
- Review fixes -- no staging deletion, walk-bound samestat, merge repair
- Address Stephen's review on PR [\#9](https://github.com/madeinoz67/benchweave-sdk/issues/9) (windows execution, root detection, refusal classes)
- Refuse symlinked components on POSIX by inspection, not by kernel errno
- Judge manifest and lock rows as strings, identically in every lane
- Preview asset guard refuses a colon in the request path
- A regular file mid-path is NotADirectoryError on Windows, as on POSIX
- Close what a second adversarial pass found in the portability PR
- A failed staging swap restores the previous vendored tree
- Stage the vendored swap outside the package; refuse duplicate manifest ids; prove the atomicity tests
- A recovery sync puts the parked tree back before it stages anything
- Read the bundle once for real; a swap that cannot wedge; claims that match the code
- Plot example binds the first numeric observation target
- Generated conformance assert carries no trailing comma
- Refuse an empty standards list at the manifest gate; close the device-alias gap
- Refuse 8.3 aliases of the stamp path; tighten the device class to COM1-9
- Refuse segments containing characters Windows cannot write
- One sync at a time per checkout; NFC-folded duplicate ids


### Documentation

- V0.0.4 release review -- sweep stale surfaces, encode the matrix + skill ([\#38](https://github.com/madeinoz67/benchweave-sdk/issues/38))
- Installed-mode sync-standards -check and the fifth smoke lane
- The review protocol says where the behavioural suite lives now
- Document the testing surface; render all six public surfaces
- MockHost.transfer's Raises section describes what is actually raised
- Mark CaptureServices as a provisional, unpinned contract
- Document what the reference now renders; claims that match the code
- Previews render declared plots and hints
- Disclosure names observed targets, not bindings
- State the 8.3 stamp-alias mechanism precisely


### Features

- Plot_views projection + previewability relaxation


### Miscellaneous

- Sync plugin-ui-preview 0.1.1 (additive plot_views bump)
- Rebuild bundled renderer assets at ui 0.1.2
- Rebuild bundled renderer assets for the fold wave
- Bump 0.1.0 and walk the release-review matrix


### Performance

- Single-pass bundle hashing, atomic vendored swap, cached schemas


### Testing

- Regression coverage for the portability and correctness fixes
- Bring the SDK behavioural suite home from the parent repository
- Pin the bundle path guard and manifest self-vouching; macOS lane; honest export docstring
- Re-sync the migrated suite with the parent's current tests; relock at 0.0.4
- Pins that reach the guards; the publish smoke at PR time; lock in the gates
- Finish the protocol truth; reach the guards the homed suite only brushed
- Bring the migrated suite forward to plugin-ui-preview 0.1.1 and the plot-emitting scaffold


### Ci

- The Windows publish smoke installs into the venv directory; prove installed mode
- Windows lane, locked syncs, and an end-to-end scaffold check
- Least-privilege docs workflow, split concurrency, pinned actions


### Contributors

- [<span class="citation" data-cites="platima">@platima</span>](https://github.com/platima) (34 commits) -- first release appearance; the portability and correctness stack across both repositories
- [<span class="citation" data-cites="madeinoz67">@madeinoz67</span>](https://github.com/madeinoz67) (16 commits)


# benchweave-sdk 0.0.4

*2026-09-20* · [GitHub](https://github.com/madeinoz67/benchweave-sdk/releases/tag/v0.0.4)


## \[0.0.4\] - 2026-09-20


### Bug Fixes

- Website version labels follow the release -- v0.0.3 latest
- Resolve destination before writing; name symlink refusals in read_file


### Documentation

- Design record for issue [\#107](https://github.com/madeinoz67/benchweave-sdk/issues/107) symlinked-destination fix
- Disclose that new canonicalizes symlinked destinations
- Review-driven corrections for the issue-107 fix
- Recall the memory vault before proposing or diagnosing


### Miscellaneous

- SDK 0.0.4 -- the symlinked-destination fix


# benchweave-sdk 0.0.3

*2026-09-22* · [GitHub](https://github.com/madeinoz67/benchweave-sdk/releases/tag/v0.0.3)


## \[0.1.0\] - 2026-09-21


### Bug Fixes

- Keep checkouts LF so standards digests survive Windows
- Windows-portable read_file; no out-of-package validator fallback
- Repair the dead S02 bounds check; gate development-only fallbacks
- Sync-standards -check works from an installed SDK
- Conformance checks survive python -O via typed ConformanceError
- Idempotent preview shutdown; browser open off the UI thread
- Stage project generation atomically
- Review fixes -- no staging deletion, walk-bound samestat, merge repair
- Address Stephen's review on PR [\#9](https://github.com/madeinoz67/benchweave-sdk/issues/9) (windows execution, root detection, refusal classes)
- Refuse symlinked components on POSIX by inspection, not by kernel errno
- Judge manifest and lock rows as strings, identically in every lane
- Preview asset guard refuses a colon in the request path
- A regular file mid-path is NotADirectoryError on Windows, as on POSIX
- Close what a second adversarial pass found in the portability PR
- A failed staging swap restores the previous vendored tree
- Stage the vendored swap outside the package; refuse duplicate manifest ids; prove the atomicity tests
- A recovery sync puts the parked tree back before it stages anything
- Read the bundle once for real; a swap that cannot wedge; claims that match the code
- Plot example binds the first numeric observation target
- Generated conformance assert carries no trailing comma
- Refuse an empty standards list at the manifest gate; close the device-alias gap
- Refuse 8.3 aliases of the stamp path; tighten the device class to COM1-9
- Refuse segments containing characters Windows cannot write
- One sync at a time per checkout; NFC-folded duplicate ids


### Documentation

- V0.0.4 release review -- sweep stale surfaces, encode the matrix + skill ([\#38](https://github.com/madeinoz67/benchweave-sdk/issues/38))
- Installed-mode sync-standards -check and the fifth smoke lane
- The review protocol says where the behavioural suite lives now
- Document the testing surface; render all six public surfaces
- MockHost.transfer's Raises section describes what is actually raised
- Mark CaptureServices as a provisional, unpinned contract
- Document what the reference now renders; claims that match the code
- Previews render declared plots and hints
- Disclosure names observed targets, not bindings
- State the 8.3 stamp-alias mechanism precisely


### Features

- Plot_views projection + previewability relaxation


### Miscellaneous

- Sync plugin-ui-preview 0.1.1 (additive plot_views bump)
- Rebuild bundled renderer assets at ui 0.1.2
- Rebuild bundled renderer assets for the fold wave
- Bump 0.1.0 and walk the release-review matrix


### Performance

- Single-pass bundle hashing, atomic vendored swap, cached schemas


### Testing

- Regression coverage for the portability and correctness fixes
- Bring the SDK behavioural suite home from the parent repository
- Pin the bundle path guard and manifest self-vouching; macOS lane; honest export docstring
- Re-sync the migrated suite with the parent's current tests; relock at 0.0.4
- Pins that reach the guards; the publish smoke at PR time; lock in the gates
- Finish the protocol truth; reach the guards the homed suite only brushed
- Bring the migrated suite forward to plugin-ui-preview 0.1.1 and the plot-emitting scaffold


### Ci

- The Windows publish smoke installs into the venv directory; prove installed mode
- Windows lane, locked syncs, and an end-to-end scaffold check
- Least-privilege docs workflow, split concurrency, pinned actions


# benchweave-sdk 0.0.2

*2026-09-15* · [GitHub](https://github.com/madeinoz67/benchweave-sdk/releases/tag/v0.0.2)

CLI version now derives from package metadata (0.0.1 reported a stale 0.1.0). Install: pip install benchweave-sdk


# benchweave-sdk 0.0.1

*2026-09-15* · [GitHub](https://github.com/madeinoz67/benchweave-sdk/releases/tag/v0.0.1)

First PyPI release (0.0.x pre-1.0 line). Install: pip install benchweave-sdk
