summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: 17a667796a47567388cc38a69c4104ffd75d391a (plain)
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
* Fixes:
  * Make sure certain variables are initialized before using them.
  * Fixed cursor attribute on search failure.
  * Some option names contain - instead of _.
  * Correction of potential dereferencing of a NULL pointer.
  * Correction of compiler warnings.

* Improvements:
  * Reworked code to go to start/end of line in col/line mode.
  * Added a scrollbar below the window in col/line mode that displays
    when necessary.
  * UTF-8 space support for empty strings.
  * Support for UTF-8 extended grapheme clusters if supported by the
    terminal.

* Miscellaneous:
  * Changed the appearance of scrollbars to make them more discreet.
  * Correction of typos in comments and in the manual.
  * Code simplification and redesign.
  * Reformatting the code to make it more readable.
  * Made more NULL comparisons explicit.

- Version 1.3.0
* Fixes:
  * Correction of an error in the calculation of the size of the longest word.
  * Corrects the calculation of the space taken by the first direct access
    numbers when it is explicitly specified.
  * Increase the size of the buffer to store the scancode to prevent it
    being truncated.
  * Make decoding the column or row number more robust in command line analysis.
  * Prevents the introduction of colours outside the range supported by
    the terminal.
* Improvements:
  * Add the -sb|-sbw|-show_blank_words option to help display all words
    composed entirely of spaces.
  * Allow selection intervals to have no start or end number.
  * In column mode, words can now be aligned left/right or centred.
  * When numbering is active, unnumbered words are now always filled in with
    blanks in col/line/tab mode.
  * The -start_pattern option has been extended so that all words matching
    the pattern can be searched directly using the Next/previous keys,
    without having to enter search mode.
  * The order in which -C/-R elements appear on the command line is now
    taken into account.
  * In column mode, columns and/or rows can have their own colour
    and/or style.
 Miscellaneous:
  * Corrections and improvements to the manual.
  * Removal of dead code.
  * Addition of an FAQ entry on alignments.
  * The memory consumption has been reduced.


- Version 1.2.0
* Fixes:
  * Correction of word selections with the mouse in long lines.
  * Fixed support for the double-click mouse delay setting.
  * Prevention of spurious commands being sent by the mouse paste function.
  * Allowed compilation with old glibc versions.
* Improvements:
  * Redesign of the multiple selection mechanism with the possibility to undo.
  * Improved initialization of mouse tracking modes.
* Miscellaneous:
  * Corrections and improvements to the manual.
  * Removal of dead code.

- Version 1.1.0
* Fixes:
  * Fix and improve the instant help (?) display.
  * Fix and improve the substitution code.
  * Fix and simplify the "End" key management code.
* Improvements:
  * Add mouse support.
  * Allows to shift the window's content horizontally without moving the cursor.
  * Small adjustments in UTF-8 symbols and comments.
  * Improve the documentation.
* Miscellaneous:
  * Various code simplifications.
- Version 1.0.0
  * Fix and improve the content of the integrated help system.
  * Allow multiple instances of the "-limits" option.
- Version 1.0.0.RC2
  * Improve memory management.
  * Reduce the scope of some variables.
  * Rework parts of the list code.
  * Sync with github's ctxopt commit b943e6b.
  * Switch to Mozilla Public License 2.0.
  * Modify the URL to find the package maintainers.
  * Fix a potential memory corruption.
- Version 1.0.0.RC1
* Fixes:
  * Fix configure.ac for autoconf >= 2.70.
  * Fixed a bug in the bash example in the README.
  * Synchronization with the commit 9ddac73 of ctxopt on github.
  * Use the right format to print size_t values (C99).
  * Add a missing break.
  * Fix a potential segfault when allocating .ini paths.
  * Fixed color and attribute parsing.
  * Fix some tests.
* Improvements:
  * Update to autoconf 2.71.
  * Added "invisible" style attribute (n).
  * Prevent smenu from running in the background.
  * Catch and handle SIGPIPE signal.
  * Improve the manual.
