Revision history for Term::Choose


2.0.6   2026-04-19
    - Bugfix bottom-text.

2.0.5   2026-04-17
    - Updates and bugfixes available height and available width.
    - Bugfix option mark: wrong mapping.
    - Backward-incompatible changes: tabs_info, tabs_prompt, tabs_bottom_text.
    - Minimum terminal size 4 x 2.
    - line-fold: new option truncate_long_tabs.
    - Update documentation.

2.0.4   2026-03-21
    - Bugfix bottom-text-lines.
    - Bugfix available height.

2.0.3   2026-03-13
    - Removed deprecated environment variable TC_AMBIGUOUS_WIDE.
    - Removed deprecated line-fold signature.
    - Bugfix: reset search-string.
    - Bugfix search-string to-printwidth: to-printwidth returns two values.
    - Workaround to avoid a potential bug.

2.0.2   2026-02-07
    - Change file extensions from .pm6 to .rakumod.

2.0.1   2026-02-07
    - New options bottom-text and tabs-bottom-text.
    - Bugfix mouse mode with left margin.
    - Skip leading and trailing one-width-entries in char-width tables.

1.9.9   2025-10-15
        - Set the width of all format code points to zero.

1.9.8   2025-09-26
        - Unicode 17.

1.9.7   2025-05-14
        Screen.pm: bugfix export clear-to-end-of-screen.
        Refactored 'line-fold'.

1.9.6   2025-03-29
        Make 'print-columns' and 'line-fold' public.
        Update 'line-fold'.

1.9.5   2024-11-18
        Unicode 16.

1.9.4   2024-05-31
        Update 'to-printwidth'.
        Update documentation.
        Workflows test: don't test Windows.
        Code refactoring.

1.9.3   2024-05-23
        If the layout has only 1 column, bypass the loops in '_pos_to_default'.

1.9.2   2024-01-18
        - Unicode 15.1.
        - Zero width for Hangul Jamo Extended-B.
        - Added github actions workflow test.

1.9.1   2023-05-16
        - line-fold: update option color.

1.9.0   2023-05-12
        - prepare_new_copy_of_list: replace 2 := with =.
        - line-fold: option binary-filter.

1.8.9   2023-05-02
        - Unicode 15.0.

1.8.8   2022-12-02
        - Replace 'char_with' with 'char-width'.

1.8.7   2022-11-28
        - Don't share cache between threads.
        - META6: replace authors with auth.

1.8.6   2022-11-22
        - Export 'char_width'.

1.8.5   2022-08-15
        - Cache char width in a hash instead of in an array.
        - Bugfix option 'color'.

1.8.4   2022-06-08
        - Update 'tabs-info' and 'tabs-prompt'.

1.8.3   2022-06-06
        - Changed defaults for 'tabs-info' and 'tabs-prompt'.

1.8.2   2022-06-01
        - Update documentation.

1.8.1   2022-05-16
        - Bugfix option names 'meta-items', 'no-spacebar' 'and max-width'.

1.8.0   2022-05-15
        - Bugfix data type error in search.
        - Bugfix search: input puffer.

1.7.9   2022-05-14
        - New option 'margin'.
        - Update options 'tabs-info' and 'tabs-prompt'.

1.7.8   2022-05-04
        - Use hardcoded ANSI escape sequences if 'tput' is not available.
        - Environment variable TC_ANSI_ESCAPES.
        - Update documentation.

1.7.7   2022-03-19
        - Char-width-tables: Arabic numbers in category 'Cf' to print-width 1.
        - Char-width-tables: update to Unicode 14.
        - Environment variable TC_AMBIGUOUS_WIDE.
        - Clear-screen set to 2 is now fatal.
        - Update year copyright.

1.7.6   2021-08-19
        - Update travis.

1.7.5   2021-08-17
        - Renamed the option 'f3' to 'search'.
        - Changed the search key from 'F3' to 'Ctrl-F'.
        - Page up/down: changed from 'Ctrl-B/Ctrl-F' to 'Ctrl-P/Ctrl-N'.

1.7.4   2021-08-16
        - Code refactoring.
        - Update F3.

1.7.3   2021-08-12
        - Update term width for info and prompt output.
        - Reintroduced the option 'page'.
        - New option 'max-cols'.
        - 'choose-multi' returns a decontainerized Array.
        - Empty list and 'quit': fixed return values.

1.7.2   2021-05-27
        - Bugfix in 'F3'.
        - Save screen: use the new option 'save-screen' instead of 'clear-screen'.

