Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
v1.8.0 - 2023-01-30
Commits
 
 
 - [New] extract parseandquoteto their own deep imports553fdfc
- [Tests] add nyccoveragefd7ddcd
- [New] Add support for here strings (<<<)9802fb3
- [New] parse: Add syntax support for duplicating input file descriptors216b198
- [Dev Deps] update @ljharb/eslint-config,aud,tape85f8e31
- [Tests] add evalmdc5549fc
- [actions] update checkout action 62e9b49
v1.7.4 - 2022-10-12
Merged
 
 
 - Add node_modules to .gitignore #48
Commits
 
 
 - [eslint] fix indentation and whitespace aaa9d1f
- [eslint] additional cleanup 397cb62
- [meta] add auto-changelog497fca5
- [actions] add reusable workflows 4763c36
- [eslint] add eslint 6ee1437
- [readme] rename, add badges 7eb5134
- [meta] update URLs 67381b6
- [meta] create FUNDING.yml; add fundingin package.json8641572
- [meta] use npmignoreto autogenerate an npmignore file2e2007a
- Only apps should have lockfiles f97411e
- [Dev Deps] update tape051f608
- [meta] add safe-publish-latest18cadf9
- [Tests] add audinposttestdc1cc12
1.7.3
 
 
 - Fix a security issue where the regex for windows drive letters allowed some shell meta-characters
 to escape the quoting rules. (CVE-2021-42740)
1.7.2
 
 
 - Fix a regression introduced in 1.6.3. This reverts the Windows path quoting fix. (144e1c2)
1.7.1
 
 
 - Fix $being removed when not part of an environment variable name. (@Adman in #32)
1.7.0
 
 
 - Add support for parsing >>and>&redirection operators. (@forivall in #16)
- Add support for parsing <(process substitution operator. (@cuonglm in #15)
1.6.3
 
 
 - Fix Windows path quoting problems. (@dy in #34)
v1.6.2 - 2019-08-13
Merged
 
 
 - Use native JSON and Array methods #21
Commits
 
1.6.1 - 2016-06-17
Commits
 
 
 - Fix some more escaping for .quote() ace52f4
- Fix escaping for greater than and less than 70e9eb2
1.6.0 - 2016-04-23
Commits
 
 
 - add comment parsing feature b8b5c31
1.5.0 - 2016-03-16
Commits
 
 
 - add escape option to .parse 4d400e7
1.4.3 - 2015-03-07
Commits
 
 
 - Fix quote() with special chars 811b5a0
1.4.2 - 2014-07-20
Commits
 
1.4.1 - 2013-12-24
Commits
 
1.4.0 - 2013-10-17
Merged
 
Commits
 
 
 - Rewrite parser as a character based scanner c7ca9a2
- Add tests for glob patterns 3418892
- Update algo description e1442cf
- Fix test case for backslash in double quotes 89bc550
- Add failing tests for crazy quoting tricks 58a5e48
1.3.3 - 2013-06-24
Commits
 
 
 - failing set test with an env cb 9fb2096
- remove the broken special case f9a0ee5
1.3.2 - 2013-06-24
Commits
 
 
 - tests for setting env vars f44b039
- fixed the parse test, broke the op tests 74d6686
- factored out single and double quote regex de9e0a5
- updated set env test, already passes 7d5636b
- ops fixed 2b4e1b1
- passing all tests 44177e3
- backreferences in negated capture groups don't actually work e189d9d
- another crazy ridiculous passing parse test d1beb6b
- failing test for quoted whitespace and nested quotes 9a4c11c
- failing test for quotes embedded inside barewords d997384
1.3.1 - 2013-05-13
Commits
 
1.3.0 - 2013-05-13
Commits
 
 
 - hacky tokenizer is much simpler 7e91b18
- nearly passing with a clunky state env parser, array issues d6d6416
- test for functional env expansion 666395f
- upgrade travis versions, tape f6f8bd6
- 1.3.0, document env() lookups 041c5da
- first half of functional env() works 7a0cf79
- env() objects even work inside quote strings 16139f5
- another check just to make sure env() works 914a1a9
1.2.0 - 2013-05-13
Commits
 
 
 - failing test for special shell parameter env vars 728862a
- add the special vars to the replace regex but the chunker breaks on them d1ff82a
- fixed the env test, everything is fine a45897f
1.1.0 - 2013-05-13
Commits
 
 
 - quote all ops objects ac7be63
- test for parsed ops objects in quote() 59fb71b
- another test for op object quoting 5819a31
1.0.0 - 2013-05-13
Commits
 
 
 - document ops, op example a6381e6
- some more passing double-char op tests fbc6e5c
- failing test for | and & ops d817736
- labeled regex states 8c008b2
- refactored the chunker regex into a string 0331c7f
- simple failing double-char op test e51fa90
- failing expanded single-op tests for ; and () 710bb24
- now passing all the single-char op tests e3e9ac1
- using the control ops directly from the docs f535987
- first part of op parsing works e6f9199
- failing redirect tests cb94c10
- another double-char op test just to be sure 5cf1bf2
- 1.0.0 for ops 17a40ed
- adding redirect <> ops to CONTROL makes the tests pass 48b1eb9
- double-char op test now passing 3998b0f
- using the meta chars directly from the docs b009ef6
- the spec says tabs are also allowed 2adb373
- op test completely passing 20a0147
0.1.1 - 2013-04-17
Commits
 
 
 - Return empty list when parsing an empty (or whitespace-only) string 1475717
0.1.0 - 2013-04-14
Commits
 
 
 - externalize the regex declaration 37d6058
- modernize the readme 24106f5
- factor out interpolation 1b21b01
- half the env tests are working with basic interpolation 5891471
- env parse example 5757c42
- failing tests for unimplemented env interpolation 590534a
- denormalize the interpolate logic to make room for special cases c669d2e
- cleaner implementation recursing on the double quote case adae66f
- one test was wrong, checking for pre escapes 42b5f83
- finally passing all the tests efa4084
- one more test passing with quote recursion e9537b9
- use tape everywhere ed0c1c6
- some extra metacharacter tests just to be sure a6782ae
- minor fix to an env test 601b340
- document parse env cc0efba
- better parse recursion to capture the containing quotes 8467961
- now just 2 tests failing with a subtle regex reordering 5448a02
- pass another test by using "" as the undefined 46e6cf4
- fixed a failing env test 17d1fda
- actually the test was wrong, module works fine 9d7b727
- another test to be even more sure 5afd47b
- failing test for: echo "foo = "foo"" 8dbb280
0.0.1 - 2012-05-18
Commits
 
 
 - fixed unescaped metachars and bump 5ce339f
- failing test for unescaped metachars a315125
- fix for escaped spaces 669b616
- failing test for escaped space c6ff3dc
0.0.0 - 2012-05-18
Commits