Changelog for haskeline-0.8.2.1

Changed in version 0.8.2.1: * Add `configure` check for `termios.h` and fallbacks for wasi. Changed in version 0.8.2: * Add versions of `completeWord{,withPrev}` that take predicates for word break chars (#164) Changed in version 0.8.1.3: * Use the capi calling convention for ioctl (#163). Changed in version 0.8.1.2: * Add import list to Data.List (#153) Changed in version 0.8.1.1: * Allow bytestring-0.11 and base-4.16 * Fix name conflicts with Win32-2.9 (#145) Changed in version 0.8.1.0: * Use grapheme's width to align a list of completions (#143) * Add withRunInBase to help decompose InputT (#131) * Add support for WINIO to haskeline. (#140) * Allow base-4.15 * Eta expand as required by simplified subsumption rules in newer GHC * Remove unused iconv cbits (#135) * Support non-BMP characters (or, surrogate pairs) on Windows (#125) Changed in version 0.8.0.1: * Add a Cabal flag to disable the example executable as well as the test that uses it. Changed in version 0.8.0.0: * Breaking changes: * Add a `MonadFail` instance for `InputT`. * Switch the LICENSE file from BSD2 to BSD3, to be consistent with the .cabal file. * Backwards-compatible changes * Improve the documentation around when input functions return `Nothing`. * Allow binding keys to incremental search, as `ReverseSearchHistory` and `ForwardSearchHistory`. * Handling `STX`-wrapped control sequences on any lines of the prompt, not just the last one. * Add `debugTerminalKeys` to help debug input problems * Add `waitForAnyKey` to wait for a single key press. * Define test targest in the .cabal file * Bump the upper bound to base-4.15. Changed in version 0.7.5.0: * Add the new function `fallbackCompletion` to combine multiple `CompletionFunc`s * Fix warnings * Bump the lower bound to ghc-8.0 Changed in version 0.7.4.3: * Bump upper bounds on base, containers, stm and unix * Fix redundant "Category" field in haskeline.cabal Changed in version 0.7.4.2: * Clean up the rest of the references to trac.haskell.org Changed in version 0.7.4.1: * Bump upper bound on base to support ghc-8.4 * Use `TChan` from `stm` rather than `Chan` * Update the homepage since trac.haskell.org has shut down Changed in version 0.7.4.0: * Properly process Unicode key events on Windows. * Add an instance MonadExcept IdentityT. * Remove custom Setup logic to support Cabal 2.0. Changed in version 0.7.3.1: * Properly disable echoing in getPassword when running in MinTTY. * Use `cast` from Data.Typeable instead of Data.Dynamic. Changed in version 0.7.3.0: * Require ghc version of at least 7.4.1, and clean up obsolete code * Add thread-safe (in terminal-style interaction) external print function * Add a MonadFix instance for InputT * Bump upper bounds on `base` and `directory` to support ghc-8.0.2 Changed in version 0.7.2.3: * Fix hsc2hs-related warning on ghc-8 * Fix the behavior of ctrl-W in the emacs bindings * Point to github instead of trac Changed in version 0.7.2.2: * Fix Linux to Windows cross-compile * Canonicalize AMP instances to make the code more future proof * Generalize constraints for InputT instances * Bump upper bounds on base and transformers * Make Haskeline `-Wtabs` clean Changed in version 0.7.2.1: * Fix build on Windows. Changed in version 0.7.2.0: * Bump upper-bound on base and filepath libraries to accommodate GHC HEAD (7.10) * Drop Cabal dependency to 1.10 * Use explicit forall syntax to avoid warning * Support Applicative/Monad proposal in Win32/Draw backend * Add Eq/Ord instances to Completion * Add a "forall" quantifier before rank-n types Changed in version 0.7.1.3: * Add support for transformers-0.4.0.0. Changed in version 0.7.1.2: * Require ghc>=7.0.1. * Allow building with terminfo-0.4. Changed in version 0.7.1.1: * Point to github for HEAD. Changed in version 0.7.1.0: * Fix build with ghc-7.8. * Fix build with ghc-6.12.3. * Fix build on Android. * Fix build on Win64. * Add 'catches' to System.Console.Haskeline.MonadException. Changed in version 0.7.0.3: * Fix build with ghc>=7.6.1. Changed in version 0.7.0.2: * Fix build on Windows with ghc>=7.4.1. Changed in version 0.7.0.1: * Fix GHC build by removing a Haskell comment on an #endif line Changed in version 0.7.0.0: API changes: * Remove System.Console.Haskeline.Encoding * Make the MonadException class more general (similar to monad-control) * Don't make InputT an instance of MonadState/MonadReader * #117: Implement mapInputT Internal changes: * Bump dependencies and general compatibility for ghc-7.6.1 * Depend on the transformers package instead of mtl * Don't depend on the extensible-exceptions package * Don't depend on the utf8-string package (except with ghc<7.4.1) * Bump the minimum GHC version to 6.10.1 * Use ScopedTypeVariables instead of PatternSignatures Internal fixes: * Prevent crashes on Windows when writing too many characters at once or ctrl-L on large window (GHC ticket #4415) * Remember the user's history and kill ring state after ctrl-c * Use ccall on Win64 * Fix terminfo's guess of the window size Changed in version 0.6.4.7: * Bump dependencies to allow mtl-2.1, containers-0.5 and bytestring-0.10. * Prefix C functions with "haskeline_" so we don't clash with other packages * Prevent cursor flicker when outputting in the terminfo backend Changed in version 0.6.4.6: * Build with ghc-7.4.1. Changed in version 0.6.4.5: * #116: Prevent hang on 64-bit systems when the prompt contains a control character. Changed in version 0.6.4.4: * #115: Fix the behavior of the 'f' and 't' commands when deleting text. * #73: Fix regression: pasting multiple lines could drop some characters. * Don't require NondecreasingIndentation. Changed in version 0.6.4.3: * Fix a bug on ghc-7.2.1 with tab-completion of Unicode filenames. Changed in version 0.6.4.2: * Various updates for ghc-7.2.1. Changed in version 0.6.4: * Added new function getInputLineWithInitial. Changed in version 0.6.3.2: * Allow building with mtl-2.0.* . Changed in version 0.6.3.1: * Updated contraints for ghc-7.0.1. * Fix building on ghc-6.10. Changed in version 0.6.3: * #111: Correct width calculations when the prompt contains newlines. * #109: Add function completeWordWithPrev. * #101, #44: Extend the API with Behaviors, which control the choice between terminal-style and file-style interaction. * #78: Correct width calculations for escape sequences ("\ESC...\STX") * Better warning message when -fterminfo doesn't work. * Added getPassword as a new input function. Changed in version 0.6.2.4: * Added back a MonadException instance for mtl's StateT. Changed in version 0.6.2.3: * #110: Recognize the enter key in xterm. * #108: Fix behavior after a paste of long, non-ASCII text. * #106: Ignore input immediately following an unrecognized control sequence. * #104: In vi-mode, allow, e.g., "d2w" as well as "2dw" * #103: Fix vi-mode 'c' command with movements. * #81: Correctly handle characters with a width > 1. * Compatibility updates from the GHC folks for Solaris and for ghc-6.14. * Optimization: if several key presses are input all at once (e.g. from a paste), only display the last change. This can also make Haskeline more responsive when editing long lines. * Hard-code some defaults for ctrl-left and ctrl-right, and provide the corresponding Emacs bindings to skip words. Changed in version 0.6.2.2: * Raise dependency to utf8-string>=0.3.6 (fixes a bug when decoding invalid input) Changed in version 0.6.2.1: Internal/API changes: * Make sure to always use binary mode when expecting Char-as-byte. * Eliminate unused import warnings on ghc>=6.11 * Increase upper bound on some dependencies for ghc-6.12 Changed in version 0.6.2: User interface changes: * A multitude of new emacs and vi commands * New preference 'historyDuplicates' to prevent storage of duplicate lines * Support PageUp and PageDown keys * Let ctrl-L (clear-screen) work during getInputChar Internal/API changes: * Compatibility with ghc-6.12 * Calculate the correct width for Unicode combining characters * Removed RankNTypes requirement; added Rank2Types and UndecidableInstances * Use simpleUserHooks instead of autoconfUserHooks in the Setup script * Internal refactoring to make command declaration more flexible * Read the .haskeline file completely before starting the UI (laziness issue)