* Miscellaneous:
  * Various code simplifications.
  * Removal of some unnecessary parameter.
  * Removal of unnecessary code.
  * Fixed typos in the README file.
- Version 0.9.19
* Fixes:
  * Prevent an attempt to free memory that has already been freed.
  * Prevent memory leaks when requesting help.
  * Correctly handle the order of invocation of -i/-e options.
  * Apply a PR from h1z1 with a small correction.
  * Fix the UTF-8 byte sequence generation from a given UCS-4 codepoint.
  * Many small fixes.
* Improvements:
  * Improve the documentation.
  * Improve compatibility with some older compilers.
  * Added the ability to set a global inactivity timeout.
  * Improve the reliability of the code.
* Miscellaneous:
  * Removed the generation of the SUSE specific specfile.
  * Many typos have been corrected.
  * Various code simplifications.

- Version 0.9.18
* Fixes:
  * A mismatch between signed and unsigned chars has been corrected.
  * A fatal error in the direct access code has been corrected.
  * A logic error that could cause a crash has been fixed.
* Improvements:
  * The user manual has been updated.
  * An early substitution option -ES similar to -S has been added.
  * Special levels are now considered when displaying searched words.
  * An option to change the behaviour of the multi-selection mode has
    been added.
  * 4 more special levels (-6, -7, -8 and -9) are now available.
  * The missing blink attribute has been added.
  * The possibility to overload initial limits has been added.
  * A new search session now starts from scratch by default.
  * The integer checking function is now more reliable.
  * A better code for validating UTF-8 byte sequences is now used.
  * Tests have been added.
* Misc:
  * A missing licence reminder in the usage.c file has been added.
  * An example in the README file has been added.
  * Error messages are now more consistent.

- Version 0.9.17
* Fixes:
  * The method to get the cursor location has been fixed and improved.
  * A display problem when the title takes too many lines has been fixed.
  * A failure when reopening /dev/tty is now fatal.
  * Interesting signals are now trapped only when needed.
  * The refresh mechanism when resizing the terminal has been fixed
    and improved.
  * \U does not need too be escaped anymore.
* Improvements:
  * The -Q|-ignore_quotes option has been added to provide a way to
    ignore quotes when splitting the input stream/file into words.
  * The -!|-int|-int_string option has been added to define a string to
    be displayed on stdout when ^C is entered during a smenu session.
  * The usage text is now displayed in case of an error on the command
    line.
  * The code to create include/exclude RE patterns has been simplified.
  * smenu now mimics the Unix shell signal processing.
* Misc:
  * The availability of str(n)dup is now checked at compile time.
  * Tests for RE patterns/inv. character have bee added.
  * The obsolete autogen.sh script has been removed.
  * github's ctxopt commit f779fb8 is now used.
  * The code is now a little more readable.

- Version 0.9.16
* Bug fixes:
  * The SIGINT handling has been fixed.
  * The lvm_menu example is fixed.
  * Some memory allocation issues have been corrected.
  * The last example in the man page now works correctly.
  * The manual has been cleaned and corrected.
  * Missing headers has been added.
  * The List management code has been corrected and improved.
  * Invalid UTF-8 sequences entered using \u are now handled correctly.
  * Unreachable code has been removed.
  * As xwcscasecmp is missing in C99, a local version is now used.
  * The search timeout now works correctly.
* Improvements:
  * Option management has been completely rewritten to use a new, more
    flexible system called ctxopt (github.com/p-gen/ctxopt):
    - Both short and long options can now be used.
    - The validity of some option arguments can now be easily checked.
    - A better and more precise help system can now be used.
    - ...
  * The horizontal and vertical scrolling symbols are now visually consistent.
  * An updated version of autotools is now used.
  * Wide mode is now allowed in column mode.
  * Line delimiters can now be defined to break lines in tabulation mode.
  * A set of UTF-8 characters can now be ignored as input.
  * Substitution character for non-printable characters can now be changed.
  * -N and -U options can now have multiple arguments.
  * Fuzzy and substring searches now ignore leading and trailing blanks.
  * Unicode codepoints can now be entered using the new \U notation.
  * smenu has been optimized to support networks with high latency.