1.7.1   2021-05-17
        - F3: evaluate entred regex string.
        - Bugfix in list_idx2rc.
        - Code refactoring.

1.7.0   2021-05-15
        - Filter choices with the F3 key.
        - Fixed test failure: Test 'tput available' fails on OpenBSD. [GH #5 andinus]

1.6.9   2020-10-27
        - No changes.

1.6.8   2020-10-27
        - Rename 'footer-string' to 'footer'.
        - New option 'footer'.

1.6.7   2020-05-24
        - Bugfix: add SetTerm.pm6 to META6.json/provides. [GH #4 melezhik]

1.6.6   2020-05-21
        - React whenever a press key is emitted.

1.6.5   2020-04-26
        - Bugfix sprintf format footer-string.

1.6.4   2020-04-21
        - Update unicode table to unicode 13.0.
        - Update footer-string format.

1.6.3   2020-04-05
        - Bugfixes in line-fold.
        - New option 'join' for line-fold.
        - Removed deprecated options 'justify' and 'lf'.
        - Faster CI [GH #3/1 JJ]
        - Added experimental option 'footer-string'.

1.6.2   2020-02-04
        - 'tput' terminal type defaults to vt100 if TERM is not set. [GH #2 melezhik]

1.6.1   2020-01-24
        - Replaced option 'lf' with options 'tabs-info' and 'tabs-prompt'.
        - Option 'color': add 2 as valid value (enables also colored output for the current selected element).

1.6.0   2019-10-26
        - Enable colored output for the 'undef' and 'empty' string.
        - Renamed option 'justify' to 'alignment'.
        - Update char-width-table.

1.5.9   2019-07-09
        - New option 'color'.
        - Code refactoring: wr_cell, goto.
        - Bugfix current_layout.

1.5.8   2019-06-06
        - Update TC_RESET_AUTO_UP.

1.5.7   2019-06-02
        - Bugfix in _goto.
        - Use tput to get the escape sequences.
        - tput test.
        - Perl6 minimum version 6.d.

1.5.6   2019-05-20
        - From clr-to-bot to clr-lines-to-bot.

1.5.5   2019-05-15
        - Bugfixes documentation.

1.5.4   2019-05-11
        - Initialize env var TC_RESET_AUTO_UP with 0 if exits env var TC_RESET_AUTO_UP.

1.5.3   2019-05-07
        - print-columns: stringify the argument.
        - Term::Choose::LineFold: update export trait.
        - Term::Choose::Screen: update export trait.

1.5.2   2019-04-02
        - Use the alternate screen by setting 'clear-screen' to 2.
        - 'line-fold': make init-tab and subseq-tab optional.
        - 'line-fold': don't trim trailing spaces if a row contains only spaces.
        - Quit choose: replaced 'Ctrl-D' with 'Ctrl-Q'.

1.5.1   2019-03-26
        - Update META6 and travis.

1.5.0   2019-03-26
        - From ncurses to ANSI escapes.
        - Removed option 'page'; page count always enabled with more than one page.

1.4.7   2019-03-13
        - Don't bind return values of 'to-printwidth'
        - Code refactoring

1.4.6   2018-12-18
        - Bugfix 'meta_items'

1.4.5   2018-12-11
        - Update substitution
        - Bugfix: don't allow to select 'meta_items' with Cntrl-SpaceBar

1.4.4   2018-08-24
        - Fist upload to CPAN
        - No Changes

1.4.3   2018-08-22
        - Renamed variables
        - Bugfix in page count

1.4.2   2018-08-07
        - page-down: save position

1.4.1   2018-08-06
        - Bugfix in page-down

1.4.0   2018-08-06
        - Bugfix in page-down
        - Move forward/backward 25 pages at once

1.3.0   2018-06-27
        - `multi-choose`: now by default the highlighted item is not added to the chosen items
        - New option "include-highlighted"
        - New option "meta-items"

1.2.0   2018-04-29
        - New option "info"
        - Environment variable TC_RESET_AUTO_UP

1.1.3   2018-02-19
        - Skip marked which are out of range

1.1.2   2018-01-15
        - Only one cache file for each thread
        - Code refactoring

1.1.1   2018-01-10
        - Bugfix: reset object attribute @!length for each _choose call

1.1.0   2017-12-31
        - Removed option "pad-one-row"

1.0.4   2017-12-31
        - Refactoring parameter handling
        - Bugfix in "all_in_first_row"
        - Improved language in POD

1.0.3   2017-08-29
        - Added tags to the META6.json file

1.0.2   2017-08-06
        - Remove `gist` preceded by `subst`
        - Update parameter check
        - Refactoring 'line-fold'
        - Different code refactoring

1.0.1   2017-07-30
        - Fix and update documentation

1.0.0   2017-07-30
        - Backward incompatible: from hash parameter to slurpy hash parameter
        - Use the return value of `mousemask` to check for extended mouse mode
        - `getch`: replace `sleep` with `timeout`
        - Code refactoring
        - Update and bugfix documentation

0.0.6   2017-07-23
        - Bugfix regex max-width
        - Bugfix in keep

0.0.5   2017-07-09
        - Code refactoring. Update documentation

0.0.4   2017-07-07
        - Cache char length. Bugfix in to-print-width: add length of dots

0.0.3   2017-07-05
        - Catch exceptions to close the window

0.0.2   2017-07-05
        - Replace regex with type UINT

0.0.1   2017-07-05
        - Set version in META6 - new version format

0.132   2017-07-03
        - Use NCurses

0.131   2017-07-02
        - Parameter: from %options to *%options

0.130   2017-06-24
        - Multi-value-options: changed type from Array to List

0.129   2017-05-19
        - Bugfix num-threads

0.128   2017-05-19
        - If TC_NUM_THREADS is not set, try nproc

0.127   2017-05-16
        - Pod: num-threads

0.126   2017-05-15
        - Added option pad-one-row

0.125   2017-05-14
        - Removed option pad-one-row
        - Code refactoring

0.124   2017-05-13
        - Bugfix line-fold
        - Bugfix pad-one-row
        - Bugfix: reset the list before filling the list

0.123   2017-05-12
        - Multithreading

0.122   2017-04-30
        - Fixed "depends" in META6.json

0.121   2017-04-30
        - Code refactoring

0.120   2017-04-24
        - Removed superfluous test

0.119   2017-04-24
        - Extended mouse mode
        - Autodetect ncurses library
        - Update documentation
        - Code refactoring

0.118   2016-12-16
        - Import subroutines by their names

0.117   2016-12-10
        - Constructor: named parameters

0.116   2016-10-13
        - Subroutines: use the default export

0.115   2016-05-28
        - Fixed option 'mouse'

0.114   2016-05-25
        - 'clear' before writing the first screen

0.113   2016-05-15
        - Replaced underscores with hyphens in option- and routine-names
        - Modified '.travis.yml'

0.112   2016-04-27
        - Modified '.travis.yml'

0.111   2016-04-27
        - Modified '.travis.yml'

0.110   2016-04-27
        - Announcement incompatible changes

0.109   2016-03-21
        - Slow down the getch-loop so it doesn't eat up 100% of a core

0.108   2016-03-20
        - Upgrade Term::Choose::NCurses (required by T::F)

0.107   2016-03-17
        - Fixed source-url in META6.json

0.106   2016-03-17
        - Code refactoring

0.105   2016-03-16
        - setlocale to support non-ascii strings
        - Term::Choose::NCurses
        - Update documentation.

0.104   2016-03-01
        - Made the option 'll' private
        - Update documentation

0.103   2016-03-01
        - Optional global win
        - If 'll' and (pause() or index=1): on window-resize return -1
        - 'll' works with 'choose', 'choose_multi' and 'pause'
        - Update documentation.

0.102   2016-02-25
        - Update documentation: only ascii-charater strings are supported

0.101   2016-02-25
        - Update documentation: wide characters not yet supported

0.100   2016-02-24
        - Backward incompatible changes.
        - From Term::termios to NCurses
        - Removed the options 'clear_screen' and 'hide_cursor'
        - Changed option 'mouse' - two values: off and on
        - Option 'll' only for 'pause'

0.013   2016-02-16
        - Remove BEGIN block and conditional plugin loading

0.012   2016-02-16
        - Modified .travis.yml

0.011   2016-02-16
        - Update 'line_fold'
        - Bugfix 'cut_to_printwidth'
        - Term::Choose::LineFold: :printwidth_func -> :all

0.010   2016-02-13
        - Fixed source-url in Meta6.json
        - Added .travis.yml

0.009   2016-02-10
        - 'choose_multi' returns a list
        - 'line_fold' refactored

0.008   2016-02-08
        - 'choose_multi' returns an array

0.007   2016-02-08
        - 'line_fold' -> word-separator

