@@ -1,861 +1,555 @@
11
2−5.35.1
3−------
4−
5−Bug fixes:
6− * Fixed a build issue with a test program.
7−
8−5.35
9−----
10−
11−New features:
12− * Add support for 24-bit color (thanks @u-quark). This change
13− updates Vty to look at the `COLORTERM` environment variable that is
14− conventionally used to advertise support for truecolor escape
15− sequences. The change also updates the Vty demo to demonstrate
16− 24-bit colors. This change also adds a new data type, `ColorMode`,
17− to represent the color mode in use, as well as an `Output` interface
18− field, `outputColorMode`, to track the active color mode and use it
19− to clamp emitted color escape sequences to the active color range.
20−
21−API changes:
22− * All types in `Graphics.Vty.Input.Events` now have strict constructor
23− fields.
24− * Internal events are now wrapped in a new `InternalEvent` type to
25− improve how signal handling is done. This change modifies the `Input`
26− type's event channel API to produce `InternalEvents`, not `Events`.
27− The new `InternalEvent` either wraps `Event` with the `InputEvent`
28− constructor (the previous behavior) or indicates that Vty resumed
29− after handling a signal using the `ResumeAfterSignal` constructor.
30− This change avoids the previous use of `EvResize` with lazy exception
31− arguments as a sentinel value for `ResumeAfterSignal`.
32−
33−Other enhancements:
34− * Bracketed paste parsing performance has been greatly improved thanks
35− to benchmarking and optimization work by @iphydf. As part of that
36− work, Vty now uses bytestrings rather than Strings internally when
37− parsing input to look for events.
38− * The `\b` value is now interpreted as `KBS` (thanks @vglfr)
39−
40−5.34
41−----
42−
43−API changes:
44− * Added an `NFData` instance for `Event` (thanks Mario Lang)
45− * Removed `Monoid` and `Semigroup` instances for `Attr` and
46− `MaybeDefault`. This change removed the instances because they were
47− misbehaved; merging `Attr` and `MaybeDefault` values with these
48− instances resulted in field value losses. For example, before this
49− change,
50−```
51−(defAttr `withForeColor` blue) <> (defAttr `withBackColor` green)
52−```
53− would result in just
54−```
55− (defAttr `withBackColor` green)
56−```
57− because the instances were designed to favor the right-hand
58− arguments' fields even if they had not been explicitly set
59− (a consequence of the `MaybeDefault` `Semigroup` instance).
60− While that behavior was sensible specifically in the context of
61− `Graphics.Vty.Inline`, it wasn't a useful user-facing API and it made
62− for surprising instance behavior. Since there is actually no good way
63− to handle this in a `Semigroup` instance for `Attr` -- some choices
64− have to be made about how to merge two attributes' foreground colors,
65− and that won't be much better than what we had -- the instance was
66− just removed.
67−
68−
69−5.33
70−----
71−
72−API changes:
73−* The `Cursor` type got a new `PositionOnly` constructor for cursor
74− placement without visibility.
75−
76−Package changes:
77−* Relaxed upper bound for `random`
78−* Updated `microlens` bounds to allow 0.4.12
79−
80−Other improvements:
81−* Various hlint-driven improvements (thanks Willem Van Onsem)
82−* The implementation of `color240` was improved (thanks (Willem Van
83− Onsem)
84−
85−5.32
86−----
87−
88−New features:
89− * Meta-PageUp and Meta-PageDown are now supported (#193)
90− * Added `supportsItalics` and `supportsStrikethrough` functions to
91− check for feature support in terminfo
92−
93−Bug fixes:
94− * Detect utf-8 mode in `LANG` regardless of case (thanks Emeka
95− Nkurumeh)
96−
97−5.31
98−----
99−
100−New features and API changes:
101− * Added support for strikethrough mode. This change adds a new
102− `strikethrough` `Style` value and uses the `smxx` and `rmxx`
103− Terminfo capabilities to activate and deactivate strikethrough mode,
104− respectively. If the terminfo does not report those capabilities,
105− this style is ignored.
106− * `Output`: added the `setDisplayBounds` field to set the output
107− dimensions of the output handle; added an implementation of this for
108− the `TerminfoBased` backend.
109−
110−Other changes:
111− * The C prototype for `vty_c_get_window_size` in `gwinsz.h` was fixed.
112−
113−5.30
114−----
115−
116−New features:
117− * Added `Graphics.Vty.setWindowTitle` to emit an escape
118− sequence to set the window title, provide the terminal emulator
119− accepts Xterm-style title sequences. For details, see:
120− https://tldp.org/HOWTO/Xterm-Title-3.html
121−
122−5.29
123−----
124−
125−API changes:
126− * The Input type got a new field, 'restoreInputState'. This field
127− allows the end user to have direct access to the logic needed to
128− restore the terminal's input state flags. Prior to having this field,
129− this state restoration logic could only be invoked as part of calling
130− 'shutdownInput', but since that function does other things (like
131− killing threads) it is not advisable to call it repeatedly (which is
132− necessary in the use case this change is intended to support). This
133− can be called directly to restore the input state flags as needed,
134− although this is not required if 'shutdown' (or 'shutdownInput') is
135− called.
136−
137−Other changes:
138− * attributeControl: explicitly enable the ICRNL terminal mode flag (see
139− #187 and c572ad).
140−
141−5.28.2
142−------
143−
144−Bug fixes:
145− * Added a package dependency on `semigroups` for the
146− `vty-build-width-table` tool on older GHCs (#185)
147−
148−5.28.1
149−------
150−
151−Bug fixes:
152− * `installUnicodeWidthTable`: use `throwIO`, not `throw`
153−
154−5.28
155−----
156−
157−This release improves Vty's support for multi-column Unicode characters
158−and provides greater compatibility with a wider array of terminal
159−emulators. The following sections summarize the relevant changes, but an
160−overview of the new functionality is motivated and detailed in the new
161−"Multi-Column Character Support" README section. For
162−historical context, please also consider reading over
163−[#175](https://github.com/jtdaugherty/vty/issues/175).
164−
165−API changes:
166− * New modules were added:
167− * `Graphics.Vty.UnicodeWidthTable.Types`
168− * `Graphics.Vty.UnicodeWidthTable.IO`
169− * `Graphics.Vty.UnicodeWidthTable.Query`
170− * `Graphics.Vty.UnicodeWidthTable.Install`
171− * The `Config` type got a new field, `allowCustomUnicodeWidthTables`,
172− that controls whether `mkVty` will attempt to load a Unicode width
173− table if specified in the configuration.
174−
175−Configuration file changes:
176− * A new syntax was added to support specifying Unicode width tables on
177− a per-`TERM` basis. The syntax is `widthMap <TERM> <PATH>`. See the
178− documentation for `Graphics.Vty.Config` for details. Since prior
179− versions of this library will silently ignore any configuration file
180− lines they cannot parse, this change to user configuration files is
181− at least non-breaking for older versions of Vty.
182−
183−Other changes:
184− * The `mkVty` function now automatically attempts to load a custom
185− Unicode width table if one is specified in the configuration,
186− provided `allowCustomUnicodeWidthTables` is not set to `Just False`.
187− See the documentation for `Graphics.Vty.mkVty` for details.
188− * Vty now includes a command line tool, `vty-build-width-table`, that
189− queries the terminal emulator to construct a custom Unicode width
190− table and optionally update the Vty configuration file to use it.
191− Programs that want to use that tool's functionality may also do so
192− via the API exposed in the various modules listed above.
193−
19425.27
195−----
196−
197−* Added `Graphics.Vty.Config.getTtyEraseChar` to support querying the
198− kernel for the current terminal's settings to obtain the character
199− assigned by the `stty erase` command. That can then be added to the
200− Vty configuration's input map to map to `KBS` (backspace) if desired.
3+ - Added Graphics.Vty.Config.getTtyEraseChar to support querying the
4+ kernel for the current terminal's settings to obtain the character
5+ assigned by the "stty erase" command. That can then be added to the
6+ Vty configuration's input map to map to KBS (backspace) if desired.
2017
20285.26
203−----
204−
205−* Resolved various import warnings (thanks @glguy)
206−* Removed the `MonadIO` constraint from the Output type's fields and
207− removed `MonadFail` uses (PR #177, thanks @glguy)
208−* Clarified documentation for ANSI colors (thanks Colby Jenn)
209−* `Graphics.Vty.Attributes` no longer re-exports
210− `Graphics.Vty.Attributes.Color`
211−* The `Graphics.Vty.Attributes.Color` module is now exposed (thanks
212− Colby Jenn)
213−* Raised upper bound for `microlens` to 0.4.12 (thanks Artyom Kazak)
214−* Changed from using `System.Posix.Env.getEnv` to
215− `System.Environment.lookupEnv` (thanks Jonathan Osser)
216−* Added `Graphics.Vty.Image` functions for dealing with character width
217− computations on `Text` values instead of `Strings`:
218− * `safeWctwidth`
219− * `safeWctlwidth`
220− * `wctwidth`
221− * `wctlwidth`
9+ - Resolved various import warnings (thanks @glguy)
10+ - Removed the MonadIO constraint from the Output type's fields and
11+ removed MonadFail uses (PR #177, thanks @glguy)
12+ - Clarified documentation for ANSI colors (thanks Colby Jenn)
13+ - Graphics.Vty.Attributes no longer re-exports
14+ Graphics.Vty.Attributes.Color
15+ - The Graphics.Vty.Attributes.Color module is now exposed (thanks Colby
16+ Jenn)
17+ - Raised upper bound for microlens to 0.4.12 (thanks Artyom Kazak)
18+ - Changed from using System.Posix.Env.getEnv to
19+ System.Environment.lookupEnv (thanks Jonathan Osser)
20+ - Added Graphics.Vty.Image functions for dealing with character width
21+ computations on Text values instead of Strings:
22+ - safeWctwidth
23+ - safeWctlwidth
24+ - wctwidth
25+ - wctlwidth
22226
223275.25.1
224−------
225−
226−* Avoided a conflict with a Microlens 0.4.10 operator and added an
227− upper bound on Microlens of 0.4.11.
28+ - Avoided a conflict with a Microlens 0.4.10 operator and added an
29+ upper bound on Microlens of 0.4.11.
22830
229315.25
230−----
231−
232−* The Vty type got a new field, isShutdown, that returns whether the
233− Vty handle has had its 'shutdown' function called (thanks Ian
234− Jeffries)
235−* Vty's shutdown function is now thread-safe.
32+ - The Vty type got a new field, isShutdown, that returns whether the
33+ Vty handle has had its 'shutdown' function called (thanks Ian
34+ Jeffries)
35+ - Vty's shutdown function is now thread-safe.
23636
237375.24.1
238−------
239−
240−* The "shutdown" method of Vty handles is now idempotent (#159)
38+ - The "shutdown" method of Vty handles is now idempotent (#159)
24139
242405.24
243−----
244−
245−* Add Generic and NFData instances for some types
246−* Image: remove custom Show instance, add derived Show and Read
247− instances
248−* Updated Travis build settings (thanks Eric Mertens)
41+ - Add Generic and NFData instances for some types
42+ - Image: remove custom Show instance, add derived Show and Read instances
43+ - Updated Travis build settings (thanks Eric Mertens)
24944
250455.23.1
251−------
252−
253−* Fixed a bug where italics did not combine properly with other display
254− modes (#155, thanks Eric Mertens)
46+ - Fixed a bug where italics did not combine properly with other
47+ display modes (#155, thanks Eric Mertens)
25548
256495.23
257−----
258−
259−* Added support for italicized output when terminfo supports it. This
260− takes the form of a new Style, "italic". Note that most terminfo
261− descriptors do not report capabilities for italics, so support for
262− this will be very spotty.
263−* Updateed text/string function documentation to indicate that escapes
264− are not permitted in their inputs.
50+ - Added support for italicized output when terminfo supports it. This
51+ takes the form of a new Style, "italic". Note that most terminfo
52+ descriptors do not report capabilities for italics, so support for
53+ this will be very spotty.
54+ - Updateed text/string function documentation to indicate that escapes
55+ are not permitted in their inputs.
26556
266575.22
267−----
268−
269−* Added Graphics.Vty.Attributes.Color240.color240CodeToRGB function
270− (thanks Brent Carmer)
271−* Added nextEventNonblocking function (field) to Vty type (#87)
58+ - Added Graphics.Vty.Attributes.Color240.color240CodeToRGB function
59+ (thanks Brent Carmer)
60+ - Added nextEventNonblocking function (field) to Vty type (#87)
27261
273625.21
274−----
275−
276−* Picture and Background now provide Eq instances (thanks Jaro Reinders)
277−* #145: vty builds with microlens 0.4.9 (thanks Daniel Wagner)
278−* #142: note requirement of threaded RTS
63+ - Picture and Background now provide Eq instances (thanks Jaro Reinders)
64+ - #145: vty builds with microlens 0.4.9 (thanks Daniel Wagner)
65+ - #142: note requirement of threaded RTS
27966
280675.20
281−----
282−
28368API changes:
284−* Split up Monoid instances into Monoid and Semigroup for newer GHCs
285− (thanks Ryan Scott)
69+ - Split up Monoid instances into Monoid and Semigroup for newer GHCs
70+ (thanks Ryan Scott)
28671
287725.19.1
288−------
289−
29073API changes:
291−* Cursor now provides an Eq instance (thanks Jaro Reinders)
74+ * Cursor now provides an Eq instance (thanks Jaro Reinders)
29275
293765.19
294−----
295−
29677API changes:
297−* URL hyperlinking (via 'withURL') is now optional and disabled by
298− default due to poor support on some common terminals. A new 'Mode'
299− constructor, 'Hyperlink', has been added to enable this feature. To
300− change the hyperlinking mode, use 'setMode' on the 'outputIface' of a
301− Vty handle.
78+ - URL hyperlinking (via 'withURL') is now optional and disabled by
79+ default due to poor support on some common terminals. A new 'Mode'
80+ constructor, 'Hyperlink', has been added to enable this feature. To
81+ change the hyperlinking mode, use 'setMode' on the 'outputIface' of a
82+ Vty handle.
30283
303845.18.1
304−------
305−
30685Bug fixes:
307−* Reset the hyperlink state on line endings to avoid run-on hyperlinks
86+ - Reset the hyperlink state on line endings to avoid run-on hyperlinks
30887
309885.18
310−----
311−
31289API changes:
313−* Added support for hyperlinking attributes (thanks Getty Ritter). This
314− change adds a new Attr field for containing the hyperlink to apply,
315− as per https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
90+ - Added support for hyperlinking attributes (thanks Getty Ritter). This
91+ change adds a new Attr field for containing the hyperlink to apply,
92+ as per https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
31693
317945.17.1
318−------
319−
320−* withStyle now ignores zero arguments, leaving attribute styles
321− untouched if the input style is the null style
95+ - withStyle now ignores zero arguments, leaving attribute styles
96+ untouched if the input style is the null style
32297
323985.17
324−----
325−
32699API changes:
327−* Add support for terminal focus events. This change adds a new mode
328− usable with setMode, Focus, that requests that the terminal send
329− events on focus lose/gain. This change also adds two new Event
330− constructors, EvLostFocus and EvGainedFocus.
331−* No longer enable UTF8 mouse event encoding. This encoding was not
332− working properly with Terminal.app, and using the other modes (SGR,
333− etc.) work.
334−* Graphics.Vty.Attributes: escape backticks in Haddock comment (fixes
335− #131)
100+ - Add support for terminal focus events. This change adds a new mode
101+ usable with setMode, Focus, that requests that the terminal send
102+ events on focus lose/gain. This change also adds two new Event
103+ constructors, EvLostFocus and EvGainedFocus.
104+ - No longer enable UTF8 mouse event encoding. This encoding was not
105+ working properly with Terminal.app, and using the other modes (SGR,
106+ etc.) work.
107+ - Graphics.Vty.Attributes: escape backticks in Haddock comment (fixes
108+ #131)
336109
3371105.16
338−----
339−
340111API changes:
341−* Added support for mouse wheel events while in mouse mode. The Button
342− type got two new constructors as a result: BScrollUp and BScrollDown.
343− Thanks to doublescale@tutanota.com for this contribution!
112+ - Added support for mouse wheel events while in mouse mode. The Button
113+ type got two new constructors as a result: BScrollUp and BScrollDown.
114+ Thanks to doublescale@tutanota.com for this contribution!
344115
345116Bug fixes:
346−* charFill now clamps negative arguments to zero (thanks Eric Mertens!)
117+ - charFill now clamps negative arguments to zero (thanks Eric
118+ Mertens!)
347119
3481205.15.1
349−------
350−
351121Package changes:
352−* Documentation files are now marked accordingly (thanks Michal
353− Suchánek)
122+ - Documentation files are now marked accordingly (thanks Michal
123+ Suchánek)
354124
355125Bug fixes:
356−* translateX/Y: fix negative translations
126+ - translateX/Y: fix negative translations
357127
3581285.15
359−----
360−
361129Package changes:
362−* Discontinued support for GHC versions prior to 7.10.1.
363−* Removed instructions and configuration for Stack builds since they
364− are no longer supported.
365−* Clarified README mention of (lack of) Windows support (contributors
366− wanted, though!)
367−* Removed dependency on data-default (see below).
130+ - Discontinued support for GHC versions prior to 7.10.1.
131+ - Removed instructions and configuration for Stack builds since they
132+ are no longer supported.
133+ - Clarified README mention of (lack of) Windows support (contributors
134+ wanted, though!)
135+ - Removed dependency on data-default (see below).
368136
369137API changes:
370−* Moved color definitions from Attributes to Color module.
371−* In lieu of data-default (Default) instances for Attr and Config, use
372− 'defAttr' and the new 'defaultConfig' (or 'mempty') instead of 'def'.
373−* Graphics.Vty.Output no longer re-exports
374− Graphics.Vty.Output.Interface.
375−* Removed Graphics.Vty.Prelude module and moved DisplayRegion and its
376− accessors to Graphics.Vty.Image.
377−* Graphics.Vty.Image no longer re-exports Graphics.Vty.Attributes.
378−* Graphics.Vty.Picture no longer re-exports Graphics.Vty.Image.
138+ - Moved color definitions from Attributes to Color module.
139+ - In lieu of data-default (Default) instances for Attr and Config, use
140+ 'defAttr' and the new 'defaultConfig' (or 'mempty') instead of 'def'.
141+ - Graphics.Vty.Output no longer re-exports
142+ Graphics.Vty.Output.Interface.
143+ - Removed Graphics.Vty.Prelude module and moved DisplayRegion and its
144+ accessors to Graphics.Vty.Image.
145+ - Graphics.Vty.Image no longer re-exports Graphics.Vty.Attributes.
146+ - Graphics.Vty.Picture no longer re-exports Graphics.Vty.Image.
379147
3801485.14
381−----
382−
383−* addMaybeClippedJoin: instead of raising an exception when the join
384− is totally clipped, just reduce the clip amount and continue
385−* addMaybeClipped: skip blit of joins when their primary dimension is
386− zero
387−* 'string' and related text functions no longer treat an empty string
388− as an empty image (thanks Chris Penner). This means that now it is
389− possible to use 'str ""' as a non-empty image with height 1.
149+ - addMaybeClippedJoin: instead of raising an exception when the join
150+ is totally clipped, just reduce the clip amount and continue
151+ - addMaybeClipped: skip blit of joins when their primary dimension is
152+ zero
153+ - 'string' and related text functions no longer treat an empty string
154+ as an empty image (thanks Chris Penner). This means that now it is
155+ possible to use 'str ""' as a non-empty image with height 1.
390156
3911575.13
392−----
393−
394−* Reverted changes in 5.12 due to disagreements between terminal
395− emulators and utf8proc; for more details, please see the ticket
396− discussion at
397− https://github.com/coreyoconnor/vty/issues/115
158+ - Reverted changes in 5.12 due to disagreements between terminal
159+ emulators and utf8proc; for more details, please see the ticket
160+ discussion at
161+ https://github.com/coreyoconnor/vty/issues/115
398162
3991635.12
400−----
401−
402−* Replaced 'wcwidth' with a call to the utf8proc library's character
403− width function, which is much more up to date (by several Unicode
404− versions) and returns the right width for a much larger set of
405− characters.
406−* Added a bundled version of the utf8proc C library.
164+ - Replaced 'wcwidth' with a call to the utf8proc library's character
165+ width function, which is much more up to date (by several Unicode
166+ versions) and returns the right width for a much larger set of
167+ characters.
168+ - Added a bundled version of the utf8proc C library.
407169
4081705.11.3
409−------
410−
411−* Fix mouse event offsets in mouse-up events
171+ - Fix mouse event offsets in mouse-up events
412172
4131735.11.2
414−------
415−
416−* Mouse events were modified so that the upper-left corner of the window
417− is (0,0) rather than (1,1).
174+ - Mouse events were modified so that the upper-left corner of the
175+ window is (0,0) rather than (1,1).
418176
4191775.11.1
420−------
421−
422−* Add Generic instance for Image
423−* nextEvent: stop trying to refresh on a resize event (fixes segfault
424− on refresh with normal cursor positioning mode)
425−* Remove redundant clause from clipForCharWidth (thanks Eric Mertens)
426−* Update maintainer
178+ - Add Generic instance for Image
179+ - nextEvent: stop trying to refresh on a resize event (fixes segfault
180+ on refresh with normal cursor positioning mode)
181+ - Remove redundant clause from clipForCharWidth (thanks Eric Mertens)
182+ - Update maintainer
427183
4281845.11
429−----
430−
431−* Vty now raises a VtyConfigurationError exception when the TERM
432− evironment variable is missing (thanks Eric Mertens)
433−* Graphics.Vty.Config got an explicit export list to avoid accidentally
434− exporting internal types (thanks Eric Mertens)
185+ - Vty now raises a VtyConfigurationError exception when the TERM
186+ evironment variable is missing (thanks Eric Mertens)
187+ - Graphics.Vty.Config got an explicit export list to avoid accidentally
188+ exporting internal types (thanks Eric Mertens)
435189
4361905.10
437−----
438−
439−* Add absolute cursor positioning mode AbsoluteCursor to Cursor. This
440− mode provides greater control over cursor positioning by bypassing
441− the logical positioning provided by default. Rather than positioning
442− the cursor by looking at the widths of characters involved, this
443− constructor lets you provide a physical row and column instead. This
444− is useful in more sophisticated programs. (thanks Eric Mertens)
445−* Added a new Generic-derived config parser (thanks Eric Mertens)
446−* Fixed the MShift case in the configuration file parser (thanks Eric
447− Mertens)
448−* Fixed wcwidth import and matched safeWcswidth to its documented
449− behavior. Previously vty_mk_wcwidth was being imported with the
450− wrong type causing the -1 return value to be mapped to the wrong Int
451− value. Additionally safeWcswidth was using the unsafe character width
452− function and only ensuring that the final result was non-negative.
453− (thanks Eric Mertens)
191+ - Add absolute cursor positioning mode AbsoluteCursor to Cursor. This
192+ mode provides greater control over cursor positioning by bypassing
193+ the logical positioning provided by default. Rather than positioning
194+ the cursor by looking at the widths of characters involved, this
195+ constructor lets you provide a physical row and column instead. This
196+ is useful in more sophisticated programs. (thanks Eric Mertens)
197+ - Added a new Generic-derived config parser (thanks Eric Mertens)
198+ - Fixed the MShift case in the configuration file parser (thanks Eric
199+ Mertens)
200+ - Fixed wcwidth import and matched safeWcswidth to its documented
201+ behavior. Previously vty_mk_wcwidth was being imported with
202+ the wrong type causing the -1 return value to be mapped to the
203+ wrong Int value. Additionally safeWcswidth was using the unsafe
204+ character width function and only ensuring that the final result was
205+ non-negative. (thanks Eric Mertens)
454206
4552075.9.1
456−-----
457−
458−* Vty now only emits UTF8 charset sequences in terminals without a
459− preexisting UTF8 declaration to avoid emitting garbage sequences
460− (fixes #89)
208+ - Vty now only emits UTF8 charset sequences in terminals without a
209+ preexisting UTF8 declaration to avoid emitting garbage sequences
210+ (fixes #89)
461211
4622125.9
463−---
464−
465−* Added new Output methods supportsBell and ringTerminalBell to find out
466− whether the output device has an audio bell and to ring it (see #102)
213+ - Added new Output methods supportsBell and ringTerminalBell to find
214+ out whether the output device has an audio bell and to ring it (see
215+ #102)
467216
4682175.8.1
469−-----
470−
471−* Fixed "refresh" to work as advertised (see #104)
218+ - Fixed "refresh" to work as advertised (see #104)
472219
4732205.8
474−---
475−
476−* API change: EvPaste input event now provides paste data as a raw
477− ByteString rather than a String to allow the application to decode how
478− best to decode it
221+ - API change: EvPaste input event now provides paste data as a raw
222+ ByteString rather than a String to allow the application to decode
223+ how best to decode it
479224
4802255.7.1
481−-----
482−
483−* ModeDemo: added an explicit Control.Applicative import for older GHCs
226+ - ModeDemo: added an explicit Control.Applicative import for older
227+ GHCs
484228
4852295.7
486−---
487−
488−* Mouse and paste modes are now off by default.
489−* The Config type got new fields: mouseMode and bracketedPasteMode.
490− These determine whether these modes are enabled initially (for
491− terminals that support them).
492−* Added a Mode type for modal terminal features (mouse events,
493− bracketed paste mode) that is used with new Output interface
494− functions:
495− * supportsMode :: Mode -> Bool tells whether the device supports a
496− mode
497− * setMode :: Mode -> Bool -> IO () turns a mode on or off
498− * getModeStatus :: Mode -> IO Bool tells you whether a mode is on or
499− off
500−* Added a new demo program, ModeDemo.hs, to demonstrate usage of modes
230+ - Mouse and paste modes are now off by default.
231+ - The Config type got new fields: mouseMode and bracketedPasteMode.
232+ These determine whether these modes are enabled initially (for
233+ terminals that support them).
234+ - Added a Mode type for modal terminal features (mouse events,
235+ bracketed paste mode) that is used with new Output interface
236+ functions:
237+ * supportsMode :: Mode -> Bool tells whether the device supports a
238+ mode
239+ * setMode :: Mode -> Bool -> IO () turns a mode on or off
240+ * getModeStatus :: Mode -> IO Bool tells you whether a mode is on or
241+ off
242+ - Added a new demo program, ModeDemo.hs, to demonstrate usage of modes
501243
5022445.6
503−---
504−
505−* Added support for normal and extended mouse modes in Xterm-like
506− terminals via the MouseDown and MouseUp Event constructors
507−* Added support for bracketed paste mode in Xterm-like terminals via
508− the EvPaste event constructor
509−* Added derived Show instances for Event and Button (thanks Felix
510− Hirn)
511−* Now TERM values containing "screen" will automatically use the
512− XtermColor driver rather than just TerminfoBased
245+ - Added support for normal and extended mouse modes in Xterm-like
246+ terminals via the MouseDown and MouseUp Event constructors
247+ - Added support for bracketed paste mode in Xterm-like terminals via
248+ the EvPaste event constructor
249+ - Added derived Show instances for Event and Button (thanks Felix
250+ Hirn)
251+ - Now TERM values containing "screen" will automatically use the
252+ XtermColor driver rather than just TerminfoBased
513253
5142545.5.0
515−-----
516−
517−* Replaced lens dependency with microlens, microlens-mtl, microlens-th
518− dependencies. Issue #90
519− * Thanks Jonathan Daugherty
520−* Cabal corrections.
521− * Thanks Lennart Spitzner
255+ - Replaced lens dependency with microlens, microlens-mtl, microlens-th
256+ dependencies. Issue #90
257+ - Thanks Jonathan Daugherty
258+ - Cabal corrections.
259+ - Thanks Lennart Spitzner
522260
5232615.4.0
524−-----
525−
526−* Changed eventChannel of Graphics.Vty.Input from Chan to
527− TChan. This enables clients to query if there are no pending
528− events. The Graphics.Vty interface nextEvent is unchanged.
529− Clients that use eventChannel directly will require updating.
530− https://github.com/coreyoconnor/vty/issues/60
531−
262+ - Changed eventChannel of Graphics.Vty.Input from Chan to TChan.
263+ This enables clients to query if there are no pending events. The
264+ Graphics.Vty interface nextEvent is unchanged. Clients that use
265+ eventChannel directly will require updating.
266+ https://github.com/coreyoconnor/vty/issues/60
5322675.3.1
533−-----
534−
535−* Reverted cabal file to depend on Cabal >= 1.18 instead of 1.20 due to
536− possibly breaking this on reasonable GHC versions
268+ - Reverted cabal file to depend on Cabal >= 1.18 instead of 1.20 due
269+ to possibly breaking this on reasonable GHC versions
537270
5382715.3
539−---
540−
541−* Upgraded QuickCheck dependency to 2.7
542−* The standard IO Config (standardIOConfig) was overriding any provided
543− application config. In addition, the inputFd and outputFd could not be
544− changed if mkVty was used. Fixed.
545−* Correct handling of display attributes at end of line. The output
546− attributes are set to default at the end of content for the line and
547− at the start of a new line. Previously the current attribute would
548− extend to the next start of content. This was odd to reason about and
549− was the cause of https://github.com/coreyoconnor/vty/issues/76 IIRC Yi
550− requires the old behavior to display the selection region correctly.
551−* shutdown of the input thread is now performed using killThread and
552− synchronization on an MVar. For correct handling of the terminal read
553− vmin and vtime the read must be a blocking read on an OS thread.
554− This places a threadWaitRead, which will be interrupted by the
555− killThread, prior to the uninterruptable read. An alternative would be
556− to re-import the read foreign call as interruptable.
272+ - Upgraded QuickCheck dependency to 2.7
273+ - The standard IO Config (standardIOConfig) was overriding any
274+ provided application config. In addition, the inputFd and outputFd
275+ could not be changed if mkVty was used. Fixed.
276+ - Correct handling of display attributes at end of line. The output
277+ attributes are set to default at the end of content for the line and
278+ at the start of a new line. Previously the current attribute would
279+ extend to the next start of content. This was odd to reason about
280+ and was the cause of https://github.com/coreyoconnor/vty/issues/76
281+ IIRC Yi requires the old behavior to display the selection region
282+ correctly.
283+ - shutdown of the input thread is now performed using killThread and
284+ synchronization on an MVar. For correct handling of the terminal
285+ read vmin and vtime the read must be a blocking read on an OS
286+ thread. This places a threadWaitRead, which will be interrupted by
287+ the killThread, prior to the uninterruptable read. An alternative
288+ would be to re-import the read foreign call as interruptable.
557289
5582905.2.11
559−------
560−
561−* deepseq bounds increased for tests.
562−* Clean up warnings when compiling on 7.10
563− * Thanks Eric Mertens
564−* Avoid discarding input bytes after multi-byte encoded codepoint
565− * Thanks Eric Mertens
291+ - deepseq bounds increased for tests.
292+ - Clean up warnings when compiling on 7.10
293+ - Thanks Eric Mertens
294+ - Avoid discarding input bytes after multi-byte encoded codepoint
295+ - Thanks Eric Mertens
566296
5672975.2.10
568−------
569−
570−* "str" now returns EmptyImage for empty strings to match behavior of
571− other string-like Image constructors (fixes #74)
572− * Thanks Jonathan Daugherty
298+ - "str" now returns EmptyImage for empty strings to match behavior of
299+ other string-like Image constructors (fixes #74)
300+ - Thanks Jonathan Daugherty
573301
5743025.2.9
575−-----
576−
577−* dependency version bumps
578− * https://github.com/coreyoconnor/vty/pull/71
579− * https://github.com/coreyoconnor/vty/pull/70
580−* Correct/Simplify the example code
581− * Thanks glguy
582− * https://github.com/coreyoconnor/vty/pull/69
303+ - dependency version bumps
304+ - https://github.com/coreyoconnor/vty/pull/71
305+ - https://github.com/coreyoconnor/vty/pull/70
306+ - Correct/Simplify the example code
307+ - Thanks glguy
308+ - https://github.com/coreyoconnor/vty/pull/69
583309
5843105.2.8
585−-----
586−
587−* blaze-builder, lens, utf8-string version constraint bump
588− * Thanks glguy
589− * https://github.com/coreyoconnor/vty/pull/67
590−* Do not differentiate based on TERM_PROGRAM
591− * https://github.com/coreyoconnor/vty/issues/68
311+ - blaze-builder, lens, utf8-string version constraint bump
312+ - Thanks glguy
313+ - https://github.com/coreyoconnor/vty/pull/67
314+ - Do not differentiate based on TERM_PROGRAM
315+ - https://github.com/coreyoconnor/vty/issues/68
592316
5933175.2.7
594−-----
595−
596−* lens and deepseq constraint bump + misc
597− * Thanks ethercrow
598− * https://github.com/coreyoconnor/vty/pull/66
318+ - lens and deepseq constraint bump + misc
319+ - Thanks ethercrow
320+ - https://github.com/coreyoconnor/vty/pull/66
599321
6003225.2.6
601−-----
602−
603−* lens constraint bump
604− * Thanks alexander-b!
605− * https://github.com/coreyoconnor/vty/pull/64
323+ - lens constraint bump
324+ - Thanks alexander-b!
325+ - https://github.com/coreyoconnor/vty/pull/64
606326
6073275.2.5
608−-----
609−
610−* lens and random version constraint bump.
611− * Thanks RyanGlScott!
612− * https://github.com/coreyoconnor/vty/pull/62
328+ - lens and random version constraint bump.
329+ - Thanks RyanGlScott!
330+ - https://github.com/coreyoconnor/vty/pull/62
613331
6143325.2.4
615−-----
616−
617−* removed -fpic from cc-options. No longer required.
618− * https://github.com/coreyoconnor/vty/issues/61
619− * https://ghc.haskell.org/trac/ghc/ticket/9657
620− * Thanks Fuuzetsu!
333+ - removed -fpic from cc-options. No longer required.
334+ - https://github.com/coreyoconnor/vty/issues/61
335+ - https://ghc.haskell.org/trac/ghc/ticket/9657
336+ - Thanks Fuuzetsu!
621337
6223385.2.3
623−-----
624−
625−* evaluate/compile the input parsing table once instead of each
626− keystroke.
627− * https://github.com/coreyoconnor/vty/pull/59
628− * Thanks ethercrow!
339+ - evaluate/compile the input parsing table once instead of each
340+ keystroke.
341+ - https://github.com/coreyoconnor/vty/pull/59
342+ - Thanks ethercrow!
629343
6303445.2.2
631−-----
632−
633−* When looking at input for an event, don't look too deep.
634− * https://github.com/coreyoconnor/vty/pull/57
635− * Thanks ethercrow!
345+ - When looking at input for an event, don't look too deep.
346+ - https://github.com/coreyoconnor/vty/pull/57
347+ - Thanks ethercrow!
636348
6373495.2.1
638−-----
639−
640−* Bump upper version bound for lens to 4.5. Thanks markus1189!
350+ - Bump upper version bound for lens to 4.5. Thanks markus1189!
641351
6423525.2.0
643−-----
644−
645−* Config structure now specifies file descriptor to use. The default
646− is stdInput and stdOutput file descriptors. Previously Vty used
647− stdInput for input and the follow code for output:
648− * hDuplicate stdout >>= handleToFd >>= (`hSetBuffering`
649− NoBuffering)
650− * the difference was required by Vty.Inline. Now, Vty.Inline uses
651− the Config structure options to acheive the same effect.
652−* removed: derivedVtime, derivedVmin, inputForCurrentTerminal,
653− inputForNameAndIO, outputForCurrentTerminal, outputForNameAndIO
654−* added: inputForConfig, outputForConfig
655−* updates to vty-rogue from jtdaugherty. Thanks!
656−* the oldest version of GHC tested to support vty is 7.6.2.
657−* the oldest version of GHC that vty compiles under is 7.4.2
353+ - Config structure now specifies file descriptor to use. The default
354+ is stdInput and stdOutput file descriptors. Previously Vty used
355+ stdInput for input and the follow code for output:
356+ - hDuplicate stdout >>= handleToFd >>= (`hSetBuffering`
357+ NoBuffering)
358+ - the difference was required by Vty.Inline. Now, Vty.Inline uses
359+ the Config structure options to acheive the same effect.
360+ - removed: derivedVtime, derivedVmin, inputForCurrentTerminal,
361+ inputForNameAndIO, outputForCurrentTerminal, outputForNameAndIO
362+ - added: inputForConfig, outputForConfig
363+ - updates to vty-rogue from jtdaugherty. Thanks!
364+ - the oldest version of GHC tested to support vty is 7.6.2.
365+ - the oldest version of GHC that vty compiles under is 7.4.2
658366
6593675.1.4
660−-----
661−
662−* merged https://github.com/coreyoconnor/vty/pull/51 thanks trofi!
368+ - merged https://github.com/coreyoconnor/vty/pull/51 thanks trofi!
663369
6643705.1.1
665−-----
666−
667−* merged https://github.com/coreyoconnor/vty/pull/48 thanks sjmielke!
668−* jtdaugherty resolved a number of compiler warnings. Thanks!
371+ - merged https://github.com/coreyoconnor/vty/pull/48 thanks sjmielke!
372+ - jtdaugherty resolved a number of compiler warnings. Thanks!
669373
6703745.1.0
671−-----
672−
673−* vmin and vtime can be specified however the application requires.
674− See Graphics.Vty.Config.
675−* fixed the processing of input when vmin is set > 1.
375+ - vmin and vtime can be specified however the application requires.
376+ See Graphics.Vty.Config.
377+ - fixed the processing of input when vmin is set > 1.
676378
6773795.0.0
678−-----
679−
680−* The naming convention now matches:
681− * http://www.haskell.org/haskellwiki/Programming_guidelines#Naming_Conventions
682−* all projects using vty for input must be compiled with -threaded.
683− Please notify vty author if this is not acceptable.
684−* mkVtyEscDelay has been removed. Use "mkVty def". Which initialized
685− vty with the default configuration.
686−* input handling changes
687− * KASCII is now KChar
688− * KPN5 is now KCenter
689− * tests exist.
690− * Applications can add to the input tables by setting inputMap of
691− the Config. See Graphics.Vty.Config
692− * Users can define input table extensions that will apply to all vty
693− applications. See Graphics.Vty.Config
694− * terminal timing is now handled by selecting an appropriate VTIME.
695− Previously this was implemented within Vty itself. This reduced
696− complexity in vty but provides a different meta key behavior and
697− implies a requirement on -threaded.
698− * The time vty will wait to verify an ESC byte means a single ESC
699− key is the singleEscPeriod of the Input Config structure.
700−* removed the typeclass based terminal and display context interface
701− in favor of a data structure of properties interface.
702−* renamed the Terminal interface to Output
703−* The default picture for an image now uses the "clear" background.
704− This background fills background spans with spaces or just ends the
705− line.
706− * Previously the background defaulted to the space character. This
707− causes issues copying text from a text editor. The text would end
708− up with extra spaces at the end of the line.
709−* Layer support
710− * Each layer is an image.
711− * The layers for a picture are a list of images.
712− * The first image is the top-most layer. The images are ordered from
713− top to bottom.
714− * The transparent areas for a layer are the backgroundFill areas.
715− backgroundFill is added to pad images when images of different
716− sizes are joined.
717− * If the background is clear there is no background layer.
718− * If there is a background character then the bottom layer is the
719− background layer.
720− * emptyPicture is a Picture with no layers and no cursor
721− * addToTop and addToBottom add a layer to the top and bottom of the
722− given Picture.
723−* compatibility improvements:
724− * terminfo based terminals with no cursor support are silently
725− accepted. The cursor visibility changes in the Picture will have
726− no effect.
727− * alternate (setf/setb) color maps supported. Though colors beyond
728− the first 8 are just a guess.
729− * added "rgbColor" for easy support of RGB specified colors.
730− * Both applications and users can add to the mapping used to
731− translate from input bytes to events.
732−* Additional information about input and output process can be
733− appended to a debug log
734− * Set environment variable VTY_DEBUG_LOG to path of debug log
735− * Or use "debugLog <path>" config directive
736− * Or set 'debugLog' property of the Config provided to mkVty.
737−* examples moved to vty-examples package. See test directory for cabal
738− file.
739− * vty-interactive-terminal-test
740− * interactive test. Useful for building a bug report for vty's
741− author.
742− * test/interactive_terminal_test.hs
743− * vty-event-echo
744− * view a input event log for vty. Example of interacting with
745− user.
746− * test/EventEcho.hs
747− * vty-rogue
748− * The start of a rogue-like game. Example of layers and image
749− build operations.
750− * test/Rogue.hs
751− * vty-benchmark
752− * benchmarks vty. A series of tests that push random pictures to
753− the terminal. The random pictures are generated using
754− QuickCheck. The same generators used in the automated tests.
755− * test/benchmark.hs
380+ - The naming convention now matches:
381+ - http://www.haskell.org/haskellwiki/Programming_guidelines#Naming_Conventions
382+ - all projects using vty for input must be compiled with -threaded.
383+ Please notify vty author if this is not acceptable.
384+ - mkVtyEscDelay has been removed. Use "mkVty def". Which initialized
385+ vty with the default configuration.
386+ - input handling changes
387+ - KASCII is now KChar
388+ - KPN5 is now KCenter
389+ - tests exist.
390+ - Applications can add to the input tables by setting inputMap of
391+ the Config. See Graphics.Vty.Config
392+ - Users can define input table extensions that will apply to all vty
393+ applications. See Graphics.Vty.Config
394+ - terminal timing is now handled by selecting an appropriate VTIME.
395+ Previously this was implemented within Vty itself. This reduced
396+ complexity in vty but provides a different meta key behavior and
397+ implies a requirement on -threaded.
398+ - The time vty will wait to verify an ESC byte means a single ESC
399+ key is the singleEscPeriod of the Input Config structure.
400+ - removed the typeclass based terminal and display context interface
401+ in favor of a data structure of properties interface.
402+ - renamed the Terminal interface to Output
403+ - The default picture for an image now uses the "clear" background.
404+ This background fills background spans with spaces or just ends the
405+ line.
406+ - Previously the background defaulted to the space character. This
407+ causes issues copying text from a text editor. The text would end
408+ up with extra spaces at the end of the line.
409+ - Layer support
410+ - Each layer is an image.
411+ - The layers for a picture are a list of images.
412+ - The first image is the top-most layer. The images are ordered from
413+ top to bottom.
414+ - The transparent areas for a layer are the backgroundFill areas.
415+ backgroundFill is added to pad images when images of different
416+ sizes are joined.
417+ - If the background is clear there is no background layer.
418+ - If there is a background character then the bottom layer is the
419+ background layer.
420+ - emptyPicture is a Picture with no layers and no cursor
421+ - addToTop and addToBottom add a layer to the top and bottom of the
422+ given Picture.
423+ - compatibility improvements:
424+ - terminfo based terminals with no cursor support are silently
425+ accepted. The cursor visibility changes in the Picture will have
426+ no effect.
427+ - alternate (setf/setb) color maps supported. Though colors beyond
428+ the first 8 are just a guess.
429+ - added "rgbColor" for easy support of RGB specified colors.
430+ - Both applications and users can add to the mapping used to
431+ translate from input bytes to events.
432+ - Additional information about input and output process can be
433+ appended to a debug log
434+ - Set environment variable VTY_DEBUG_LOG to path of debug log
435+ - Or use "debugLog <path>" config directive
436+ - Or set 'debugLog' property of the Config provided to mkVty.
437+ - examples moved to vty-examples package. See test directory for cabal
438+ file.
439+ - vty-interactive-terminal-test
440+ - interactive test. Useful for building a bug report for vty's
441+ author.
442+ - test/interactive_terminal_test.hs
443+ - vty-event-echo
444+ - view a input event log for vty. Example of interacting with
445+ user.
446+ - test/EventEcho.hs
447+ - vty-rogue
448+ - The start of a rogue-like game. Example of layers and image
449+ build operations.
450+ - test/Rogue.hs
451+ - vty-benchmark
452+ - benchmarks vty. A series of tests that push random pictures to
453+ the terminal. The random pictures are generated using
454+ QuickCheck. The same generators used in the automated tests.
455+ - test/benchmark.hs
756456
7574574.7.0.0
758−-------
458+ - API changes:
459+ - Added Graphics.Vty.Image.crop: Ensure an image is no larger
460+ than the specified size.
461+ - Added Graphics.Vty.Image.pad: Ensure an image is no smaller
462+ than the specified size.
463+ - Added Graphics.Vty.Image.translate: Offset an image.
464+ - Thanks Ben Boeckel <MathStuf@gmail.com> for these features.
759465
760−API changes:
761−* Added Graphics.Vty.Image.crop: Ensure an image is no larger
762− than the specified size.
763−* Added Graphics.Vty.Image.pad: Ensure an image is no smaller
764− than the specified size.
765−* Added Graphics.Vty.Image.translate: Offset an image.
766−* Thanks Ben Boeckel <MathStuf@gmail.com> for these features.
466+4.3.0.0
767467
7684684.2.1.0
769−-------
770−
771−API changes:
772−* Attr record accessor fore_color changed to attr_fore_color
773−* Attr record accessor back_color changed to attr_back_color
774−* Attr record accessor style changed to attr_style
775−* Added an "inline" display attribute changing DSL:
776− * put_attr_change applies a display attribute change
777− immediately to a terminal
778− * For instance, can be used to change the display attrbiutes
779− of text output via putStrLn and putStr. EX:
780− "put_attr_change $ back_color red" will set the background
781− color to red.
782− * Changes do not apply to a Picture output via output_picture.
783− * See Graphics.Vty.Inline
784−* Moved all IO actions into any monad an instance of MonadIO
469+ - API changes:
470+ - Attr record accessor fore_color changed to attr_fore_color
471+ - Attr record accessor back_color changed to attr_back_color
472+ - Attr record accessor style changed to attr_style
473+ - Added an "inline" display attribute changing DSL:
474+ - put_attr_change applies a display attribute change
475+ immediately to a terminal
476+ - For instance, can be used to change the display attrbiutes
477+ of text output via putStrLn and putStr. EX:
478+ "put_attr_change $ back_color red" will set the background
479+ color to red.
480+ - Changes do not apply to a Picture output via output_picture.
481+ - See Graphics.Vty.Inline
482+ - Moved all IO actions into any monad an instance of MonadIO
785483
7864844.0.0.1
787−-------
788−
789−* binding for mk_wcswidth was incorrect. Most platforms just
790− magically worked due to coincidence.
485+ - binding for mk_wcswidth was incorrect. Most platforms just
486+ magically worked due to coincidence.
791487
7924884.0.0
793−-----
794−
795−API changes:
796−* "getSize" has been removed. Use "terminal vty >>= display_bounds"
797− where "vty" is an instance of the Vty data structure.
798−* added a "terminal" field to the Vty data structure. Accesses the
799− TerminalHandle associated with the Vty instance.
800−* Graphics.Vty.Types has undergone a number of changes. Summary:
801− * Partitioned into Graphics.Vty.Attributes for display attributes.
802− Graphics.Vty.Image for image combinators. Graphics.Vty.Picture
803− for final picture construction.
804−* Graphics.Vty.Attributes:
805− * "setFG" and "setBG" are now "with_fore_color" and
806− "with_back_color"
807− * All other "set.." equations similarly replaced.
808− * "attr" is now "def_attr", short for "default display attributes"
809− Also added a "current_attr" for "currently applied display
810− attributes"
811−* Graphics.Vty.Image:
812− * "horzcat" is now "horiz_cat"
813− * "vertcat" is now "vert_cat"
814− * "renderBS" is now "utf8_bytestring"
815− * "renderChar" is now "char"
816− * "renderFill" is now "char_fill"
817− * added a "utf8_string" and "string" (AKA "iso_10464_string") for
818− UTF-8 encoded Strings and ISO-10464 encoded Strings. String
819− literals in GHC have an ISO-10464 runtime representation.
820−* Graphics.Vty.Picture:
821− * exports Graphics.Vty.Image
822− * "pic" is now "pic_for_image"
823− * added API for setting background fill pattern.
824−* Completely rewritten output backend.
825− * Efficient, scanline style output span generator. Has not been
826− fully optimized, but good enough.
827− * The details required to display the desired picture on a
828− terminal are well encapsulated.
829− * Terminfo based display terminal implementation. With specialized
830− derivitives for xterm, Terminal.app, and iTerm.app.
831− * Attempts to robustly handle even terminals that don't
832− support all display attributes.
833− * I've tested the following terminals with success: iTerm.app,
834− Terminal.app, xterm, rxvt, mlterm, Eterm, gnome-terminal,
835− konsole, screen, linux vty. Hopefully you will be as
836− successfull.
837− * Improved unicode support. Double wide characters will display as
838− expected.
839−* 256 color support. See Graphics.Vty.Attributes.Color240. The actual
840− output color is adjusted according to the number of colors the
841− terminal supports.
842−* The Graphics.Vty.Image combinators no longer require matching
843− dimensions to arguments. Unspecified areas are filled in with a
844− user-customizable background pattern. See Graphics.Vty.Picture.
845−* output images are always cropped to display size.
846−* Significant code coverage by QuickCheck tests. An interactive test
847− for those final properties that couldn't be automatically verified.
489+ - API changes:
490+ - "getSize" has been removed. Use "terminal vty >>= display_bounds"
491+ where "vty" is an instance of the Vty data structure.
492+ - added a "terminal" field to the Vty data structure. Accesses the
493+ TerminalHandle associated with the Vty instance.
494+ - Graphics.Vty.Types has undergone a number of changes. Summary:
495+ - Partitioned into Graphics.Vty.Attributes for display attributes.
496+ Graphics.Vty.Image for image combinators. Graphics.Vty.Picture
497+ for final picture construction.
498+ - Graphics.Vty.Attributes:
499+ - "setFG" and "setBG" are now "with_fore_color" and
500+ "with_back_color"
501+ - All other "set.." equations similarly replaced.
502+ - "attr" is now "def_attr", short for "default display attributes"
503+ Also added a "current_attr" for "currently applied display
504+ attributes"
505+ - Graphics.Vty.Image:
506+ - "horzcat" is now "horiz_cat"
507+ - "vertcat" is now "vert_cat"
508+ - "renderBS" is now "utf8_bytestring"
509+ - "renderChar" is now "char"
510+ - "renderFill" is now "char_fill"
511+ - added a "utf8_string" and "string" (AKA "iso_10464_string") for
512+ UTF-8 encoded Strings and ISO-10464 encoded Strings. String
513+ literals in GHC have an ISO-10464 runtime representation.
514+ - Graphics.Vty.Picture:
515+ - exports Graphics.Vty.Image
516+ - "pic" is now "pic_for_image"
517+ - added API for setting background fill pattern.
518+ - Completely rewritten output backend.
519+ - Efficient, scanline style output span generator. Has not been
520+ fully optimized, but good enough.
521+ - The details required to display the desired picture on a
522+ terminal are well encapsulated.
523+ - Terminfo based display terminal implementation. With specialized
524+ derivitives for xterm, Terminal.app, and iTerm.app.
525+ - Attempts to robustly handle even terminals that don't
526+ support all display attributes.
527+ - I've tested the following terminals with success: iTerm.app,
528+ Terminal.app, xterm, rxvt, mlterm, Eterm, gnome-terminal,
529+ konsole, screen, linux vty. Hopefully you will be as
530+ successfull.
531+ - Improved unicode support. Double wide characters will display as
532+ expected.
533+ - 256 color support. See Graphics.Vty.Attributes.Color240. The actual
534+ output color is adjusted according to the number of colors the
535+ terminal supports.
536+ - The Graphics.Vty.Image combinators no longer require matching
537+ dimensions to arguments. Unspecified areas are filled in with a
538+ user-customizable background pattern. See Graphics.Vty.Picture.
539+ - output images are always cropped to display size.
540+ - Significant code coverage by QuickCheck tests. An interactive test
541+ for those final properties that couldn't be automatically verified.
848542
849543Issues resolved:
850−* "gnome terminal displays non-basic attributes as strikethrough"
851− * http://trac.haskell.org/vty/ticket/14
852−* "Multi-byte characters are not displayed correctly on update"
853− * http://trac.haskell.org/vty/ticket/10
854−* "Redraw does not handle rendering a line that extends beyond screen
855− width characters"
856− * http://trac.haskell.org/vty/ticket/13
857−* "The <|> and <-> combinators should be more forgiving of mismatched
858− dimensions"
859− * http://trac.haskell.org/vty/ticket/9
860−* "256-color support"
861− * http://trac.haskell.org/vty/ticket/19
544+ - "gnome terminal displays non-basic attributes as strikethrough"
545+ - http://trac.haskell.org/vty/ticket/14
546+ - "Multi-byte characters are not displayed correctly on update"
547+ - http://trac.haskell.org/vty/ticket/10
548+ - "Redraw does not handle rendering a line that extends beyond screen
549+ width characters"
550+ - http://trac.haskell.org/vty/ticket/13
551+ - "The <|> and <-> combinators should be more forgiving of mismatched
552+ dimensions"
553+ - http://trac.haskell.org/vty/ticket/9
554+ - "256-color support"
555+ - http://trac.haskell.org/vty/ticket/19