All Versions
11
Latest Version
Avg Release Cycle
149 days
Latest Release
580 days ago

Changelog History
Page 1

  • v4.1.0 Changes

    October 24, 2020

    [4.1.0]

    โž• Added

    • Ability to modify password length for password input (#235)
    • ๐Ÿ‘Œ Improve the formatting of disabled menu items in different terminals (#236)
    • ๐Ÿ‘Œ Support for PHP8 (#240)
  • v4.0.0 Changes

    February 18, 2020

    [4.0.0]

    โž• Added

    • โž• Add PHP 7.4 support (#183)
    • CheckboxItem & RadioItem (#186, #189, #193, #194, #226)
    • Ability to force display extra (#187)
    • ๐Ÿ’… Individual style objects for each item type (#211, #212, #213, #214, #216, #230)
    • ๐Ÿ’… Method getStyle() to interface PhpSchool\CliMenu\MenuItem\MenuItemInterface

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed item extra rendering outside of menu (#66, #184, #187)
    • ๐Ÿ›  Fix unresponsive menu upon closing and reopening (#198)
    • ๐Ÿ’… Menu styles incorrectly propagating to submenus (#201, #210)
    • Various issues with the menu width, when the terminal was too small (#223, #220, #219)

    โœ‚ Removed

    • โœ‚ Remove rebinding $this in builder closures so we can access the real $this (#191, #192, #196)
    • ๐Ÿ’… Marker methods from PhpSchool\CliMenu\MenuStyle:
      #getSelectedMarker()
      #setSelectedMarker()
      #getUnselectedMarker()
      #setUnselectedMarker()
      #getMarker()
    • PhpSchool\CliMenu\MenuItem\SelectableTrait
    • ๐Ÿ— Marker methods from PhpSchool\CliMenu\Builder\CliMenuBuilder:
      #setUnselectedMarker()
      #setSelectedMarker()

    Checkboxes

    Checkboxes

    Checkboxes Inline

    Radios

    Radios

    Radios Inline

  • v3.2.0 Changes

    April 30, 2019

    [3.2.0]

    โž• Added

    • ๐Ÿ‘ Allow ESC key to "cancel" editing an input (#174)
    • 0๏ธโƒฃ Methods for disabling the default VIM mappings and setting your own (#172)
    • Ability to set custom validator on Text and Number inputs (#177)
    • Ability to turn on automatic item shortcuts (#176)
  • v3.1.0 Changes

    March 31, 2019

    Nothing interesting...

    [3.1.0]

    ๐Ÿ”„ Changed

    • โšก๏ธ Update dependencies + fix some static analysis issues
  • v3.0.0 Changes

    May 17, 2018

    [3.0.0]

    ๐Ÿ”„ Changed

    • Optimise redrawing to reduce flickering (#83)
    • ๐Ÿ‘‰ Use parent menu terminal when creating sub menus to reduce object graph (#94)
    • ๐Ÿ–จ Do not print right margin. Causes menu to wrap even when row fits in terminal (#116)
    • CliMenu throws a \RuntimeException if it is opened with no items added (#146, #130)
    • ๐Ÿ”ง Sub Menus are configured via closures (#155)
    • โœ‚ Remove restriction of 1 character length for markers (#141)
    • โœ‚ Remove the mandatory space after markers for now they can be of any length (#154)

    โž• Added

    • โž• Added type hints everywhere (#79)
    • โž• Added phpstan to the travis build (#79)
    • Input dialogue system for prompting users. Comes with text, number and password inputs (#81)
    • โž• Added ability to pass already prepared CliMenuBuilder instance to CliMenuBuilder#addSubMenuFromBuilder (#85, 155)
    • โž• Added CliMenu#addItems & CliMenu#setItems to add multiple items and replace them (#86)
    • โž• Added custom control mapping - link any key to a callable to immediately execute it (#87)
    • โž• Added MenuMenuItem#getSubMenu (#92)
    • โž• Added alternate text to AsciiArtItem to display if the ascii art is too large for the current terminal (#93)
    • โž• Added the ability to pass existing MenuStyle instance to dialogues and inputs for consistent themes and reduced object graph (#99)
    • โž• Added CSS like borders (#100)
    • โž• Added option to auto center menu with CliMenuBuilder#setMarginAuto (#103)
    • โž• Added option to auto center menu with CliMenuBuilder#setMarginAuto (#103)
    • โž• Added support for 256 colours with automatic and manual fallback to 8 colours (#104)
    • โž• Added clear option to CliMenu#redraw useful for when reducing the terminal width (#117)
    • โž• Added ability to set top/bottom and left/right padding independently (#121)
    • โž• Added a new Split Item item type which allows displaying multiple items on one line (#127)
    • โž• Added setText methods to various items so they can be modified at runtime (#153)
    • โž• Added MenuStyle#hasChangedFromDefaults to check if a MenuStyle has been modified (#149)
    • โž• Added CliMenu#setTitle and CliMenu#setStyle (#155)
    • โž• Added CliMenuBuilder#getStyle to get the current style object for the menu

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed sub menu go back button freezing menu (#88)
    • ๐Ÿ›  Fixed centering ascii art items with trailing white space (#102)
    • Enable cursor when exiting menu (#110)
    • ๐Ÿ›  Fixed (#71) - changed padding calculation when row too long to stop php notices (#112)
    • ๐Ÿ›  Fixed wordwrap helper (#134)
    • ๐Ÿ›  Fixed selected item issues when adding/setting/removing items (#156)
    • ๐Ÿ›  Fix infinite loop when no selectable items in menu (#159, #144)

    โœ‚ Removed

    • โฌ‡๏ธ Dropped PHP 5.x and PHP 7.0 support (#79)
    • โœ‚ Removed the Terminal namespace which has been migrated to php-school/terminal (#81)
    • โœ‚ Removed MenuStyle::getDefaultStyleValues (#149)
    • โœ‚ Removed CliMenuBuilder#setTerminal (#149)
    • โœ‚ Removed CliMenuBuilder#getSubMenu (#155)
    • โœ‚ Removed CliMenuBuilder#getMenuStyle (#155)
    • โœ‚ Removed CliMenuBuilder#end (#155)
  • v2.1.0 Changes

    December 11, 2017

    [2.1.0]

    ๐Ÿ”„ Changed

    • ๐Ÿ‘‰ Use new static for submenu to allow subclassing (#68)

    โž• Added

    • โž• Add emacs style up/down shortcuts ctrl+n and ctrl+p (#67)
  • v2.0.2 Changes

    March 01, 2017

    [2.0.2]

    ๐Ÿ›  Fixed

    • Don't output ascii art if the terminal width is too small (#63)
  • v2.0.1 Changes

    February 15, 2017

    [2.0.1]

    ๐Ÿ›  Fixed

    • Reset array keys after removing an item from the menu (#61)
  • v2.0.0 Changes

    October 27, 2016

    [2.0.0]

    ๐Ÿ›  Fixed

    • โšก๏ธ PHPUnit deprecations - updated to createMock()

    ๐Ÿ”„ Changed

    • Require ext-posix (#50)
    • ๐Ÿ’… Make MenuStyle easier to construct by only allowing changes to be made via setters (#45)

    โž• Added

    • โž• Added getStyle() to CliMenu to get access to the style object from the menu itself (#42)
    • โž• Added redraw method to CliMenu which can redraw the menu immediately with any style changes. See
      examples/crazy-redraw.php for an example (#43)
    • โž• Added tests for child menu style inheritance (#44)
    • โž• Add getter getItems() to get all items from the menu (#46)
    • โž• Add method removeItem(ItemInterface $item) to remove an item from the menu (#46)
    • ๐Ÿ‘€ Ability to toggle item extra while the menu is open - see examples/toggle-item-extra.php (#46)
    • โž• Added dialogues flash and confirm - they both display some text on top of the menu, flash is dismissed with
      any key press where the confirm requires enter to be pressed on the provided button.
      ๐Ÿ‘€ See examples/confirm.php and examples/flash.php (#49)

    โœ‚ Removed

    • โœ‚ Removed windows terminal - many required terminal features are unavailable (#50)
    • Individual component instantiation restrictions (#41)

    ๐Ÿฑ screen shot 2016-10-27 at 22 23 23

    ๐Ÿฑ screen shot 2016-10-27 at 22 24 01

  • v1.2.0 Changes

    October 03, 2016

    Disable items and submenus
    ๐Ÿ‘Œ Improve test coverage