Skip to content

chore: release - #1

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

chore: release#1
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

just-bash@3.3.0

Minor Changes

  • #291 47f604a Thanks @trieloff! - jq: add external-argument flags (--arg, --argjson, --rawfile, --slurpfile, --args, --jsonargs) and the $ARGS object ($ARGS.named / $ARGS.positional), matching real jq 1.7.1 behavior including exit codes, error messages, and prototype-sensitive key handling.

  • #336 d97425d Thanks @trieloff! - Support user file descriptors (fd >= 3). exec 3< file, N< file / N> file / N>> file on any command, read -u N, read <&N, >&N, N<&M, and N<&- now go through a real descriptor table: a descriptor carries one shared read position, exec keeps it open until it is closed, and every other construct — including done N< file on a loop — gets it only for the duration of that command.

  • #331 6680247 Thanks @trieloff! - Treat a - FILE operand in grep as standard input, matching GNU. grep PATTERN - now reads stdin instead of failing with "No such file or directory", stdin is labelled (standard input) in the multi-file prefix and in -l/-L/-c output, repeated - operands see the stream drained by the first one, and - is exempt from -r recursion and --include/--exclude filtering.

  • #325 edc7f2f Thanks @trieloff! - Support process substitution <(cmd) and >(cmd).

    <(cmd) runs cmd and substitutes a readable /dev/fd/N path backed by an
    in-memory file; >(cmd) substitutes a writable path whose contents are fed to
    cmd once the outer command finishes. Descriptors are numbered from 63
    downwards like bash and released when the command that opened them completes.
    Process substitutions retain their surrounding word context in assignments,
    conditionals, regular expressions, and heredoc delimiters. Previously any use
    raised Parse error: Expected redirection target.

  • #327 eaedb5b Thanks @trieloff! - Add grep -f FILE / --file=FILE to read patterns from a file (one per line). Patterns from -f OR-combine with -e patterns and with each other, -f - reads patterns from stdin, empty pattern lines match every line, and an empty pattern file selects nothing (exit 1). Newline-separated PATTERNS operands are now split into individual patterns, and -x groups alternatives correctly (^(?:a|b)$).

Patch Changes

  • #358 bd1df37 Thanks @privatenumber! - Parse and serialize bare file descriptor variable redirections such as {output}>output.log and {input}<<EOF. Bare redirects create their target with a command-scoped descriptor, while named command forms keep the allocated descriptor available.

  • #347 abb904b Thanks @privatenumber! - Fix escaped reserved words being parsed as shell syntax. Unquoted escapes now retain their provenance through lexing and word parsing, including when the word is serialized back to Bash.

  • #332 4f9bdec Thanks @trieloff! - Fix grep -L exit status to match GNU grep. The status reports whether a line
    was selected, not whether a filename was printed, so grep -L now exits 0 when
    every file matched (printing nothing) and 1 when no file matched (printing every
    name) — previously these were inverted.

  • #339 31d247f Thanks @mutewinter! - network: restore private-range-enforced requests from the bundled build

    Every request made with denyPrivateRanges enabled failed with Network access denied: DNS pinning unavailable for private IP enforcement, so curl could not reach any host at all. The published ESM bundle was affected; source consumers and the CommonJS bundle were not.

    The pinned connection owner reads Agent and fetch off a dynamic import("undici"). Node's resolution of the package exposes those as named exports, but the ESM build inlines undici's CommonJS module into a chunk whose namespace carries it under default alone, so Agent was undefined and the TypeError from constructing it was reported as a runtime incapable of pinning.

    The namespace is now normalized before the transport is read off it, which also covers a consumer that bundles just-bash further.

  • #336 d97425d Thanks @trieloff! - Stop command groups, function bodies and eval from rewinding stdin they never replaced, so { { read a; }; read b; } gives b the second line instead of replaying the first.

  • #348 1a7940d Thanks @privatenumber! - Reject unsupported command-leading reserved words in every parser context instead of discarding them or executing them as simple commands. Unknown command AST nodes now fail explicitly instead of returning a successful result.

  • #345 2208a34 Thanks @privatenumber! - Restore command groups and subshells after the process-substitution and stdin-ownership changes were combined without forwarding ownership through inner command dispatch.

  • #336 d97425d Thanks @trieloff! - Apply output redirections attached to while and until loops. while true; do echo x; break; done >/dev/null no longer leaks its output to the caller, and > file, >>, 2>, 2>&1, &> and >| now behave on loops the way they already did on for and case. until loops also gained the input-redirection handling while loops already had, so until ! read l; do ...; done < file reads from the file. A loop now only restores stdin it owns, so reading inside a loop no longer rewinds an enclosing group's read position: printf 'a\nb\n' | { while read x; do break; done; read y; } sees y=b.

  • #328 65dafd5 Thanks @trieloff! - Stop pipelines from draining the enclosing shell's stdin, so while read …; do … | …; done < file runs once per line again.

  • #349 be55fec Thanks @privatenumber! - Process redirections through policy-driven transactions that preserve Bash ordering, descriptor lifetimes, persistent exec routes, compound-command stdin, control-flow output routing, and shared read-write descriptor positions without duplicate expansion or opening.

  • #338 19a02c2 Thanks @mutewinter! - sqlite3: report failed statements on stderr and exit non-zero without -bail

    A statement that failed was written to stdout as Error: ... and the command still exited 0 unless -bail was passed. Real sqlite3 writes the error to stderr and exits 1 in either mode; -bail only decides whether the remaining statements still run.

    Two consequences for callers: sqlite3 db "SELECT ..." > out.csv silently wrote the error text into the data file, and sqlite3 db "..." && next-step ran next-step after the query had failed, so a shell script could not detect a bad query without opting into -bail and losing the ability to see later statements.

    Errors now accumulate on stderr in statement order and the exit status is 1 whenever any statement failed. Successful runs are unchanged, -bail still stops at the first failure, and the partial stdout produced before a failure is still emitted. Writeback of a partially-successful script is also unchanged.

  • #360 1fbde34 Thanks @privatenumber! - Preserve whether a here-document ended at its delimiter or at end-of-input. Unterminated final body lines now receive Bash's trailing newline, backslash-newline continuations are removed during expansion, and serialization rejects unterminated documents rather than manufacturing a closing delimiter.

@just-bash/executor@4.0.0

Patch Changes

executor-tools-example@1.0.8

Patch Changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants