All Versions
14
Latest Version
1.8
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 1

  • v1.8 Changes

    ๐Ÿ“ฆ Package changes:

    • Depend on newer time 1.5 that has absorbed old-locale (fixes #67)
    • Expand version bounds on filepath dependency to support GHC 7.10

    API changes:

    • API: List: Add listFind*By functions.

    ๐Ÿ› Bug fixes:

    • Fixed space leaks by making some things strict
  • v1.7.1 Changes

    ๐Ÿ“ฆ Package changes:

    • Now builds against vty >= 5. Note: this release of vty-ui does NOT make any special effort to support the new features in vty 5. Rather, this release is intended only to permit users to avoid building vty 4. A future release of vty-ui will include support for vty 5 features.
    • All demo programs are compiledd with -threaded due to vty5 requirement

    API changes:

    • Util: replace region_* functions from vty 4
    • Edit: added setCharFilter to control which characters are permitted
    • Added support for callbacks on entry-switch events for collections
      • Added addToCollectionWithCallbacks which behaves like addToCollection except that it accepts two callbacks.
      • Those callbacks are invoked when switching views in a collection.
    • List: Changed how the selection attributes are set and used when rendering the list.
      • Removed the attribute parameter to list constructors. Instead, the attributes from the context are used as defaults and setters (specified here) are used to set focus attributes.
      • Added two functions to set the selection attributes for list items when the list is focused and unfocused: setSelectedUnfocusedAttr and setSelectedFocusedAttr
    • API: add setEditRewriter to control presentation of edit widget contents (e.g. to support password editors) (fixes #47)

    ๐Ÿ› Bug fixes:

    • Check lower size bounds correctly when deciding whether to bail on padding a widget (fixes #46)
    • Docs: remove stale mention of wRef binding (fixes #54)
    • List: item widget focus attributes take precedence over list focus attributes (fixes #49)
    • Mention enumitem.sty dependency in README (addresses #48)
    • Manual: correct description of getListItem's return value
  • v1.7 Changes

    ๐Ÿ“ฆ Package changes:

    • Add an explicit upper bound on vty < 5
    • Allow mtl-2.2, QucikCheck-2.7
  • v1.6.1 Changes

    ๐Ÿ“ฆ Package changes:

    • Relaxed version bounds for 'array' and 'unix' packages to permit GHC 7.8 builds

    API changes:

    • List: list creation now requires specification of item widget height
    • List: removed BadListWidgetSizePolicy exception
    • List: added scrollToBeginning, scrollToEnd functions
    • Added Graphics.Vty.Widgets.Text .appendText .prependText .appendTextWithAttrs .prependTextWithAttrs
    • Added Graphics.Vty.Widgets.Core.onResize to register event handlers for when a widget's size changes at render time
    • Added List functions listFindFirst and listFindAll (thanks Moritz Angermann [email protected])

    ๐Ÿ› Bug fixes:

    • Fixed documentation bugs in Chapter 3 (thanks Alexander Berntsen [email protected])
    • Fixed bugs in example code (thanks Adam Wheeler [email protected])
    • List: scrolling a list with no elements no longer crashes with V.! error
    • Core: Use correct constructor to set Shift-Tab as the previous focus keybinding (fixes #31)
    • Edit: now supports limiting line length via set/getEditMaxLength (fixes #33)
    • TextZipper: ignore more invalid cursor positions (fixes #29)
    • h/vFixed: add sufficient padding to prevent empty images from disrupting fixed dimensions (fixes #34)
    • Corrected documentation for boxFixed
    • TextZipper: permit setting cursor position to column after end of line (fixes #41)

    Other changes:

    • List widgets now permit selecting elements before the first time the list has been rendered (thanks Moritz Angermann [email protected])
    • Edit widgets now bring in old content on the left on backspace rather than hiding what is being deleted (fixes #35
    • List: the list item widget's default attribute apply to any padding added to it
    • mergeFocusGroups now just requires at least one non-empty group
    • Fixed the documentation for hFill
    • Added a collection programming demo
  • v1.6 Changes

    ๐Ÿ› Bug fixes:

    • Group: forward position to current child widget (fixes #24) (thanks github.com/zydeon)
    • List: report correct item position in NewItemEvents Adding an item to a list previously emitted a NewItemEvent with the new size of the list as first parameter even though the documentation says otherwise, so we now report the position of the new item instead of the list size (thanks, Hans-Peter Deifel [email protected])
    • Performance: event loop now reads and processes all available events between UI updates
    • Only show cursor in widgets that need it: hides the cursor in static widgets like borders or texts. Also, container widgets like padding or centering now show the cursor only if their clients would (thanks, Hans-Peter Deifel [email protected])

    ๐Ÿ“ฆ Package changes:

    • Allow building against QuickCheck 2.7 (fixes #21)
  • v1.5.1 Changes

    ๐Ÿ“ฆ Package changes:

    • Added library dependency on "text" package.
    • Added tests dependency on "random" package.
    • Now the vty-ui-tests binary builds by default and can be turned off with the 'no-tests' flag.
    • Increased the declared cabal version to 1.8.
    • Moved the demo sources into demos/ and added vty-ui as dependency for each. This helps to avoid redundant library compilation for each demo program.
    • Removed some dubious Darwin-specific cabal directives.

    API changes:

    • Modified all widget constructors and functions to use Text values where previously they used Strings.
    • Renamed List.newStringList to newTextList.
    • Added TextClip, a module which implements one- and two-dimensional text clipping. The implementation respects Unicode character width.
    • Added TextZipper, a module which implements a two-dimensional text editor in zipper fash ion.
    • Added a "Phys" newtype to express physical column values (as opposed to character indices). This is used in logical-to-physical conversions and computations which have to take account of character width.
    • Exported Edit.applyEdit for applying generic text zipper transformations to Edit widgets.

    Misc changes:

    • Modified FormattedText widgets to take account of Unicode character widths so that wide characters are rendered properly. Also modified some widgets to use FormattedText instead of direct Vty rendering to take advantage of this feature.
    • Refactored the Edit widget to use TextZipper and TextClip modules to properly account for character width. Edit widgets now support multi-column characters and show beginning-of-line and end-of-line indicators ("$") in cases where wide characters cannot be shown due to display clipping.
    • Added some QuickCheck properties for TextClip and TextZipper.

    Other notes:

    • Deprecation notice: Text.Trans.Tokenize will either be removed entirely or severely refactored in a future release.

    ๐Ÿ› Bug fixes:

    • Fixed bug in Text.Trans.Tokenize.wrapStream which prevented over-long words from being wrapped properly, as well as lines where short words followed over-long ones.
  • v1.5 Changes

    ๐Ÿ› Bug fixes:

    • getEditText widget no longer adds a spurious newline onto the end of the text it returns
    • Text edit widgets now properly report text change events when killing to end-of-line (i.e. with C-k)
    • Edit widgets now correctly set internal state when setting to the empty string, and reset the cursor position to (0, 0)
    • Edit widgets now pad correctly when the line limit and rendering region size permit it
    • Directory browser widgets now add their top-level widget (the value of dirBrowserWidget) to the focus group instead of the List widget contained in the browser
  • v1.4 Changes

    ๐Ÿ“ฆ Package changes:

    • Now builds against GHC 7.4.1 (thanks github.com/elliottt); relaxes dependencies on time (to 1.4), array (to 0.5), and filepath (to 1.4)
    • Now depends on vector >= 0.9.
    • Added a basic README.
    • Added demo programs specific to the ProgressBar and Edit widgets to fully showcase their functionality.

    API changes:

    • Moved Alignment-related code from the Table module into its own module, Graphics.Vty.Widgets.Alignment
    • Progress bars can now have a text label and the label can have an alignment (left, right, or center). Added functions setProgressText and setProgressTextAlignment. The progress bar widget type is now 'Widget ProgressBar', instead of 'ProgressBar' with a record field to access its widget. Lastly, the progress bar constructor takes Attrs, not Colors, to control the display of the two halves of the progress bar (its background and a text label).
    • The newWidget implementation constructor now takes the initial widget state as a parameter to avoid returning WidgetImpl values with an 'undefined' state.
    • Generalized the 'Edit' widget type to support single- and multi-line editing modes. Added functions getEditCurrentLine, getEditLineLimit, setEditLineLimit, and multiLineEditWidget. The 'editWidget' behaves as before and creates a single-line edit widget. Dropped support for limiting the amount of text in a single-line edit widget, but added the ability to control the number of lines in a multi-line edit widget. Since it's possible to get two-dimensional cursor position values for multi-line Edit widgets as a result of these changes, onCursorMove now provides a tuple of (row, column) to its handlers.

    ๐Ÿ› Bug fixes / improvements:

    • Fixed a bug where hFixed and vFixed widgets were adding too much padding to their child widgets, thus breaking the space guarantees they were intended to make. As an example, if you wrap a widget in a vFixed wrapper with ten lines of height, the bug caused vFixed to sometimes result in widgets that were more than ten lines in height (and similarly for width/hFixed).
    • Fixed a bug where sometimes text widgets didn't apply the right amount of trailing padding to short text lines, resulting in weird background attribute rendering issues.
    • Added some strictness hints to several modules
    • Improved space performance of the List widget by using Vectors to store the list contents
    • newWidget now returns a WidgetImpl with a default (trivial) render_ implementation.
    • Improved the documentation of some functions in Core.
    • Greatly simplified and improved the ListDemo program so it is more useful for learning how to use the List widget.
    • The main event loop no longer calls reserve_display on shutdown (which was just wrong). This leads to a cleaner terminal state when a vty-ui application exits, since Vty's shutdown function was already trying to do the right thing.
  • v1.3.1 Changes

    API changes:

    • The "highlight" text formatter has been moved to a separate package, vty-ui-extras, so that vty-ui doesn't depend on any concrete regular expression implementations.
    • The "Formatter" type now forms a monoid.
    • The "TableRow" type now forms a monoid.
    • The fields of the "ColumnSpec" type are now exported.
    • The methods of the "RowLike" type class are now exported.
  • v1.3 Changes

    ๐Ÿ› Bug fixes:

    • Now builds on GHC 7.2, due to addition of FlexibleInstances pragma to Core

    โš  Warning fixes:

    • DirBrowser now uses Control.Exception.catch

    ๐Ÿ“ฆ Package fixes:

    • Data-Files no longer lists unshipped minted.sty; you'll have to install Minted yourself