Changelog of @hackage/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 CompletionFuncs
  • 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)