Changes
=======

v0.2.11
  Miscellaneous
  * Massive refactoring to avoid possible race conditions. Note that I am
    not aware of any breakage caused by previous builds of peco. Even
    without these changes you most likely did not see a race or it was
    something you could totally ignore by simply redrawing the page.
    However, since I was in the mood, and since go is awesome for providing
    us the `-race` switch, I decided to silence these warnings.
    

v0.2.10 - 24 Sep 2014
  Bugs/Fixes
  * There was a race condition in the way status messages were cleared,
    which could leave a message to be not cleared. This has no serious
    practical impact as it's just the status message, but has been fixed.
  Miscellaneous
  * We stopped using godep because it no longer allowed us to use -copy=false.
    This should have no effect on users.
  * Update termbox-go dependency
  * Remove stdout hack

v0.2.9 - 08 Sep 2014
  Features
  * Add SmartCase matcher, which automatically toggles between case sensitive
    and insensitive modes depending on the case of your query.
  * Ctrl-l is now "peco.RefreshScreen", which basically runs the current query
    again
  Bugs/Fixes
  * User prompt is now draw *before* the filtering is executed.
  * Be more strict about checking invalid matchers.
  * Add more tests (work in progress...)

v0.2.8 - 01 Sep 2014
  Bugs/Fixes
  * Fix in v0.2.7 was apparently not enough. Things should be fixed now.
  * Long standing bugs against DeleteForwardWord/DeleteBackwardWord have
    been fixed

v0.2.7 - 01 Sep 2014
  Bugs/Fixes
  * A regression introduced in v0.2.6 for DeleteForwardChar/DeleteBackwardChar 
    has been fixed
  * Some entries in the Keymap section of the README was wrong, and has
    been fixed

v0.2.6 - 30 Aug 2014
  Bugs/Fixes
  * --prompt option was not properly working
  Miscellaneous
  * Bunch of internal cleanups to make testing easier

v0.2.5 - 18 Aug 2014
  Features
  * Add --layout option, which allows you to switch between `top-down`
    and `bottom-up` layout mode. This is equivalent of percol's
    `--prompt-bottom --result-bottom-up`. Default is `top-down`.
    The same option can be specified in the config file as "Layout"
  Miscellaneous
  * Because of the layout option, SelectNext/SelectPrevious and
    SelectNextPage/SelectPreviousPage no longer made sense.
    Now all of these are DEPRECATED, and are aliases to different
    action names. See the README for the details.
    In particular, you would need to configure your key bindings
    using these if you want to use the `bottom-up` layout

v0.2.4 - 13 Aug 2014
  Features
  * Add --initial-matcher command line option to specify which
    matcher type to use upon start up. --no-ignore-case is deprecated
  * Add InitialMatcher option to the config file. Matcher option is
    deprecated.
  Miscellaneous
  * Binaries are now built using go1.3.1

v0.2.3 - 28 Jul 2014
  Bugs/Fixes
  * Escape sequences are now stripped from input, so for example,
    colored output can now be fed into peco. Filtering is done against
    this stripped down buffer, but the original line is used for output.
  * Some color specification combinations caused weird color variations
    and in some worst cases caused crashes on Windows.

v0.2.2 - 23 Jul 2014
  Bugs/Fixes
  * Fixed display of characters with ambigous width
  Features
  * on_bold style attribute has been added.

v0.2.1 - 15 Jul 2014
  Features
  * Added the ability to setup custom combined keymap. You can now
    assign multiple commands to one key sequence.
  * Key sequence that is being processed currently is displayed in the
    status message bar

v0.2.0 - 07 Jul 2014
  Bugs/Fixes
  * Keymaps have gone through an overhaul. Hopefully it's easier for
    people who want to modify it to hack on it than before.
  * Piping multiple commands that use stdin now works properly
    (v0.1.12 was affected)
  * After multiple lines are selected, typing Enter (or "peco.Finish")
    prints out only the selected lines, and no longer adds the line where
    the cursor currently is placed on
  Features
  * --initial-index option has been added
  * --buffer-size option has been added
  * --prompt option has been added
  * Background color can now be changed
  * SelectAll/SelectNone/SelectVisible has bee added
  * Keymaps can now handle key sequences. For example, "C-x,C-c" can now
    be mapped to "peco.Cancel" for Emacs-like behavior
  * Selection by range is implemented. Now you can start a selection,
    move the cursor around, and select everything between the starting
    line and the last line the cursor was on. No default keys are available
    at this point, so assign peco.ToggleRangeMode to your favorite key

