You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/blog/2026-03-17-release-0-34.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
2
date: '2026-03-17'
3
-
title: 'Release 0.34.0'
4
-
description: 'Watch mode, test tags, date/JSON/duration assertions, and major performance gains.'
5
-
coverAlt: 'Watch mode, test tags, new assertions, performance optimizations'
3
+
title: 'Release 0.34.1'
4
+
description: 'Watch mode, test tags, date/JSON/duration assertions, performance gains, and critical bug fixes.'
5
+
coverAlt: 'Watch mode, test tags, new assertions, performance optimizations, bug fixes'
6
6
7
7
aside: false
8
8
---
@@ -11,7 +11,7 @@ aside: false
11
11
12
12
<time>{{ $formatDate($frontmatter.date) }}</time>
13
13
14
-
## 🔧 New features
14
+
## New features
15
15
16
16
### Watch mode
17
17
@@ -74,6 +74,10 @@ Measure how long a function takes to execute:
74
74
-`assert_duration_less_than` - execution finishes under N seconds
75
75
-`assert_duration_greater_than` - execution takes at least N seconds
76
76
77
+
### Risky test detection (0.34.1)
78
+
79
+
Tests with zero assertions are now flagged as **risky** with a warning. This helps catch tests that pass silently without actually verifying anything. Risky tests do not fail the suite — they are shown as warnings so you can decide whether to add assertions or mark them intentionally.
80
+
77
81
### More assertion power
78
82
79
83
-`assert_have_been_called_nth_with` - verify spy arguments on a specific invocation
@@ -82,7 +86,7 @@ Measure how long a function takes to execute:
82
86
-`--jobs N` flag to limit parallel test concurrency
83
87
- Source context display in failure summaries showing the relevant assertion lines
84
88
85
-
## ⚡ Performance
89
+
## Performance
86
90
87
91
This release includes significant performance optimizations reducing subprocess overhead across the board:
88
92
@@ -94,7 +98,7 @@ This release includes significant performance optimizations reducing subprocess
94
98
- Cache `base64 -w` flag support at load time instead of detecting per test
95
99
- Use direct variable access for assertion state instead of getter subshells in the runner hot path
96
100
97
-
## 🐛 Bug fixes
101
+
## Bug fixes
98
102
99
103
- Fix misleading error message for `assert_not_same` and `assert_not_equals` on failure
100
104
- Mocking `mktemp` no longer breaks spy creation
@@ -103,6 +107,13 @@ This release includes significant performance optimizations reducing subprocess
103
107
- Convert `time` values from milliseconds to seconds (float)
104
108
- Strip ANSI escape sequences and invalid XML control characters
105
109
110
+
### Lifecycle hook fixes (0.34.1)
111
+
112
+
- Fix `source` of non-existent file in `set_up()` silently passing all tests ([#611](https://github.com/TypedDevs/bashunit/issues/611))
113
+
- Fix `set_up` running before strict mode — unbound variables in hooks now detected with `--strict`
114
+
- Fix `source` failure in `tear_down()`, `set_up_before_script()`, and `tear_down_after_script()` silently passing
115
+
- Add missing runtime error patterns: ambiguous redirect, integer expression expected, too many arguments, value too great, not a valid identifier, unexpected EOF
116
+
106
117
---
107
118
108
-
See the full changelog on <ahref="https://github.com/TypedDevs/bashunit/releases/tag/0.34.0">GitHub</a>
119
+
See the full changelog for [0.34.0](https://github.com/TypedDevs/bashunit/releases/tag/0.34.0) and [0.34.1](https://github.com/TypedDevs/bashunit/releases/tag/0.34.1) on GitHub.
0 commit comments