* Misc:
  * A note in the README to thank the packagers has been added.
  * The code has been adjusted to conform to C99.
  * The code has been cleaned up in many places.

- Version 0.9.15
* Bug fixes:
  * An ending pattern search was not correctly highlighted
  * An highlighting issue when hitting the HOME key during a search
    in numbered mode has been fixed
  * The PgUp/PgDn moves have been fixed and improved in the presence of
    excluded words
  * The height of the windows when a message is present is now correctly
    calculated
  * The SIGINT signal handling is working properly now
  * A vt100 terminal is assumed when the environment variable TERM
    is unset
* Improvements:
  * The 'o' sub-option of the -D option has been enhanced
  * The documentation has been improved and enhanced
  * An example of a hierarchical menu interpreter has been added
  * The message (title) appearance can now be changed with the -a option
  * An empty line has been added after the message (title) for clarity
  * The .spec file has been updated to support older SUSE/RH versions
  * An issue opening /dev/tty is now clearly signaled
  * The argument of the -n option is now optional and defaults to 0
    (full height)
  * It is now possible to directly move the cursor to the start/end of
    the current line
* Misc:
  * The code has been split into several files
  * The pull request #15 from sumbach/patch-1 has been merged
  * The pull request #12 from jonnydubowsky/patch-1 has been merged
  * More tests for the automatic regressions checking have been added
  * UTF-8 string length processing has been optimized
  * Help and usage messages are now printed on stdout
  * A FAQ has been added
  * Compiler warnings have been silenced

- Version 0.9.14
* Rework the search system (major change)
  * Add a substring and a fuzzy (fzf inspired) search mode
  * Enlighten the current search pattern in the matching words
  * Remove the search mode timeout
  * Introduce ENTER/ESC as a way to exit search mode
  * Add the prefix/suffix affinity when searching
  * Allow to tag/un-tag all the matching words
  * add a -/ option to affect a search method to the / command
  * Add 'T' and 'U' commands to tag/un-tag all the matching words
* Improve the direct access mechanism
  * [-D] Add a 's' (start) sub-option
  * [-D] Add a 'h' (head) sub-option
* Add a "full window" option value to -n
* Improve the test system and add tests
* Improve the documentation
* Update the README.rst file and mention the wiki on GitHub
* Fix an OpenBSD compatibility issue
* Fix and improve the color mechanism
* Fix the cursor display after an ESC hit
* Fix the tag attribute display
* Fix some compilation warnings
* Fix a missing message when the terminal is too small
* Fix a lot of other small and not-so-small bugs

- Version 0.9.13
* Add the first roll of an automated testing system
* Fix a FreeBSD compatibility issue
* Update the .spec file to create a '-test' RPM sub-package
* [-a] Add a missing setting for cursor_on_tag (ct)
* [-b] Fix a bug about non-printable characters
* [-V] Output the version tag on standard output
* [-D] Add a 'decorate' directive
* [-D] Handle multiple instances of the same directive
* Fix a logic error in the direct access code
* Fix an horizontal scrolling issue when going to the last word
* Clean up the allocated gutter array before leaving in case of error
* Understand some more terminfo sequences
* Fix the right margin and add a degraded method to display it
* Improve the manual
* Various other small bug fixes

Apr 08 18:32 UTC 2018 - p.gen.progs@gmail.com

