chore: release#255
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
dc14102 to
d64009a
Compare
c4f197b to
dfc5d65
Compare
44aa957 to
75d8dfd
Compare
42346ab to
9481331
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.0.2
Patch Changes
#256
75d8dfdThanks @Hazzng! - js-exec: fix Buffer shim correctness — ascii encode now uses & 0xff (not & 0x7f), consolidate latin1/ascii into shared _rawEncode, fix Buffer.from(ArrayBuffer, offset, length), throw on invalid byteLength input, clamp negative toString start, throw RangeError for out-of-range write offset#239
1369b77Thanks @trieloff! - curl: interpret@filefor-d/--data,--data-binary, and--data-urlencodeReal curl reads file contents when these flags are passed
@filename:-d @file/--data @file— read file contents, strip CR/LF.--data-binary @file— read file contents verbatim (newlines preserved).--data-urlencode @file— read file, URL-encode the contents.--data-urlencode name@file— prefix the URL-encoded contents withname=.just-bash's curl previously passed
@filenamethrough verbatim as the HTTP body. Posting JSON or any non-trivial payload viacurl --data-binary @payload.json https://…sent the literal string@payload.jsoninstead of the file. The new behavior matches upstream curl;--data-rawkeeps the documented "no@interpretation" semantics.#262
4ece258Thanks @chernetsov! - parser: don't treat quotes inside a heredoc body as shell quotes when finding the end of a command substitutionA command substitution whose body contained a heredoc with an unbalanced quote in its body — most commonly an apostrophe in literal prose, e.g.
June's— failed to parse withbash: syntax error: ... unexpected EOF while looking for matching ')':Both the lexer's
$(...)word scanner and the substitution boundary scanner walked into the heredoc body and applied shell quote tracking to it. The'inJune'sopened a single-quoted string that never closed, so the closing)was swallowed and the scan ran to EOF. In bash a heredoc body is literal text and must be skipped wholesale when locating the substitution boundary.Both scanners are now heredoc-aware: when scanning a
$(...)they recognize<</<<-operators (but not the<<<here-string), capture the possibly-quoted delimiter, and skip the heredoc body lines literally — without quote or paren tracking — up to the terminator. Multiple heredocs on one line and tab-stripping (<<-) are handled. This fixes the common pattern of capturing the output of a connector/CLI invocation that is fed a heredoc script containing apostrophes, backticks, or parentheses.The heredoc scan also tracks arithmetic
((...))nesting so a<<left-shift inside$((...))(or a nested arithmetic expansion) is not mistaken for a heredoc opener — previously a multi-line arithmetic expansion containing a shift, e.g.$((\n1 << 2\n)), had its closing))swallowed by spurious body-skipping.#248
d64009aThanks @Hazzng! - perf(grep): up to 14.5× speedup via preFilter extensions and matcher reuse.Anchored alternation patterns like
^def \|^async defnow extract literal needles (stripping outer^/$), enabling theString.indexOffast-path. Files with no matching needle are rejected beforesplit("\n"), skipping RE2 entirely.acquireMatcher()extended tomatch(),replace(),search(), andmatchAll()to reduce GC pressure across awk/sed hot-paths.#261
c9904deThanks @chernetsov! - set: support a bundled-o/+olong option inside a short-flag cluster (e.g.set -euo pipefail)The
setbuiltin previously rejectedset -euo pipefailwithbash: set: -o: invalid option, because it parsed each character after the-as an independent short flag and has nooshort flag.-owas only honored as its own token (set -eu -o pipefail).This is the canonical "bash strict mode" idiom and is extremely common in generated scripts, so the whole script would abort on its first line.
setnow matches bash: anoinside a cluster consumes the next word as its long-option name, and the remaining characters keep being parsed as short flags. Soset -euo pipefailis equivalent toset -e -u -o pipefail,set -oe pipefailenables bothpipefailanderrexit, trailing words become positional parameters, and+-clusters (set +euo pipefail) disable the options. An invalid bundled name (set -euo bogus) still reportsinvalid option name, and anowith no following argument falls back to the standalone-o/+olisting.@just-bash/executor@1.0.3
Patch Changes
75d8dfd,1369b77,4ece258,d64009a,c9904de]:executor-tools-example@1.0.4
Patch Changes
75d8dfd,1369b77,4ece258,d64009a,c9904de]: