-
-
Notifications
You must be signed in to change notification settings - Fork 62
/
ChangeLog
357 lines (216 loc) · 9.81 KB
/
ChangeLog
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
2.10.1 (TBA)
-------------------
2.10.0 (2020-09-22)
-------------------
Buxfixes:
* `argbash-init` is able to handle empty string as the only argument without being puzzled (#130).
* Error handling of script working directory detection now more robust (#134).
New features:
* Argbash in the container has no longer the terminal output limitation caused by the crlf line ending (#129). Thanks to Felipe Santos (@felipecrs)!.
* The `ARG_USE_PROG` implementation was missing. Therefore, it was implemented as `ARG_USE_PROGRAM` using a slightly different interface.
2.9.0 (2020-08-01)
------------------
Buxfixes:
* Fixed typo in `argbash-init` and updated obsolete/incaccurate hints (#97).
* Fixed incorrect permission of non-script output files (#104).
* Increased MacOS compatibility by removing terminator from the `chmod` invocation (#107).
New features:
* Increased flexibility of the help option (#92).
* Improved `argbash-init` script template (#85).
* Increased flexibility of the version option (#123).
* Added a convenience function for module loading (#119).
* Added a possibility to the `argbash` tool to generate the script in-place, exposed as the `-i` option.
2.8.1 (2019-06-30)
------------------
Incompatible changes (minor):
* The `DEFINE_SCRIPT_DIR` macro doesn't resolve symlinks as it started to do so in `2.8.0`, use `DEFINE_SCRIPT_DIR_GNU` if you need the functionality.
New features (minor):
* The help message now contains reference for one-of argument types (#76).
Bugfixes:
* The environment variables help message has been fixed (#79).
* The manpage generation works when long description is supplied (#78).
* The `DEFINE_SCRIPT_DIR` macro doesn't use `readlink -e` any more (#74).
* Completion generation works when there are no options followed by value (#77).
2.8.0 (2019-01-26)
------------------
New features:
* Allow argbash and argbash-init to be run from symbolic links.
* Allow scripts generated by argbash-init with complete separation (`-s -s`) to be run from a symbolic link.
* Implemented output to generate manpages using the `rst2man` utility (fixes #37).
* Introduced the `ARG_VERSION_AUTO` macro.
Bugfixes:
* Double quotes in help messages are escaped (fixes #61).
* Fixed regression that allowed duplicate short options (fixes #58).
2.7.1 (2018-08-15)
------------------
New features:
* The bash completion now supports arguments of one-of-restricted values.
Bugfixes:
* Tests pass when there is no dash shell installed.
* The double-dash handling when `--` is the last argument has been improved.
* The generated bash completion is now complementing (i.e. not shadowing) the default bash completion.
* Docopt fatal regression has been fixed.
* Tests were added for docopt output.
2.7.0 (2018-07-19)
------------------
New features:
* `ARGBASH_WRAP` works recursively - you can wrap wrapped scripts.
* Introduced new output - the strict POSIX shell output.
Bugfixes:
* Fixed comment of the evaluate_strictness function in commented mode.
* `ARG_OPTIONAL_BOOL` won't let you specify other default values than `on` or `off`.
* Fixed bash completion containing a leading newline.
* Fixed Argbash bash completion generated filename.
2.6.1 (2018-03-04)
------------------
Bugfixes:
* Fixed the installation issue related to bash completion.
* Allowed docopt and completion output even in case of stdin input and stdout output.
2.6.0 (2018-02-27)
------------------
New features:
* Initial support for bash completion.
* Introduction of the `--strip` argument to `argbash` (deprecates the `--library option`).
* Initial support for `docopt` output.
Bugfixes:
* Fixed wrapping of scripts with repeated optional arguments.
* All scripts + tests are checked by Shellcheck.
* The `ARGBASH_WRAP` macro now supports looking for templates in subdirectories.
* Documentation expansion.
2.5.1 (2017-12-06)
------------------
Bugfixes:
* Fixed argbash-init corner cases (wrong output filename).
* Corrected argbash-init hint mode.
* Allowed argbash to wrap scripts in files with no extension.
* Fixed compatibility with the `-e` (i.e. "strict") mode (fixed #30).
2.5.0 (2017-09-03)
------------------
New features:
* The generated shell `case` statement is considerably nicer.
* Support for having more Argbash versions simultainously (applies to Argbash version that implement the `make alt(un)install` targets)
* Argbash functionality is now encapsulated in shell functions.
* API macros have checks against wrong number of arguments supplied.
* Short options can be also numeric.
* Introduced DIY mode as a preview feature.
* A Docker image of argbash is [available on Docker hub](https://hub.docker.com/r/matejak/argbash/). Thanks to [Peter Cummuskey](https://github.com/Tzrlk)))!
Bugfixes:
* Improved feedback when users provide invalid input (fixed #8, #9).
* The underlying code has been cleaned and distributed into multiple files.
* Fixed `m4_list_indices` to be consistent with `m4_list_nth`.
* Much-improved handling of typed arguments (fixed #25, #26).
* Improved documentation. Thanks to [Bianca Tamayo](https://github.com/btamayo)!
2.4.0 (2017-04-08)
------------------
New features:
* Implemented getopt-like behavior (so e.g. `-gIinclude` equals to `-g -I include` etc.).
* Improved feedback in case of mismatch between expected / received arguments.
Bugfixes:
* Argbash-powered scripts with positional arguments can be sourced consecutively without having to manually perform variable reset.
* Fixed issue #7 with newlines in help strings.
* The `argbash.spec` file has been corrected, so there is a hope that Argbash will make it to Fedora Linux distribution.
2.3.0 (2017-02-07)
------------------
New features:
* Behavior that raises an error when a script argument's value looks like option - enabled by the `ARG_RESTRICT_VALUES`.
New minor features:
* `argbash` provides more useful feedback in case of unmatched square brackets in the input
* `argbash` in standalone mode now uses the more fresh of the parsing code `.sh` or `.m4` templates (was undocumented, but the `.sh` one was always preferred over the `.m4`).
2.2.3 (2016-12-18)
------------------
New minor features:
* `argbash` tries to warn you when it looks like you have made a typo when attempting to use macros.
* `argbash` supports commented mode, when the parsing code is explained in detail
Bugfixes:
* Fixed handling of help messages in case of missing `ARG_HELP` macro
2.2.2 (2016-11-21)
------------------
New minor features:
* Added the `--mode` option to `argbash-init`.
* Improved help messages for arguments with typed values (experimental).
Bugfixes:
* Fixed quoting-related issues of the underlying code.
2.2.0 (2016-11-07)
------------------
New features:
* Introduced the `argbash-init` simple template generator.
* `argbash` can read from stdin.
* `ARG_HELP` gains second argument.
* Preview support for argument values types.
Bugfixes:
* Improved defaults indications in help messages.
* Overall internal code beautification.
2.1.1 (2016-08-26)
------------------
Bugfixes:
* Fixed help messages for the repeated optional args and added connected it to the delim choice.
* Fixed the installation process in `resources/Makefile`
2.1.0 (2016-08-26)
------------------
Incompatible changes (minor):
* `argbash` option `--standalone` has been renamed to `--library`.
New features:
* Support for configuration of argument-value delimiters (space and equal sign are supported - `--some-opt=value` as well as `--some-opt value` may work)
Bugfixes:
* Fixed handling of `argbash-xtoy` in Makefiles for tests/packaging.
* Added the `die` function to all generated scripts.
* Beautification of the underlying code.
* Documentation improvements in the Examples section.
2.0.0 (2016-08-03)
------------------
This release descends from `1.4.2`.
Incompatible changes:
* The variable name in which argument values are stored is different (lowercase) as the `bash` style guides recommend.
Bugfixes:
* Fixed a error handling bug in the `argbash-1to2` script.
1.4.2 (2016-08-02)
------------------
Bugfixes:
* Fixed the broken `argbash-1to2` script.
1.4.1 (2016-08-02)
------------------
Bugfixes:
* Fixed broken `Makefile` that prevented (un)installs.
1.4.0 (2016-08-02)
------------------
New features:
* Added the `ARGBASH_SET_INDENT` macro for indentation control.
* Created scripts are more compliant to the https://www.shellcheck.net/ tool.
* Introduced `argbash-1to2` script for migration to Argbash2
Bugfixes:
* Fixed some errors related to displaying help.
* Fixed spurious default to `ARG_POSITIONAL_INF`.
* Fixed handling of empty defaults.
1.3.0 (2016-07-23)
------------------
New features:
* Support for infinitely many (and leftover) arguments.
* Partial POSIX shell compatibility.
Bugfixes:
* Fixed definitions in the parsing part of the script.
* Expanded documentation --- expanded info about related projects.
1.2.1 (2016-07-10)
------------------
Bugfixes:
* Improved the wrapping of scripts to work with positional args
1.2.0 (2016-07-08)
------------------
New features:
* Support for repeated arguments, added specialized macro for --verbose
* Support for double dash (separating positional and optional arguments)
* Support for multi-valued arguments (with defaults)
* Improved generated code so users get more descriptive messages when something goes wrong
* The bash code tries to be minimal - only features that are used are supported
* Support for wrapping of other Argbash scripts
* Support for repeated arguments (s.a. argument `-I` of `gcc`)
Bugfixes:
* Fixed installation bug when ROOT variable was not treated properly
* Improved error reports when number of positional args doesn't match
* Improved m4s list implementation
* Added `m4_list_contains`
1.1.0 (2015-09-06)
------------------
New features:
* Support for positional args with default values.
* "Intelligent" shell auto-quoting of macro arguments.
* Improvement of standalone parsing code mode.