Skip to content

Commit e83f306

Browse files
committed
docs: update CHANGELOG for coproc changes
1 parent ea4a90f commit e83f306

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,35 @@ and this project adheres to
88

99
## [Unreleased]
1010

11+
### BREAKING CHANGES
12+
13+
> [!NOTE]
14+
>
15+
> `json.bash` is version `0.x`, so the major version is not incremented.
16+
17+
- The `json.validate` function now sets and clears a bash trap for `SIGPIPE`
18+
when called. If something else in a bash script is also setting a trap for
19+
`SIGPIPE`, the trap will be cleared after validating JSON. (It's not practical
20+
to detect and restore existing `SIGPIPE` traps due to the performance cost of
21+
doing so.) ([#15](https://github.com/h4l/json.bash/pull/15))
22+
23+
### Fixed
24+
25+
- The JSON validation co-process exiting at startup could cause bash to exit
26+
with an unbound variable error, due to the special coproc `_PID` var not being
27+
set. Interaction with the validator co-process is now more robust to errors
28+
that can occur when it exits unexpectedly. For example, if the grep command is
29+
not compatible with the GNU grep flags we use.
30+
([#15](https://github.com/h4l/json.bash/pull/15))
31+
32+
### Added
33+
34+
- The `JSON_BASH_GREP` environment variable can be set to a `:` delimited list
35+
of commands to use when starting the grep JSON validator co-process. It
36+
defaults to `ggrep:grep`, so systems with `ggrep` will use it first. (GNU grep
37+
is commonly `ggrep` when `grep` is not GNU grep.)
38+
([#15](https://github.com/h4l/json.bash/pull/15))
39+
1140
### Changed
1241

1342
- Fixed broken link in README's manual install instructions

0 commit comments

Comments
 (0)