demand 2.0.2

A CLI prompt library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
# Changelog

## [2.0.2]https://github.com/jdx/demand/compare/v2.0.1...v2.0.2 - 2026-05-17

### Fixed

- allow ArrowUp/ArrowDown/Space during filtering in multiselect ([#164]https://github.com/jdx/demand/pull/164)

### Other

- *(deps)* update rust crate ctor to v1 ([#163]https://github.com/jdx/demand/pull/163)
- *(deps)* update release-plz/action digest to 064f4d1 ([#160]https://github.com/jdx/demand/pull/160)
- *(deps)* update dependency hk to v1.45.0 ([#161]https://github.com/jdx/demand/pull/161)
- *(deps)* update rust crate ctor to 0.12 ([#159]https://github.com/jdx/demand/pull/159)

## [2.0.1]https://github.com/jdx/demand/compare/v2.0.0...v2.0.1 - 2026-05-05

### Fixed

- *(multiselect)* stop menu from drifting up on each keypress ([#156]https://github.com/jdx/demand/pull/156)

### Other

- *(deps)* update dependency hk to v1.43.0 ([#152]https://github.com/jdx/demand/pull/152)
- *(deps)* update rust crate ctor to 0.10 ([#153]https://github.com/jdx/demand/pull/153)
- *(deps)* update rust crate ctor to 0.9 ([#150]https://github.com/jdx/demand/pull/150)

## [2.0.0]https://github.com/jdx/demand/compare/v1.8.2...v2.0.0 - 2026-03-08

### Added

- *(input)* add mask_on_submit option ([#138]https://github.com/jdx/demand/pull/138)
- add Wizard component for multi-step wizard flows ([#127]https://github.com/jdx/demand/pull/127)

### Fixed

- add #[non_exhaustive] to Theme struct ([#139]https://github.com/jdx/demand/pull/139)

### Other

- make multiselect dialogue rendering more efficient ([#129]https://github.com/jdx/demand/pull/129)
- *(deps)* update dependency hk to v1.37.0 ([#137]https://github.com/jdx/demand/pull/137)
- *(deps)* update jdx/mise-action digest to e79ddf6 ([#136]https://github.com/jdx/demand/pull/136)
- *(deps)* update dependency cargo:cargo-release to v1 ([#135]https://github.com/jdx/demand/pull/135)
- *(deps)* update release-plz/action digest to f708778 ([#134]https://github.com/jdx/demand/pull/134)
- *(deps)* update actions/checkout action to v6 ([#133]https://github.com/jdx/demand/pull/133)
- *(deps)* update dependency hk to v1.36.0 ([#132]https://github.com/jdx/demand/pull/132)
- *(deps)* update actions/checkout digest to de0fac2 ([#131]https://github.com/jdx/demand/pull/131)
- *(deps)* pin dependencies ([#130]https://github.com/jdx/demand/pull/130)

## [1.8.2]https://github.com/jdx/demand/compare/v1.8.1...v1.8.2 - 2026-01-31

### Fixed

- improve non-TTY support, input parsing, and ambiguous key handling for confirm dialog ([#115]https://github.com/jdx/demand/pull/115)
- *(deps)* update rust crate signal-hook to 0.4 ([#124]https://github.com/jdx/demand/pull/124)

### Other

- add release-plz for automated releases ([#125]https://github.com/jdx/demand/pull/125)

## [1.8.1] - 2025-12-21

### Bug Fixes

- Select panics when ENTER is pressed with all options filtered out (#122)

## [1.8.0] - 2025-11-27

### Bug Fixes

- Add custom vhs Docker image and fix tasks for vhs recordings

### Documentation

- Add example for input autocompletion

### Features

- Add custom autocompleter api (#116)

### Miscellaneous Tasks

- Release demand version 1.8.0
- Losen git-cliff version

## [1.7.2] - 2025-09-30

### Bug Fixes

- Check stdin instead of stderr for TTY detection

### Miscellaneous Tasks

- Release demand version 1.7.2

## [1.7.1] - 2025-09-30

### Bug Fixes

- Support non-TTY input for automated testing (#113)
- Update rust crate console to 0.16 (#105)

### Miscellaneous Tasks

- Release demand version 1.7.1
- Fix uninlined_format_args linter errors

## [1.7.0] - 2025-05-02

### Bug Fixes

- Demand 1.6.4 clears screen on Select::run (#102)

### Features

- Set input default value (#103)
- Add validation input trait (#101)

### Miscellaneous Tasks

- Release demand version 1.7.0

### Refactor

- Remove `once_cell` dependency in favour of `std::sync::LazyLock` (#98)

## [1.6.5] - 2025-03-15

### Bug Fixes

- Prompt shows input history on every typed character (#95)

### Miscellaneous Tasks

- Release demand version 1.6.5
- Edition 2024 (#96)

## [1.6.4] - 2025-02-26

### Bug Fixes

- Clear entire screen instead of removing lines by widget height (#88)

### Documentation

- Align and fix doc comments (#92)

### Miscellaneous Tasks

- Release demand version 1.6.4

## [1.6.3] - 2025-02-17

### Bug Fixes

- Ctrl-c doesn't restore cursor after Select::run (#90)

### Miscellaneous Tasks

- Release demand version 1.6.3

## [1.6.2] - 2025-01-24

### Bug Fixes

- Add .DS_Store, .vscode to .gitignore (#86)
- White flash in select when filtering: true (#83)

### Features

- Add filtering option for multiselect (#85)

### Miscellaneous Tasks

- Release demand version 1.6.2

## [1.6.1] - 2025-01-07

### Bug Fixes

- Select with a specific option set as selected is not shown as selected in the output
- Update rust crate itertools to 0.14 (#79)

### Miscellaneous Tasks

- Release demand version 1.6.1
- Include specific files

## [1.6.0] - 2024-12-18

### Bug Fixes

- Ctrl-c doesn't restore cursor

### Features

- Use prettier cursor for select

### Miscellaneous Tasks

- Release demand version 1.6.0
- Bump mise tools

### Testing

- Run CI on windows/mac

## [1.5.0] - 2024-12-14

### Bug Fixes

- [select] arrow keys should work while filtering

### Features

- [select] allow left/right navigation on filter input
- [select] highlight matched characters when filtering

### Miscellaneous Tasks

- Release demand version 1.5.0

## [1.4.1] - 2024-12-11

### Bug Fixes

- Allow pressing enter to select

### Miscellaneous Tasks

- Release demand version 1.4.1

## [1.4.0] - 2024-12-11

### Features

- Added select descriptions, drop-in filtering, and fuzzy matching

### Miscellaneous Tasks

- Release demand version 1.4.0

## [1.3.0] - 2024-12-09

### Bug Fixes

- Use vhs Docker image to build screencasts (#61)

### Features

- Quit interactive menus with single-key shortcut escape

### Miscellaneous Tasks

- Release demand version 1.3.0

## [1.2.4] - 2024-06-02

### Bug Fixes

- [security] password input renders password on success (#60)

### Miscellaneous Tasks

- Release demand version 1.2.4

## [1.2.3] - 2024-05-23

### Miscellaneous Tasks

- Release demand version 1.2.3
- Update screen recordings (#58)
- Add example and docs for list (#56)

### Update

- Remove leading space from rendered output (#57)

## [1.2.2] - 2024-05-15

### Bug Fixes

- Multiselect clear when filtering
- Multiselect clear when change page
- Select clear when change page
- Select clear when filter could change size
- List clear when stop filtering
- Select not reseting cur page while filtering
- List clear when filtering, for running in spinner
- Multiselect making spinner flicker
- List help had dot while filtering
- Select making spinner flicker
- Input making spinner flicker
- Confirm making spinner flicker
- Select name going off screen
- List name being off screen sometimes
- Typo

### Features

- Multiselect show pages without description
- Show pages even when there is no descroption
- Render help when multiselect filtering
- Multiselect filter uses custom cursor
- Select help renders while filtering
- Select filter uses custom cursor
- SpinnerActionRunner.title now accepts into<string>

### Miscellaneous Tasks

- Release demand version 1.2.2
- Release demand version 1.2.1
- Update tests
- Add list to spinner prompts example
- Remove space that was really annoying me

## [1.2.0] - 2024-05-15

### Features

- Add dialog with variable buttons (#54)
- List (#51)

### Miscellaneous Tasks

- Release demand version 1.2.0

## [1.1.2] - 2024-04-27

### Miscellaneous Tasks

- Release demand version 1.1.2

## [1.1.1] - 2024-04-23

### Bug Fixes

- Clippy warnings
- Do not reveal whitespace when masked (#42)
- Remove unused variables from examples

### Features

- DemandOption no longer requires item to impl Display, Select and MultiSelect trait bounds updated to reflect that (#47)

### Miscellaneous Tasks

- Release demand version 1.1.1

## [1.1.0] - 2024-02-22

### Features

- Add input autocompletion (#39)

### Miscellaneous Tasks

- Release demand version 1.1.0
- Update example gifs
- Remove unnecessary println statements from examples

## [1.0.2] - 2024-02-15

### Bug Fixes

- Input - panics if charaters with more than one unicode points are used (#37)
- Input - always renders default prompt if inline (#33)

### Features

- Add input validation (#34)

### Miscellaneous Tasks

- Release demand version 1.0.2
- Update README.md

## [1.0.1] - 2024-01-25

### Miscellaneous Tasks

- Release demand version 1.0.1

## [1.0.0] - 2024-01-25

### Bug Fixes

- Input - remove unnecessary code (#26)
- Select - incorrect number of pages when filtering (#24)
- Input - set default prompt to '> ' (#20)
- Indent input by a space like the other inputs (#18)
- Input - handle arrow keys (#11)

### Features

- Spinner - expose SpinnerStyle and add example (#28)
- Input - add support for ctrl+w and ctrl-u (#27)
- Add tests to verify initial rendering (#25)
- Add themes dracula, catppuccin, base16 (#19)
- Implement spinner (#13)

### Miscellaneous Tasks

- Release demand version 1.0.0
- Add changelog via git-cliff (#29)
- Align and update examples (#14)

## [0.4.0] - 2024-01-18

### Bug Fixes

- Select might panic when filtering multi-page options (#5)

### Features

- Implement simple text input (#10)

### Miscellaneous Tasks

- Release demand version 0.4.0

## [0.3.0] - 2023-12-21

### Miscellaneous Tasks

- Release demand version 0.3.0

## [0.2.0] - 2023-12-21

### Miscellaneous Tasks

- Release demand version 0.2.0

## [0.1.1] - 2023-12-21

### Miscellaneous Tasks

- Release demand version 0.1.1

## [0.1.0] - 2023-12-21