Fix BS handling
[smenu.git] / ChangeLog
blobc706299ff3c0455cbc4356022d0a3c86cf3d3b91
1 - Version 1.4.0
2 * Fixes:
3   * Make sure certain variables are initialized before using them.
4   * Fixed cursor attribute on search failure.
5   * Some option names contain - instead of _.
6   * Correction of potential dereferencing of a NULL pointer.
7   * Correction of compiler warnings.
9 * Improvements:
10   * Reworked code to go to start/end of line in col/line mode.
11   * Added a scrollbar below the window in col/line mode that displays
12     when necessary.
13   * UTF-8 space support for empty strings.
14   * Support for UTF-8 extended grapheme clusters if supported by the
15     terminal.
17 * Miscellaneous:
18   * Changed the appearance of scrollbars to make them more discreet.
19   * Correction of typos in comments and in the manual.
20   * Code simplification and redesign.
21   * Reformatting the code to make it more readable.
22   * Made more NULL comparisons explicit.
24 - Version 1.3.0
25 * Fixes:
26   * Correction of an error in the calculation of the size of the longest word.
27   * Corrects the calculation of the space taken by the first direct access
28     numbers when it is explicitly specified.
29   * Increase the size of the buffer to store the scancode to prevent it
30     being truncated.
31   * Make decoding the column or row number more robust in command line analysis.
32   * Prevents the introduction of colours outside the range supported by
33     the terminal.
34 * Improvements:
35   * Add the -sb|-sbw|-show_blank_words option to help display all words
36     composed entirely of spaces.
37   * Allow selection intervals to have no start or end number.
38   * In column mode, words can now be aligned left/right or centred.
39   * When numbering is active, unnumbered words are now always filled in with
40     blanks in col/line/tab mode.
41   * The -start_pattern option has been extended so that all words matching
42     the pattern can be searched directly using the Next/previous keys,
43     without having to enter search mode.
44   * The order in which -C/-R elements appear on the command line is now
45     taken into account.
46   * In column mode, columns and/or rows can have their own colour
47     and/or style.
48  Miscellaneous:
49   * Corrections and improvements to the manual.
50   * Removal of dead code.
51   * Addition of an FAQ entry on alignments.
52   * The memory consumption has been reduced.
55 - Version 1.2.0
56 * Fixes:
57   * Correction of word selections with the mouse in long lines.
58   * Fixed support for the double-click mouse delay setting.
59   * Prevention of spurious commands being sent by the mouse paste function.
60   * Allowed compilation with old glibc versions.
61 * Improvements:
62   * Redesign of the multiple selection mechanism with the possibility to undo.
63   * Improved initialization of mouse tracking modes.
64 * Miscellaneous:
65   * Corrections and improvements to the manual.
66   * Removal of dead code.
68 - Version 1.1.0
69 * Fixes:
70   * Fix and improve the instant help (?) display.
71   * Fix and improve the substitution code.
72   * Fix and simplify the "End" key management code.
73 * Improvements:
74   * Add mouse support.
75   * Allows to shift the window's content horizontally without moving the cursor.
76   * Small adjustments in UTF-8 symbols and comments.
77   * Improve the documentation.
78 * Miscellaneous:
79   * Various code simplifications.
80 - Version 1.0.0
81   * Fix and improve the content of the integrated help system.
82   * Allow multiple instances of the "-limits" option.
83 - Version 1.0.0.RC2
84   * Improve memory management.
85   * Reduce the scope of some variables.
86   * Rework parts of the list code.
87   * Sync with github's ctxopt commit b943e6b.
88   * Switch to Mozilla Public License 2.0.
89   * Modify the URL to find the package maintainers.
90   * Fix a potential memory corruption.
91 - Version 1.0.0.RC1
92 * Fixes:
93   * Fix configure.ac for autoconf >= 2.70.
94   * Fixed a bug in the bash example in the README.
95   * Synchronization with the commit 9ddac73 of ctxopt on github.
96   * Use the right format to print size_t values (C99).
97   * Add a missing break.
98   * Fix a potential segfault when allocating .ini paths.
99   * Fixed color and attribute parsing.
100   * Fix some tests.
101 * Improvements:
102   * Update to autoconf 2.71.
103   * Added "invisible" style attribute (n).
104   * Prevent smenu from running in the background.
105   * Catch and handle SIGPIPE signal.
106   * Improve the manual.
107 * Miscellaneous:
108   * Various code simplifications.
109   * Removal of some unnecessary parameter.
110   * Removal of unnecessary code.
111   * Fixed typos in the README file.
112 - Version 0.9.19
113 * Fixes:
114   * Prevent an attempt to free memory that has already been freed.
115   * Prevent memory leaks when requesting help.
116   * Correctly handle the order of invocation of -i/-e options.
117   * Apply a PR from h1z1 with a small correction.
118   * Fix the UTF-8 byte sequence generation from a given UCS-4 codepoint.
119   * Many small fixes.
120 * Improvements:
121   * Improve the documentation.
122   * Improve compatibility with some older compilers.
123   * Added the ability to set a global inactivity timeout.
124   * Improve the reliability of the code.
125 * Miscellaneous:
126   * Removed the generation of the SUSE specific specfile.
127   * Many typos have been corrected.
128   * Various code simplifications.
130 - Version 0.9.18
131 * Fixes:
132   * A mismatch between signed and unsigned chars has been corrected.
133   * A fatal error in the direct access code has been corrected.
134   * A logic error that could cause a crash has been fixed.
135 * Improvements:
136   * The user manual has been updated.
137   * An early substitution option -ES similar to -S has been added.
138   * Special levels are now considered when displaying searched words.
139   * An option to change the behaviour of the multi-selection mode has
140     been added.
141   * 4 more special levels (-6, -7, -8 and -9) are now available.
142   * The missing blink attribute has been added.
143   * The possibility to overload initial limits has been added.
144   * A new search session now starts from scratch by default.
145   * The integer checking function is now more reliable.
146   * A better code for validating UTF-8 byte sequences is now used.
147   * Tests have been added.
148 * Misc:
149   * A missing licence reminder in the usage.c file has been added.
150   * An example in the README file has been added.
151   * Error messages are now more consistent.
153 - Version 0.9.17
154 * Fixes:
155   * The method to get the cursor location has been fixed and improved.
156   * A display problem when the title takes too many lines has been fixed.
157   * A failure when reopening /dev/tty is now fatal.
158   * Interesting signals are now trapped only when needed.
159   * The refresh mechanism when resizing the terminal has been fixed
160     and improved.
161   * \U does not need too be escaped anymore.
162 * Improvements:
163   * The -Q|-ignore_quotes option has been added to provide a way to
164     ignore quotes when splitting the input stream/file into words.
165   * The -!|-int|-int_string option has been added to define a string to
166     be displayed on stdout when ^C is entered during a smenu session.
167   * The usage text is now displayed in case of an error on the command
168     line.
169   * The code to create include/exclude RE patterns has been simplified.
170   * smenu now mimics the Unix shell signal processing.
171 * Misc:
172   * The availability of str(n)dup is now checked at compile time.
173   * Tests for RE patterns/inv. character have bee added.
174   * The obsolete autogen.sh script has been removed.
175   * github's ctxopt commit f779fb8 is now used.
176   * The code is now a little more readable.
178 - Version 0.9.16
179 * Bug fixes:
180   * The SIGINT handling has been fixed.
181   * The lvm_menu example is fixed.
182   * Some memory allocation issues have been corrected.
183   * The last example in the man page now works correctly.
184   * The manual has been cleaned and corrected.
185   * Missing headers has been added.
186   * The List management code has been corrected and improved.
187   * Invalid UTF-8 sequences entered using \u are now handled correctly.
188   * Unreachable code has been removed.
189   * As xwcscasecmp is missing in C99, a local version is now used.
190   * The search timeout now works correctly.
191 * Improvements:
192   * Option management has been completely rewritten to use a new, more
193     flexible system called ctxopt (github.com/p-gen/ctxopt):
194     - Both short and long options can now be used.
195     - The validity of some option arguments can now be easily checked.
196     - A better and more precise help system can now be used.
197     - ...
198   * The horizontal and vertical scrolling symbols are now visually consistent.
199   * An updated version of autotools is now used.
200   * Wide mode is now allowed in column mode.
201   * Line delimiters can now be defined to break lines in tabulation mode.
202   * A set of UTF-8 characters can now be ignored as input.
203   * Substitution character for non-printable characters can now be changed.
204   * -N and -U options can now have multiple arguments.
205   * Fuzzy and substring searches now ignore leading and trailing blanks.
206   * Unicode codepoints can now be entered using the new \U notation.
207   * smenu has been optimized to support networks with high latency.
208 * Misc:
209   * A note in the README to thank the packagers has been added.
210   * The code has been adjusted to conform to C99.
211   * The code has been cleaned up in many places.
213 - Version 0.9.15
214 * Bug fixes:
215   * An ending pattern search was not correctly highlighted
216   * An highlighting issue when hitting the HOME key during a search
217     in numbered mode has been fixed
218   * The PgUp/PgDn moves have been fixed and improved in the presence of
219     excluded words
220   * The height of the windows when a message is present is now correctly
221     calculated
222   * The SIGINT signal handling is working properly now
223   * A vt100 terminal is assumed when the environment variable TERM
224     is unset
225 * Improvements:
226   * The 'o' sub-option of the -D option has been enhanced
227   * The documentation has been improved and enhanced
228   * An example of a hierarchical menu interpreter has been added
229   * The message (title) appearance can now be changed with the -a option
230   * An empty line has been added after the message (title) for clarity
231   * The .spec file has been updated to support older SUSE/RH versions
232   * An issue opening /dev/tty is now clearly signaled
233   * The argument of the -n option is now optional and defaults to 0
234     (full height)
235   * It is now possible to directly move the cursor to the start/end of
236     the current line
237 * Misc:
238   * The code has been split into several files
239   * The pull request #15 from sumbach/patch-1 has been merged
240   * The pull request #12 from jonnydubowsky/patch-1 has been merged
241   * More tests for the automatic regressions checking have been added
242   * UTF-8 string length processing has been optimized
243   * Help and usage messages are now printed on stdout
244   * A FAQ has been added
245   * Compiler warnings have been silenced
247 - Version 0.9.14
248 * Rework the search system (major change)
249   * Add a substring and a fuzzy (fzf inspired) search mode
250   * Enlighten the current search pattern in the matching words
251   * Remove the search mode timeout
252   * Introduce ENTER/ESC as a way to exit search mode
253   * Add the prefix/suffix affinity when searching
254   * Allow to tag/un-tag all the matching words
255   * add a -/ option to affect a search method to the / command
256   * Add 'T' and 'U' commands to tag/un-tag all the matching words
257 * Improve the direct access mechanism
258   * [-D] Add a 's' (start) sub-option
259   * [-D] Add a 'h' (head) sub-option
260 * Add a "full window" option value to -n
261 * Improve the test system and add tests
262 * Improve the documentation
263 * Update the README.rst file and mention the wiki on GitHub
264 * Fix an OpenBSD compatibility issue
265 * Fix and improve the color mechanism
266 * Fix the cursor display after an ESC hit
267 * Fix the tag attribute display
268 * Fix some compilation warnings
269 * Fix a missing message when the terminal is too small
270 * Fix a lot of other small and not-so-small bugs
272 - Version 0.9.13
273 * Add the first roll of an automated testing system
274 * Fix a FreeBSD compatibility issue
275 * Update the .spec file to create a '-test' RPM sub-package
276 * [-a] Add a missing setting for cursor_on_tag (ct)
277 * [-b] Fix a bug about non-printable characters
278 * [-V] Output the version tag on standard output
279 * [-D] Add a 'decorate' directive
280 * [-D] Handle multiple instances of the same directive
281 * Fix a logic error in the direct access code
282 * Fix an horizontal scrolling issue when going to the last word
283 * Clean up the allocated gutter array before leaving in case of error
284 * Understand some more terminfo sequences
285 * Fix the right margin and add a degraded method to display it
286 * Improve the manual
287 * Various other small bug fixes
289 Apr 08 18:32 UTC 2018 - p.gen.progs@gmail.com
291 - Version 0.9.12
292 * Fix the cursor restoration
293 * Fix a Solaris incompatibility
294 * Fix italic handling
295 * Fix the replacement of sub-expressions (-S,-I,-E)
296 * Fix a bug in the columns inclusion logic
297 * Fix the impossibility to use the letter 't' in search mode
298 * Fix possible display errors when the terminal is resized
299 * Make sure that the timers does not alter the redrawing of the window
300 * Add word numbering to allow direct access through their number (-N,-U,-F,-D)
301 * Improve The manual
302 * Allow the \u notation for UTF-8 characters in more places
303 * Improve the -T option and add the related -P option
304 * Add the -p for use with the -P and -T options
305 * The gutter option (-g) now accepts a parameter
306 * Adopt the NO_COLOR standard (http://no-color.org)
307 * Improve the navigation by understanding more keys and key combinations
308 * Understand CTRL+L to redraws the window in case of corruption
309 * Exit from search mode when a direction key is hit
310 * Adjust some values of timers
311 * Remove deprecated directives in -C and -L
312 * Various other small fixes and improvements
314 Jan 26 12:35 UTC 2018 - p.gen.progs@gmail.com
316 - Version 0.9.11
317 * Introduce the new \u notation for UTF-8 hex sequences
318 * Non-printable characters with an escape form are expanded
319 * Keep non selectable blank words to allow special effects
320 * Fix the wide option when in column or tabulation mode
321 * The last word is always the last of its line (-g)
322 * Improve message (-m) placement in centered mode
323 * Manage substitutions leading to empty strings
324 * Hopefully fix the placement of the scroll bar in all cases
325 * The gutter can now be displayed in column mode
326 * Various other small fixes
328 Jul 29 16:30:00 UTC 2017 - p.gen.progs@gmail.com
330 - Bump to version 0.9.10
331 * The words acquisition is rewritten and split in multiple phases
332 * Add the capacity to (de)select rows an columns containing regexes
333 * -i, -e, -C and -R can be used more than once and have a cumulative effect
334 * Bugfix: -s is able to jump to non selectable words
335 * Bugfix: The attributes are not overloaded when reading configuration files
336 * Bugfix: the right bar is too far right in some cases.
337 * Bugfix: the right shift indicator is omitted in some cases
338 * Add a -x|-X option to set a timeout in seconds
339 * Add a -f option to select an alternative configuration file
340 * Add a -a option to set the attributes of the displayed elements
341 * Add more controls in the selection parser
342 * smenu can now read words directly from a file given as parameter
343 * Rewrite the replace function used by -S/-I/-E with a more sed-like one
344 * Searches should always consider the visual aspect of words (-S/-I/-E)
346 Thu Dec 22 20:48:17 UTC 2016 - p.gen.progs@gmail.com
348 - Version 0.9.9
349 * New UTF8 validation routine
350 * Man page cleanup
351 * Code cleanup and improvement
352 * Improved configuration process
353 * Add code to detect the host system at compile time
354 * Compilation is now possible on BSD system derivatives
355 * Bug fix: ignore EOF when a scancode contains an escape sequence.
356 * Fix the cursor appearance on tagged words
358 Sun Dec 11 20:00:20 UTC 2016 - p.gen.progs@gmail.com
360 - Version 0.9.8
361 * Change the cursor aspect when the selected word is tagged
362 * Add a small animated gif demo
363 * Fix a potential infinite loop
364 * Use custom fgetc/ungetc to be able to safely push back more than one byte
365 * Add libtinfo in the searched libraries an regenerate configure
366 * Manage conflicts between -C, -R, -c, -l, and -t
367 * Improve and fix the help line display
368 * Add a -T option to enable a tagging (multi-selections) mode
369 * Add the -? option to only display the synopsis
370 * Adjust the code so that it can be compiled with an ANSI compiler
371 * Put the searched line in the middle of the displayed window if possible
372 * Add a -k option to prevent trimming spaces
373 * Fix the -s option
374 * When not in search mode, any key except '?' should quit the help mode
375 * Add a new example: yesno
376 * Fix an off-by-one error when using -c and -w together
377 * And many other minor changes and fixes
379 -------------------------------------------------------------------
380 Sun Mar 13 09:28:52 UTC 2016 - p.gen.progs@gmail.com
382 - Version 0.9.1
383 * Use the GNU autotools
384 * Fix a lot of small and not so small bugs
385 * Change the -s option semantic
386 * Improve help and man page
387 * Introduce some new options - see the man page for more
388 * Also rework some options - see the man page for more
389 * Add more configurable colors
390 * Add the notion of non-selectable words
391 * Add the notion of special words
392 * Add a (de)selection by rows and/or columns
393 * Interpret quotations in the input stream and ignore empty words
394 * Add an option to center the output window
395 * And many other minor changes
397 -------------------------------------------------------------------
398 Sun Aug 9 23:00:59 UTC 2015 - p.gen.progs@gmail.com
400 - Initial version - 0.9