Skip to content

Releases: webpro-nl/unbash

Release 4.0.11

Choose a tag to compare

@webpro webpro released this 01 Sep 19:04
235e9b3
  • Enable GitHub releases (resolves #9) (c21a0e3)
  • Preserve hash literals at nested word boundaries (33ec233)
  • Terminate empty-delimiter heredocs when printing (e2f6c64)
  • Cover upstream syntax edge cases (fe40610)
  • Reject empty then bodies (598b268)
  • Decode backtick quotes inside double quotes (7ab51ce)
  • Parse continued command substitutions (72a5ecb)
  • Preserve parameter slice boundaries around nested syntax (f322518)
  • Refresh benchmark results (abd7346)

Release 4.0.10

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
e56d62c
  • Own empty AST collections (78ddac8)
  • Serialize lazy arithmetic expressions (3ac1dd8)
  • Preserve redirect target source text (8a6720c)
  • Validate pipeline prefixes (e1b82b6)
  • Document source range units (564fafa)
  • Clarify unbash use cases (29dafa0)
  • Separate nested subshells when printing (a0ed574)
  • Terminate repaired heredocs on a new line (4746e9a)
  • Consume pending heredocs at end of input (98ebb33)

Release 4.0.9

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
dde53f1
  • Demote reserved words after a command prefix (389a0f6)
  • Read an array subscript as a matched pair in assignment position (1a86366)
  • Recognize conditional operators only when written unquoted (b85e8a5)
  • Keep a trailing backslash as a literal word character (919266e)
  • Consume $$ as a unit when scanning a parameter expansion (b6b2652)
  • Scan over nested substitutions inside a parameter expansion (b3a4040)
  • Close $[ at the first unnested bracket (7064588)
  • Recognize case in a substitution only at a word boundary (d4c9a1e)
  • End a heredoc body at a delimiter line that closes its substitution (d5ca651)
  • Read a backquoted heredoc delimiter as literal text (2548b66)
  • Treat # as ordinary inside a $(( extent (bf2d743)
  • Trim comments added with the parser backlog fixes (84fe18b)
  • Update benchmarks (tree-sitter 0.25.1 builds in node 24) (c8a3c7a)

Release 4.0.8

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
c2f3532
  • Toggle pipeline negation on every leading bang (0795ddd)
  • Accept a brace group as a for or select loop body (e8c987b)
  • Parse a parenthesized function body after the function keyword (bb8c245)
  • Read <( and >( as process substitution inside [[ ]] (cd5c2a1)
  • Scan deprecated $[ ] arithmetic to its closing bracket (aca45fc)
  • Balance parentheses inside a case within a command substitution (16a9365)
  • Read (( and $(( as arithmetic only when the inner pair closes it (77dbf5c)
  • Print reserved-word function names with the function keyword (286190a)
  • Drop dead depth bookkeeping from the extractBalanced fast path (784ca58)
  • Report benchmark throughput and refresh bundle size (c424768)
  • Format (f009841)
  • Update dependencies (c436c38)

Release 4.0.7

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
abfe6f7
  • Add input hash to playground (5367892)
  • Add badges + link to playground w/ usage example input (0b9082c)
  • Fix silent partial parses and quoted Bash keywords (#8) (7802826) - thanks @privatenumber!
  • Treat ]] outside a test command as an ordinary word (8a70ae2)
  • Skip comments when scanning an array assignment body (8157071)
  • Recognize reserved terminators after a compound command (6bacbfb)
  • Require lexical eligibility for time flags and test negation (5f2ae95)
  • Sort parse errors by source position (5b1aeff)
  • Treat $' inside double quotes as a literal dollar (695cf20)
  • Print heredoc bodies after the line their redirect lands on (40422cf)
  • Derive the follow context only when a token is read (d341f0a)

Release 4.0.6

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
2d25067
  • Preserve grouped arithmetic expansions (e87c453)
  • Preserve brace command substitutions (7c65008)
  • Update docs (dbf8198)

Release 4.0.5

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
3931662
  • Fix stale README examples and document lazy Word.parts (a16f386)
  • fix: don't treat Object.prototype members as reserved words (#5) (22a56ac) - thanks @mindlace!
  • Fix assignment and parameter expansion edge cases (dcc0f6a)
  • Bound compound syntax nesting and recovery (7102207)
  • Expose nested expansion structure (4acb748)
  • Report syntax errors and parse test regex operands (1cc08c6)
  • Decode ANSI-C quotes and preserve unfinished literals (73cefe8)
  • Preserve redirect and heredoc semantics (a17bdae)
  • Keep redirects on nameless commands (45f01b4)
  • Cut allocation and dispatch overhead in hot paths (75eaa26)
  • Materialize word token values lazily (a5823d2)
  • Update docs: when to use unbash? (71b7db1)
  • Format (9a16b4f)

Release 4.0.4

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
f4b8c88
  • Report unterminated command and process substitutions (ac55f9c)
  • Add release-it as devDep (ee5f70f)

Release 4.0.3

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
838f277
  • Skip heredoc bodies when scanning cmd substitution extents (resolve #4) (1f49241)
  • Update dependencies (d12dd78)

Release 4.0.2

Choose a tag to compare

@webpro webpro released this 01 Sep 09:48
af13d2b
  • Fix Word.value backslash quote removal (5f8bbee)
  • Parse array assignments in-place (31e2787)