Releases: webpro-nl/unbash
Releases · webpro-nl/unbash
Release list
Release 4.0.11
- 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
- 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
- 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
- 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
- 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
Release 4.0.5
- 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)