- Version 0.9.12
* Fix the cursor restoration
* Fix a Solaris incompatibility
* Fix italic handling
* Fix the replacement of sub-expressions (-S,-I,-E)
* Fix a bug in the columns inclusion logic
* Fix the impossibility to use the letter 't' in search mode
* Fix possible display errors when the terminal is resized
* Make sure that the timers does not alter the redrawing of the window
* Add word numbering to allow direct access through their number (-N,-U,-F,-D)
* Improve The manual
* Allow the \u notation for UTF-8 characters in more places
* Improve the -T option and add the related -P option
* Add the -p for use with the -P and -T options
* The gutter option (-g) now accepts a parameter
* Adopt the NO_COLOR standard (http://no-color.org)
* Improve the navigation by understanding more keys and key combinations
* Understand CTRL+L to redraws the window in case of corruption
* Exit from search mode when a direction key is hit
* Adjust some values of timers
* Remove deprecated directives in -C and -L
* Various other small fixes and improvements

Jan 26 12:35 UTC 2018 - p.gen.progs@gmail.com

- Version 0.9.11
* Introduce the new \u notation for UTF-8 hex sequences
* Non-printable characters with an escape form are expanded
* Keep non selectable blank words to allow special effects
* Fix the wide option when in column or tabulation mode
* The last word is always the last of its line (-g)
* Improve message (-m) placement in centered mode
* Manage substitutions leading to empty strings
* Hopefully fix the placement of the scroll bar in all cases
* The gutter can now be displayed in column mode
* Various other small fixes

Jul 29 16:30:00 UTC 2017 - p.gen.progs@gmail.com

- Bump to version 0.9.10
* The words acquisition is rewritten and split in multiple phases
* Add the capacity to (de)select rows an columns containing regexes
* -i, -e, -C and -R can be used more than once and have a cumulative effect
* Bugfix: -s is able to jump to non selectable words
* Bugfix: The attributes are not overloaded when reading configuration files
* Bugfix: the right bar is too far right in some cases.
* Bugfix: the right shift indicator is omitted in some cases
* Add a -x|-X option to set a timeout in seconds
* Add a -f option to select an alternative configuration file
* Add a -a option to set the attributes of the displayed elements
* Add more controls in the selection parser
* smenu can now read words directly from a file given as parameter
* Rewrite the replace function used by -S/-I/-E with a more sed-like one
* Searches should always consider the visual aspect of words (-S/-I/-E)

Thu Dec 22 20:48:17 UTC 2016 - p.gen.progs@gmail.com

- Version 0.9.9
* New UTF8 validation routine
* Man page cleanup
* Code cleanup and improvement
* Improved configuration process
* Add code to detect the host system at compile time
* Compilation is now possible on BSD system derivatives
* Bug fix: ignore EOF when a scancode contains an escape sequence.
* Fix the cursor appearance on tagged words

Sun Dec 11 20:00:20 UTC 2016 - p.gen.progs@gmail.com

- Version 0.9.8
* Change the cursor aspect when the selected word is tagged
* Add a small animated gif demo
* Fix a potential infinite loop
* Use custom fgetc/ungetc to be able to safely push back more than one byte
* Add libtinfo in the searched libraries an regenerate configure
* Manage conflicts between -C, -R, -c, -l, and -t
* Improve and fix the help line display
* Add a -T option to enable a tagging (multi-selections) mode
* Add the -? option to only display the synopsis
* Adjust the code so that it can be compiled with an ANSI compiler
* Put the searched line in the middle of the displayed window if possible
* Add a -k option to prevent trimming spaces
* Fix the -s option
* When not in search mode, any key except '?' should quit the help mode
* Add a new example: yesno
* Fix an off-by-one error when using -c and -w together
* And many other minor changes and fixes

-------------------------------------------------------------------
Sun Mar 13 09:28:52 UTC 2016 - p.gen.progs@gmail.com

- Version 0.9.1
* Use the GNU autotools
* Fix a lot of small and not so small bugs
* Change the -s option semantic
* Improve help and man page
* Introduce some new options - see the man page for more
* Also rework some options - see the man page for more
* Add more configurable colors
* Add the notion of non-selectable words
* Add the notion of special words
* Add a (de)selection by rows and/or columns
* Interpret quotations in the input stream and ignore empty words
* Add an option to center the output window
* And many other minor changes

-------------------------------------------------------------------
Sun Aug 9 23:00:59 UTC 2015 - p.gen.progs@gmail.com

- Initial version - 0.9