Skip to content

Commit a0f95bd

Browse files
Prepare 0.3.0-alpha.1 release (#126)
1 parent 873de51 commit a0f95bd

6 files changed

Lines changed: 36 additions & 5 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,5 +203,6 @@ dotnet test -c Release
203203
dotnet pack -c Release -o ./bin/nuget
204204

205205
# Cut a release (manual, then push the tag)
206-
git tag 0.3.0-alpha && git push origin 0.3.0-alpha
206+
release_version=$(dotnet msbuild src/ShellSyntaxTree/ShellSyntaxTree.csproj -nologo -getProperty:Version)
207+
git tag "$release_version" && git push origin "$release_version"
207208
```

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Nullable>enable</Nullable>
99
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
1010
<VersionPrefix>0.3.0</VersionPrefix>
11-
<VersionSuffix>alpha</VersionSuffix>
11+
<VersionSuffix>alpha.1</VersionSuffix>
1212
</PropertyGroup>
1313
<PropertyGroup>
1414
<!-- Target framework matrix -->

IMPLEMENTATION_PLAN.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,10 @@ priorities.
515515
- [x] Publish `0.3.0-alpha` for the Netclaw migration gate. The bare SemVer tag
516516
published the NuGet package, symbol package, and GitHub prerelease from
517517
the reviewed merge commit after Linux and Windows CI passed.
518+
- [x] Prepare `0.3.0-alpha.1` as the next Netclaw validation package. It carries
519+
the bounded Bash heredoc, command-resolution mutation, and here-string
520+
slices merged after the first alpha without changing the public API.
521+
Record publication separately after the tag workflow succeeds.
518522
- [x] Replace the pre-alpha consumer preview with the v0.3 occurrence-based
519523
authorization loop and separate syntax-display guidance. Document exact,
520524
finite, pattern, unknown, joined-cwd, redirect, incomplete-result,

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ Hand-rolled, AOT-trim friendly, zero native dependencies. Multi-targets
1313

1414
```bash
1515
# Current structured-analysis prerelease
16-
dotnet add package ShellSyntaxTree --version 0.3.0-alpha
16+
dotnet add package ShellSyntaxTree --version 0.3.0-alpha.1
1717
```
1818

19-
The latest stable package is `0.2.0`. The `0.3.0-alpha` prerelease adds the
19+
The latest stable package is `0.2.0`. The `0.3.0-alpha.1` prerelease adds the
2020
typed syntax tree and command-occurrence authorization API documented below.
2121

2222
## What you get

RELEASE_NOTES.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,32 @@
1212
results require a consumer-owned, versioned DTO or explicit serializer
1313
mapping that fails closed on unknown node and enum values.
1414

15+
#### 0.3.0-alpha.1 2026-08-09 ####
16+
17+
This prerelease refreshes the Netclaw validation package with the Bash
18+
redirect and command-resolution slices completed after `0.3.0-alpha`. It does
19+
not change the public v0.3 API surface, and the conservative v0.2 projection
20+
remains available.
21+
22+
## Added
23+
24+
- Added bounded Bash heredoc analysis with explicit delimiter, body, expansion,
25+
tab-stripping, completeness, and substitution facts.
26+
- Added Bash `<<<` here-string analysis. Exact and finite data include Bash's
27+
trailing newline, remain non-path, and preserve independently executable
28+
substitutions as command occurrences.
29+
30+
## Security and compatibility
31+
32+
- Reject command-resolution mutation through unsupported `exec`, `hash`,
33+
alias, shell-option, builtin-enable, and reserved execution forms before a
34+
later occurrence can inherit an unsafe executable identity.
35+
- Keep unknown here-string values structurally visible without guessing their
36+
data, and fail malformed redirect forms atomically.
37+
- Pin the unchanged public API with reflection, equality, hashing, string, and
38+
unknown-enum compatibility tests, and document occurrence-first consumer
39+
authorization.
40+
1541
#### 0.3.0-alpha 2026-08-08 ####
1642

1743
This prerelease exposes the v0.3 structured-analysis API for Netclaw

docs/CONSUMER_GUIDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ approval must never bypass a deny.
179179

180180
## v0.3 authorization and migration contract
181181

182-
The `0.3.0-alpha` package adds `ParsedCommand.Commands` as the authorization
182+
The `0.3.0-alpha.1` package adds `ParsedCommand.Commands` as the authorization
183183
projection and `ParsedCommand.Syntax` as the typed display/analysis tree. This
184184
guide describes the stable v0.3 contract; constructs not yet complete in an
185185
installed prerelease remain prompt-or-deny cases. The migration rules are:

0 commit comments

Comments
 (0)