All Versions
113
Latest Version
Avg Release Cycle
30 days
Latest Release
-

Changelog History
Page 12

  • v0.2.3 Changes

    ๐Ÿ› Bug fixes:

    • ๐Ÿ›  Fixed viewport behavior when the image in a viewport reduces its size enough to render the viewport offsets invalid. Before, this behavior caused a crash during image croppin in vty; now the behavior is handled sanely (fixes #22; reported by Hans-Peter Deifel)
  • v0.2.2 Changes

    Demo changes:

    • ๐Ÿ‘Œ Improved the list demo by using characters instead of integers in the demo list and cleaned up item-adding code (thanks Jรธhannes Lippmann [email protected])
  • v0.2.1 Changes

    ๐Ÿ› Bug fixes:

    • List:
      • Fixed size policy of lists so that rather than being Fixed/Fixed, they are Greedy/Greedy. This resolves issues that arise when the box layout widget renders a list widget alongside a Fixed/Fixed one. (Closes issue #17, thanks Karl Voelker)
    • Scrolling:
      • vScrollPage actually scrolls vertically now rather than horizontally (Thanks Hans-Peter Deifel [email protected])

    0.2

    API changes:

    • โž• Added top-level Brick module that re-exports the most important modules in the library.
    • List:
      • Now instead of passing the item-drawing function to the list state constructor, it is passed to renderList
      • renderList now takes the row height of the list's item widgets. The list item-drawing function must respect this in order for scrolling to work properly. This change made it possible to optimize the list so that it only draws widgets visible in the viewport rather than rendering all of the list's items (even the ones off-screen). But to do this we must be able to tell in advance how high each one is, so we require this parameter. In addition this change means that lists no longer support items of different heights.
      • The list now uses Data.Vector instead of [a] to store items; this permits efficient slicing so we can do the optimized rendering described above.
    • The HandleEvent type class handleEvent method now runs in EventM. This permits event-handling code implemented in terms of HandleEvent to do get access to viewport state and to run IO code, making it just as powerful as code in the top-level EventM handler.
    • ๐Ÿšš Many types were moved from Brick.Widgets.Core and Brick.Main to Brick.Types, making the former module merely a home for Widget constructors and combinators.
    • ๐Ÿšš The IsString instance for Widget was removed; this might be reinstated later, but this package provides enough IsString instances that things can get confusing.
    • EventM is now reader monad over the most recent rendering pass's viewport state, in addition to being a state monad over viewport requests for the renderer. Added the lookupViewport function to provide access to the most recent viewport state. Exported the Viewport type and lenses.
    • Now that handleEvent is now an EventM action, composition with continue et al got a little messier when using lenses to update the application state. To help with this, there is now handleEventLensed.

    ๐Ÿ›  Bugfixes:

    • ๐Ÿ‘€ Lists now perform well with 10 items or a million (see above; fixes #7, thanks Simon Michael)
    • โž• Added more haddock notes to Brick.Widgets.Core about growth policies.
    • ๐Ÿ‘ฎ Forced evaluation of render states to address a space leak in the renderer (fixes #14, thanks Sebastian ReuรŸe [email protected])
    • str: only reference string content that can be shown (eliminates a space leak, fixes #14, thanks Sebastian ReuรŸe [email protected])

    Misc:

    • โž• Added a makefile for the user guide.
    • ๐Ÿ‘ List: added support for Home and End keys (thanks Simon Michael)
    • Viewports: when rendering viewports, scroll requests from EventM are processed before visibility requests from the rendering process; this reverses this previous order of operations but permits user-supplied event handlers to reset viewports when desired.

    ๐Ÿ“ฆ Package changes:

    • โž• Added deepseq dependency

    0.1

    ๐ŸŽ‰ Initial release