Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<VersionPrefix>0.3.0</VersionPrefix>
<VersionSuffix>alpha.2</VersionSuffix>
<VersionSuffix>alpha.3</VersionSuffix>
</PropertyGroup>
<PropertyGroup>
<!-- Target framework matrix -->
Expand Down
4 changes: 4 additions & 0 deletions IMPLEMENTATION_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,10 @@ priorities.
and [GitHub prerelease](https://github.com/Aaronontheweb/ShellSyntaxTree/releases/tag/0.3.0-alpha.2)
include exact module-qualified-looking alias and canonical alias-target
shadowing defenses without changing the public API.
- [ ] Publish `0.3.0-alpha.3` for the Netclaw PowerShell approval integration
after Linux and Windows validate the reviewed initial-state, value,
command-binding, and state-invalidation slice. The package must preserve
the v0.2 projection and the existing public v0.3 API.
- [x] Replace the pre-alpha consumer preview with the v0.3 occurrence-based
authorization loop and separate syntax-display guidance. Document exact,
finite, pattern, unknown, joined-cwd, redirect, incomplete-result,
Expand Down
29 changes: 29 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,35 @@
results require a consumer-owned, versioned DTO or explicit serializer
mapping that fails closed on unknown node and enum values.

#### 0.3.0-alpha.3 2026-08-09 ####

This prerelease adds the PowerShell state and value proofs needed for the
Netclaw approval-policy integration. It does not change the public v0.3 API
surface, and the conservative v0.2 projection remains available.

## Added

- Apply the explicit PowerShell initial-state contract to command identity,
native-versus-cmdlet argument binding, working-directory attribution,
redirects, automatic `HOME`, and `USERPROFILE` values.
- Preserve argument-binding provenance through static current-scope
`Invoke-Expression` payloads while keeping decoded child-host state isolated.
- Expand the generated PowerShell corpus from 422 to 491 entries with direct,
wrapper, alias, script, redirect, child-host, and unknown-state cases.

## Security and compatibility

- Treat aliases as capable of shadowing built-ins and path-shaped command
names; exact argument binding requires constrained, unmutated command
resolution.
- Invalidate following authorization state after uninspected scripts and
unproved in-process invocations instead of retaining stale exact values.
- Keep supported non-pipeline bodies of unknown receivers visible and
incomplete, while failing an unproved interior pipeline atomically with
empty authorization projections.
- Preserve ordinary v0.2 compatibility leaves under ambient uncertainty and
keep the public v0.3 API snapshot unchanged.

#### 0.3.0-alpha.2 2026-08-09 ####

This prerelease completes the stable-v0.3 boundary between PowerShell script
Expand Down