v0.1.12 - 01 Jul 2014
  Bugs/Fixes
  * Properly report an error if specified file does not exist
  Features
  * Previously peco only read from fixed size input, but now it can
    read from streaming input such as the result of tail -f <file>.
    Do note that this buffer does take up memory, so you do not want
    to be running it for large data.

v0.1.11 - 30 Jun 2014
  Bugs/Fixes
  * CustoMatchers are now verified, i.e., exec.LookPath() is applied to
    the first argument to check if the command is actually executable
  * Exit code upon receiving signals are now non-zero, as it should have
    been to start with
  * Cross-compilation introduced problems with binary builds for darwin.
    This has now been fixed, but if you do get your hands on peco binaries
    before v0.1.11, don't expect it to read your config file.
  * A panic that may occur when you send new queries in very fast succession
    has been fixed for custom matchers.
  Features
  * C-c has been added to the default key binding. It causes peco to cancel
    the operation (exits with a non-zero status code)

v0.1.10 - 25 Jun 2014
  Bugs/Fixes
  * A panic that may occur when you send new queries in very fast succession
    has been fixed
  * Fixed the problem where Windows binaries were not able to handle Esc/Alt
    correctly

v0.1.9 - 25 Jun 2014
  Bugs/Fixes
  * Change the base go version to build binary to 1.3

v0.1.8 - 25 Jun 2014
  Bugs/Fixes
  * Check for terminal update errors while drawing.
  Features
  * Support Alt key prefixes to keybindings (Note: currently does not work
    on windows)

v0.1.7 - 22 Jun 2014
  Bugs/Fixes:
  * Moved repository to a Github organization: http://github.com/peco/peco
  * Because of the above change, a lot of links, imports needed fixing.
  Features:
  * Automatically set GOMAXPROCS to NumCPU. If you would like to
    avoid this behavior, you can explicitly set GOMAXPROC env var to 1
    (or whatever desired value)
  Miscellaneous
  * If you have cool uses for peco, please share them on the wiki:
    https://github.com/peco/peco/wiki/Sample-Usage

v0.1.6 - 18 Jun 2014
  Bugs/Fixes:
  * (You know you will get a bug report only AFTER you release a
    new version :)
  * Highlighting wide characters had some issues. This has been
    there since the first release, apparently

v0.1.5 - 18 Jun 2014
  Features:
  * Add experimental --null option
  
v0.1.4 - 17 Jun 2014
  Bugs/Fixes:
  * Check for ev.Ch and ev.Key (should fix input problems)
  * Fix crashing issue on empty match
  Features:
  * In your config, setting the value to "-" will remove the
    binding.
  * Default ToggleSelect binding has been changed to
    ToggleSelectAndSelectNext

v0.1.3 - 17 Jun 2014
  Bugs/Fixes:
  * When dealing with fast/successive user input on large buffers,
    peco was taking too long to execute queries.
  * XDG style config directories are now searched, and if all fails,
    falls back to the original ~/.peco/config.json
  * Some internal cleanup
  Features:
  * Multiple line selection has been implemented. Ctrl-Space will
    toggle the currently selected line, and peco will exit after
    printing all the selected lines. Note that on OS X, Spotlight
    by default captures these keys. You may need to reconfigure
    your settings.
  * Custom matchers via external processes have been implemented.
    See the README for more details

v0.1.2 - 16 Jun 2014
  Bugs/Fixes:
  * Multiple queries were not being match fully until the end of line
    (i.e. matches showed up correctly, but the display was not)
  * Going back to previous item from first item now pages back to last item.
  * Sending INT/TERM to peco now properly exits.
  * Some synchronization issues have been fixed (although, it would have
    never manifested itself when we were running with non-buffered channels)
  * Make sure default matcher is IgnoreCase
  Features:
  * RegExp match mode. e.g. match against "^root" or "2014-[0-9]+", etc
  * Default match mode is now configurable.
  * The entire selected line is now highlighted
  * Styles (colors and what not) can now be configured.
  * Add C-d as a default keymap for ForwardDelete
  * Add EOF handler

v0.1.1 - 12 Jun 2014
  * Fix handling malformed input (e.g. cp932 or euc-jp)
  * Make non case sensitive matching the default. C-r allows you to toggle
    between match algorithms. You can also change the default behavior
    by passing --no-ignore-case
  * Fix terminal not being updated upon executing DeleteAll
  * Fix prompt spacing
  * Add more default keymappings
  * Add peco --version

v0.1.0 - 12 Jun 2014
  * Initial versioned release