Skip to content

Commit 5b5e345

Browse files
andylbrummerclaude
andcommitted
Release 0.10.19 — psgit structured git objects + styled filesystem view
Bundles three already-landed commits (fs view, psgit, GIT_TERMINAL_PROMPT) with the version bump + ReleaseNotes. Gates: Pester 1070/0, Core.Tests 1105/0, styled+git 49/0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 002a44a commit 5b5e345

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

src/PsBash.Core/PsBash.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- NuGet package metadata -->
1010
<PackageId>PsBash.Core</PackageId>
11-
<Version>0.10.18</Version>
11+
<Version>0.10.19</Version>
1212
<Authors>StandardBeagle</Authors>
1313
<Description>Bash-to-PowerShell transpiler library. Parses bash commands into an AST (based on Oils/OSH) and emits equivalent PowerShell. Use as a library in terminal emulators, AI agents, or any .NET app that needs bash compatibility on top of PowerShell.</Description>
1414
<PackageTags>bash;powershell;transpiler;parser;shell;terminal</PackageTags>

src/PsBash.Module/PsBash.psd1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'PsBash.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '0.10.18'
15+
ModuleVersion = '0.10.19'
1616

1717

1818
# ID used to uniquely identify this module
@@ -231,7 +231,7 @@ PrivateData = @{
231231
ProjectUri = 'https://github.com/standardbeagle/ps-bash'
232232

233233
# ReleaseNotes of this module
234-
ReleaseNotes = 'v0.10.18: Interactive shell + transpiler fixes. The type-ahead command panel now lists live PowerShell commands (cmdlets/functions/aliases from loaded modules), background-preloaded once the runspace is ready and refreshed after each command so a just-defined function/alias shows up without a Tab round-trip. Path-like .sh/.bash scripts (./build.sh, dir/x.sh, /abs/x.sh) now run through bash — they execute correctly AND compose in a pipeline instead of failing with "Cannot run a document in the middle of a pipeline". Format-Styled/Show-Styled stylesheets use the .pcss extension (the ps-bash CSS-like dialect with Strata Kind selectors and command: bindings); user overrides prefer <name>.pcss with a .css fallback. SQLitePCLRaw bundle bumped to 3.0.3 to clear the NU1903 advisory (GHSA-2m69-gcr7-jv3q, now covering the whole 2.1.x line) that broke the AOT /warnaserror build. v0.10.17: Transpiler parseability hardening — the transpiler now never emits broken PowerShell, crashes, or hangs on a command. Fixes: $(case/for/if/while …) command-substitution of a compound body (was "empty pipe element"), nested ${x:-${y:-z}} default words, POSIX [ … -a/-o … ] combinators, declare -i n=5 initializers, single-quote escaping in ${VAR##pattern}, [ -f "$file" ] quoted file-test operands, mixed $''…''/{a,b} for-in lists, true/false as a redirected pipe target, plus three parser infinite-loops / EOF crashes on truncated input (trailing backslash, unterminated "$, bare for/function/2>&). Backed by a new generative grammar + garbage fuzz layer (docs/specs/transpile-fuzz-grammar.md). v0.10.16: Transpiler & host robustness — ${VAR:-WORD} recursively transpiles its WORD argument, the Claude Code rg-shim startup snapshot parses to valid PowerShell, the AOT /warnaserror build is null-guarded, the host no longer crashes on a sidecar write race, the IPC connect/command/exit path is streamlined under heavy load, plus Register-BrowseAdapter and a ps-aux error-spam fix. v0.10.15: bash-semantics parity — faithful Int64 $(( )) / (( )) evaluator, printf %c/%f and trailing-newline fixes, ${!arr[@]} indices/keys (no empty-array crash), quoted "${arr[@]}" per-element for-in, read -ra / IFS, test bare-literal quoting, GNU xargs whitespace split. v0.10.14: coreutils flag-coverage — full gzip/tar flags within .NET limits (refuses bzip2/xz/zstd/compress, even bundled), unsupported-flag classifier for find + cp/mv/rm/mkdir/rmdir, tee --append, many long-form aliases, sort -g, du --exclude=GLOB. v0.10.13: tar/gzip/sed/jq engine hardening — tar path-traversal (Zip-Slip) refused, tar --exclude is an fnmatch glob, sed occurrence/=/Q/negation/step-address support, jq // streaming and Cartesian object construction. v0.10.12: per-session host daemon fixes multi-agent contention stalls; command-position path tokens (./script, ~/x) do filename completion. v0.10.11: jq operator set (sort/unique/group_by/@csv/…) and arithmetic; printf format-recycling publish fix. v0.10.10: flag-coverage sweep across ~25 commands plus destructive-behavior fixes (kill -0 probe, cut open ranges, env NAME=VAL cmd, cp -p). v0.10.9: interactive shell — cd -, history expansion (!!/!n/!str/^old^new), ln -sf safety, awk file operands, kill named signals, recompiled-host replaces stale daemon. v0.10.8: robustness + interactive perf — async keystroke prediction, transpile cache, if/while test exit-code, while-read piping, read-only attribute clearing, grep --include/--exclude. Full version history with complete per-release detail: CHANGELOG.md in the repo and https://github.com/standardbeagle/ps-bash/releases'
234+
ReleaseNotes = 'v0.10.19: psgit + styled filesystem view. New Invoke-BashGit (alias psgit) renders git as structured PowerShell objects — status/log/branch/remote/tag/stash list/diff parse into typed PsBash.Git* objects you can filter, sort, and pipe; other subcommands pass through to native git, which stays untouched and fully interactive (psgit is deliberately NOT aliased to git). psgit reuses your configured git auth (SSH agent + cached/stored credential helpers) non-interactively; GIT_TERMINAL_PROMPT=0 makes terminal-prompt auth fail fast instead of hanging. The structured objects ship everywhere; piping to Show-Styled / Format-Styled git colours them by state (Strata-gated). Get-ChildItem | Format-Styled fs now renders a curated, human-oriented table — a file-type emoji + name, a human size with a visual size meter, and a relative modified time — coloured by type, instead of dumping every property. Format-Styled now honours an object''s DefaultDisplayPropertySet (the same curated columns Format-Table uses), so any typed object shows sensible columns. v0.10.18: Interactive shell + transpiler fixes. The type-ahead command panel now lists live PowerShell commands (cmdlets/functions/aliases from loaded modules), background-preloaded once the runspace is ready and refreshed after each command so a just-defined function/alias shows up without a Tab round-trip. Path-like .sh/.bash scripts (./build.sh, dir/x.sh, /abs/x.sh) now run through bash — they execute correctly AND compose in a pipeline instead of failing with "Cannot run a document in the middle of a pipeline". Format-Styled/Show-Styled stylesheets use the .pcss extension (the ps-bash CSS-like dialect with Strata Kind selectors and command: bindings); user overrides prefer <name>.pcss with a .css fallback. SQLitePCLRaw bundle bumped to 3.0.3 to clear the NU1903 advisory (GHSA-2m69-gcr7-jv3q, now covering the whole 2.1.x line) that broke the AOT /warnaserror build. v0.10.17: Transpiler parseability hardening — the transpiler now never emits broken PowerShell, crashes, or hangs on a command. Fixes: $(case/for/if/while …) command-substitution of a compound body (was "empty pipe element"), nested ${x:-${y:-z}} default words, POSIX [ … -a/-o … ] combinators, declare -i n=5 initializers, single-quote escaping in ${VAR##pattern}, [ -f "$file" ] quoted file-test operands, mixed $''…''/{a,b} for-in lists, true/false as a redirected pipe target, plus three parser infinite-loops / EOF crashes on truncated input (trailing backslash, unterminated "$, bare for/function/2>&). Backed by a new generative grammar + garbage fuzz layer (docs/specs/transpile-fuzz-grammar.md). v0.10.16: Transpiler & host robustness — ${VAR:-WORD} recursively transpiles its WORD argument, the Claude Code rg-shim startup snapshot parses to valid PowerShell, the AOT /warnaserror build is null-guarded, the host no longer crashes on a sidecar write race, the IPC connect/command/exit path is streamlined under heavy load, plus Register-BrowseAdapter and a ps-aux error-spam fix. v0.10.15: bash-semantics parity — faithful Int64 $(( )) / (( )) evaluator, printf %c/%f and trailing-newline fixes, ${!arr[@]} indices/keys (no empty-array crash), quoted "${arr[@]}" per-element for-in, read -ra / IFS, test bare-literal quoting, GNU xargs whitespace split. v0.10.14: coreutils flag-coverage — full gzip/tar flags within .NET limits (refuses bzip2/xz/zstd/compress, even bundled), unsupported-flag classifier for find + cp/mv/rm/mkdir/rmdir, tee --append, many long-form aliases, sort -g, du --exclude=GLOB. v0.10.13: tar/gzip/sed/jq engine hardening — tar path-traversal (Zip-Slip) refused, tar --exclude is an fnmatch glob, sed occurrence/=/Q/negation/step-address support, jq // streaming and Cartesian object construction. v0.10.12: per-session host daemon fixes multi-agent contention stalls; command-position path tokens (./script, ~/x) do filename completion. v0.10.11: jq operator set (sort/unique/group_by/@csv/…) and arithmetic; printf format-recycling publish fix. v0.10.10: flag-coverage sweep across ~25 commands plus destructive-behavior fixes (kill -0 probe, cut open ranges, env NAME=VAL cmd, cp -p). v0.10.9: interactive shell — cd -, history expansion (!!/!n/!str/^old^new), ln -sf safety, awk file operands, kill named signals, recompiled-host replaces stale daemon. v0.10.8: robustness + interactive perf — async keystroke prediction, transpile cache, if/while test exit-code, while-read piping, read-only attribute clearing, grep --include/--exclude. Full version history with complete per-release detail: CHANGELOG.md in the repo and https://github.com/standardbeagle/ps-bash/releases'
235235

236236
} # End of PSData hashtable
237237

src/PsBash.Transpiler/PsBash.Transpiler.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
consumers hit NU1101. The publish workflow patches <Version> from the
2020
release tag (kept in lockstep with PsBash.Core / the module). -->
2121
<PackageId>PsBash.Transpiler</PackageId>
22-
<Version>0.10.18</Version>
22+
<Version>0.10.19</Version>
2323
<Authors>StandardBeagle</Authors>
2424
<Description>Bash parser and AST (based on Oils/OSH) plus the PowerShell emitter that powers PsBash.Core. Leaf library with no PsBash dependencies.</Description>
2525
<PackageTags>bash;powershell;transpiler;parser;ast;shell</PackageTags>

0 commit comments

Comments
 (0)