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)