on master help sign in
CHANGELOG: reformat
commiteabe52ba2319b01be5a5246db985d6ef4d66f7fe authorJonathan Daugherty <cygnus@foobox.com> dateFri 6 Mar 2020, 11:04 (7 years ago) parentbd8a18c
1 file changed+534−420
CHANGELOG.md+534−420
CHANGELOG.md+534−420
@@ -1,555 +1,669 @@
11
225.27
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.
3+----
4+
5+* Added `Graphics.Vty.Config.getTtyEraseChar` to support querying the
6+ kernel for the current terminal's settings to obtain the character
7+ assigned by the `stty erase` command. That can then be added to the
8+ Vty configuration's input map to map to `KBS` (backspace) if desired.
79
8105.26
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
11+----
12+
13+* Resolved various import warnings (thanks @glguy)
14+* Removed the `MonadIO` constraint from the Output type's fields and
15+ removed `MonadFail` uses (PR #177, thanks @glguy)
16+* Clarified documentation for ANSI colors (thanks Colby Jenn)
17+* `Graphics.Vty.Attributes` no longer re-exports
18+ `Graphics.Vty.Attributes.Color`
19+* The `Graphics.Vty.Attributes.Color` module is now exposed (thanks
20+ Colby Jenn)
21+* Raised upper bound for `microlens` to 0.4.12 (thanks Artyom Kazak)
22+* Changed from using `System.Posix.Env.getEnv` to
23+ `System.Environment.lookupEnv` (thanks Jonathan Osser)
24+* Added `Graphics.Vty.Image` functions for dealing with character width
25+ computations on `Text` values instead of `Strings`:
26+ * `safeWctwidth`
27+ * `safeWctlwidth`
28+ * `wctwidth`
29+ * `wctlwidth`
2630
27315.25.1
28− - Avoided a conflict with a Microlens 0.4.10 operator and added an
29− upper bound on Microlens of 0.4.11.
32+------
33+
34+* Avoided a conflict with a Microlens 0.4.10 operator and added an
35+ upper bound on Microlens of 0.4.11.
3036
31375.25
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.
38+----
39+
40+* The Vty type got a new field, isShutdown, that returns whether the
41+ Vty handle has had its 'shutdown' function called (thanks Ian
42+ Jeffries)
43+* Vty's shutdown function is now thread-safe.
3644
37455.24.1
38− - The "shutdown" method of Vty handles is now idempotent (#159)
46+------
47+
48+* The "shutdown" method of Vty handles is now idempotent (#159)
3949
40505.24
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)
51+----
52+
53+* Add Generic and NFData instances for some types
54+* Image: remove custom Show instance, add derived Show and Read
55+ instances
56+* Updated Travis build settings (thanks Eric Mertens)
4457
45585.23.1
46− - Fixed a bug where italics did not combine properly with other
47− display modes (#155, thanks Eric Mertens)
59+------
60+
61+* Fixed a bug where italics did not combine properly with other display
62+ modes (#155, thanks Eric Mertens)
4863
49645.23
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.
65+----
66+
67+* Added support for italicized output when terminfo supports it. This
68+ takes the form of a new Style, "italic". Note that most terminfo
69+ descriptors do not report capabilities for italics, so support for
70+ this will be very spotty.
71+* Updateed text/string function documentation to indicate that escapes
72+ are not permitted in their inputs.
5673
57745.22
58− - Added Graphics.Vty.Attributes.Color240.color240CodeToRGB function
59− (thanks Brent Carmer)
60− - Added nextEventNonblocking function (field) to Vty type (#87)
75+----
76+
77+* Added Graphics.Vty.Attributes.Color240.color240CodeToRGB function
78+ (thanks Brent Carmer)
79+* Added nextEventNonblocking function (field) to Vty type (#87)
6180
62815.21
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
82+----
83+
84+* Picture and Background now provide Eq instances (thanks Jaro Reinders)
85+* #145: vty builds with microlens 0.4.9 (thanks Daniel Wagner)
86+* #142: note requirement of threaded RTS
6687
67885.20
89+----
90+
6891API changes:
69− - Split up Monoid instances into Monoid and Semigroup for newer GHCs
70− (thanks Ryan Scott)
92+* Split up Monoid instances into Monoid and Semigroup for newer GHCs
93+ (thanks Ryan Scott)
7194
72955.19.1
96+------
97+
7398API changes:
74− * Cursor now provides an Eq instance (thanks Jaro Reinders)
99+* Cursor now provides an Eq instance (thanks Jaro Reinders)
75100
761015.19
102+----
103+
77104API changes:
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.
105+* URL hyperlinking (via 'withURL') is now optional and disabled by
106+ default due to poor support on some common terminals. A new 'Mode'
107+ constructor, 'Hyperlink', has been added to enable this feature. To
108+ change the hyperlinking mode, use 'setMode' on the 'outputIface' of a
109+ Vty handle.
83110
841115.18.1
112+------
113+
85114Bug fixes:
86− - Reset the hyperlink state on line endings to avoid run-on hyperlinks
115+* Reset the hyperlink state on line endings to avoid run-on hyperlinks
87116
881175.18
118+----
119+
89120API changes:
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
121+* Added support for hyperlinking attributes (thanks Getty Ritter). This
122+ change adds a new Attr field for containing the hyperlink to apply,
123+ as per https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
93124
941255.17.1
95− - withStyle now ignores zero arguments, leaving attribute styles
96− untouched if the input style is the null style
126+------
127+
128+* withStyle now ignores zero arguments, leaving attribute styles
129+ untouched if the input style is the null style
97130
981315.17
132+----
133+
99134API changes:
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)
135+* Add support for terminal focus events. This change adds a new mode
136+ usable with setMode, Focus, that requests that the terminal send
137+ events on focus lose/gain. This change also adds two new Event
138+ constructors, EvLostFocus and EvGainedFocus.
139+* No longer enable UTF8 mouse event encoding. This encoding was not
140+ working properly with Terminal.app, and using the other modes (SGR,
141+ etc.) work.
142+* Graphics.Vty.Attributes: escape backticks in Haddock comment (fixes
143+ #131)
109144
1101455.16
146+----
147+
111148API changes:
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!
149+* Added support for mouse wheel events while in mouse mode. The Button
150+ type got two new constructors as a result: BScrollUp and BScrollDown.
151+ Thanks to doublescale@tutanota.com for this contribution!
115152
116153Bug fixes:
117− - charFill now clamps negative arguments to zero (thanks Eric
118− Mertens!)
154+* charFill now clamps negative arguments to zero (thanks Eric Mertens!)
119155
1201565.15.1
157+------
158+
121159Package changes:
122− - Documentation files are now marked accordingly (thanks Michal
123− Suchánek)
160+* Documentation files are now marked accordingly (thanks Michal
161+ Suchánek)
124162
125163Bug fixes:
126− - translateX/Y: fix negative translations
164+* translateX/Y: fix negative translations
127165
1281665.15
167+----
168+
129169Package changes:
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).
170+* Discontinued support for GHC versions prior to 7.10.1.
171+* Removed instructions and configuration for Stack builds since they
172+ are no longer supported.
173+* Clarified README mention of (lack of) Windows support (contributors
174+ wanted, though!)
175+* Removed dependency on data-default (see below).
136176
137177API changes:
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.
178+* Moved color definitions from Attributes to Color module.
179+* In lieu of data-default (Default) instances for Attr and Config, use
180+ 'defAttr' and the new 'defaultConfig' (or 'mempty') instead of 'def'.
181+* Graphics.Vty.Output no longer re-exports
182+ Graphics.Vty.Output.Interface.
183+* Removed Graphics.Vty.Prelude module and moved DisplayRegion and its
184+ accessors to Graphics.Vty.Image.
185+* Graphics.Vty.Image no longer re-exports Graphics.Vty.Attributes.
186+* Graphics.Vty.Picture no longer re-exports Graphics.Vty.Image.
147187
1481885.14
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.
189+----
190+
191+* addMaybeClippedJoin: instead of raising an exception when the join
192+ is totally clipped, just reduce the clip amount and continue
193+* addMaybeClipped: skip blit of joins when their primary dimension is
194+ zero
195+* 'string' and related text functions no longer treat an empty string
196+ as an empty image (thanks Chris Penner). This means that now it is
197+ possible to use 'str ""' as a non-empty image with height 1.
156198
1571995.13
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
200+----
201+
202+* Reverted changes in 5.12 due to disagreements between terminal
203+ emulators and utf8proc; for more details, please see the ticket
204+ discussion at
205+ https://github.com/coreyoconnor/vty/issues/115
162206
1632075.12
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.
208+----
209+
210+* Replaced 'wcwidth' with a call to the utf8proc library's character
211+ width function, which is much more up to date (by several Unicode
212+ versions) and returns the right width for a much larger set of
213+ characters.
214+* Added a bundled version of the utf8proc C library.
169215
1702165.11.3
171− - Fix mouse event offsets in mouse-up events
217+------
218+
219+* Fix mouse event offsets in mouse-up events
172220
1732215.11.2
174− - Mouse events were modified so that the upper-left corner of the
175− window is (0,0) rather than (1,1).
222+------
223+
224+* Mouse events were modified so that the upper-left corner of the window
225+ is (0,0) rather than (1,1).
176226
1772275.11.1
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
228+------
229+
230+* Add Generic instance for Image
231+* nextEvent: stop trying to refresh on a resize event (fixes segfault
232+ on refresh with normal cursor positioning mode)
233+* Remove redundant clause from clipForCharWidth (thanks Eric Mertens)
234+* Update maintainer
183235
1842365.11
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)
237+----
238+
239+* Vty now raises a VtyConfigurationError exception when the TERM
240+ evironment variable is missing (thanks Eric Mertens)
241+* Graphics.Vty.Config got an explicit export list to avoid accidentally
242+ exporting internal types (thanks Eric Mertens)
189243
1902445.10
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)
245+----
246+
247+* Add absolute cursor positioning mode AbsoluteCursor to Cursor. This
248+ mode provides greater control over cursor positioning by bypassing
249+ the logical positioning provided by default. Rather than positioning
250+ the cursor by looking at the widths of characters involved, this
251+ constructor lets you provide a physical row and column instead. This
252+ is useful in more sophisticated programs. (thanks Eric Mertens)
253+* Added a new Generic-derived config parser (thanks Eric Mertens)
254+* Fixed the MShift case in the configuration file parser (thanks Eric
255+ Mertens)
256+* Fixed wcwidth import and matched safeWcswidth to its documented
257+ behavior. Previously vty_mk_wcwidth was being imported with the
258+ wrong type causing the -1 return value to be mapped to the wrong Int
259+ value. Additionally safeWcswidth was using the unsafe character width
260+ function and only ensuring that the final result was non-negative.
261+ (thanks Eric Mertens)
206262
2072635.9.1
208− - Vty now only emits UTF8 charset sequences in terminals without a
209− preexisting UTF8 declaration to avoid emitting garbage sequences
210− (fixes #89)
264+-----
265+
266+* Vty now only emits UTF8 charset sequences in terminals without a
267+ preexisting UTF8 declaration to avoid emitting garbage sequences
268+ (fixes #89)
211269
2122705.9
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)
271+---
272+
273+* Added new Output methods supportsBell and ringTerminalBell to find out
274+ whether the output device has an audio bell and to ring it (see #102)
216275
2172765.8.1
218− - Fixed "refresh" to work as advertised (see #104)
277+-----
278+
279+* Fixed "refresh" to work as advertised (see #104)
219280
2202815.8
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
282+---
283+
284+* API change: EvPaste input event now provides paste data as a raw
285+ ByteString rather than a String to allow the application to decode how
286+ best to decode it
224287
2252885.7.1
226− - ModeDemo: added an explicit Control.Applicative import for older
227− GHCs
289+-----
290+
291+* ModeDemo: added an explicit Control.Applicative import for older GHCs
228292
2292935.7
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
294+---
295+
296+* Mouse and paste modes are now off by default.
297+* The Config type got new fields: mouseMode and bracketedPasteMode.
298+ These determine whether these modes are enabled initially (for
299+ terminals that support them).
300+* Added a Mode type for modal terminal features (mouse events,
301+ bracketed paste mode) that is used with new Output interface
302+ functions:
303+ * supportsMode :: Mode -> Bool tells whether the device supports a
304+ mode
305+ * setMode :: Mode -> Bool -> IO () turns a mode on or off
306+ * getModeStatus :: Mode -> IO Bool tells you whether a mode is on or
307+ off
308+* Added a new demo program, ModeDemo.hs, to demonstrate usage of modes
243309
2443105.6
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
311+---
312+
313+* Added support for normal and extended mouse modes in Xterm-like
314+ terminals via the MouseDown and MouseUp Event constructors
315+* Added support for bracketed paste mode in Xterm-like terminals via
316+ the EvPaste event constructor
317+* Added derived Show instances for Event and Button (thanks Felix
318+ Hirn)
319+* Now TERM values containing "screen" will automatically use the
320+ XtermColor driver rather than just TerminfoBased
253321
2543225.5.0
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
323+-----
324+
325+* Replaced lens dependency with microlens, microlens-mtl, microlens-th
326+ dependencies. Issue #90
327+ * Thanks Jonathan Daugherty
328+* Cabal corrections.
329+ * Thanks Lennart Spitzner
260330
2613315.4.0
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
332+-----
333+
334+* Changed eventChannel of Graphics.Vty.Input from Chan to
335+ TChan. This enables clients to query if there are no pending
336+ events. The Graphics.Vty interface nextEvent is unchanged.
337+ Clients that use eventChannel directly will require updating.
338+ https://github.com/coreyoconnor/vty/issues/60
339+
2673405.3.1
268− - Reverted cabal file to depend on Cabal >= 1.18 instead of 1.20 due
269− to possibly breaking this on reasonable GHC versions
341+-----
342+
343+* Reverted cabal file to depend on Cabal >= 1.18 instead of 1.20 due to
344+ possibly breaking this on reasonable GHC versions
270345
2713465.3
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.
347+---
348+
349+* Upgraded QuickCheck dependency to 2.7
350+* The standard IO Config (standardIOConfig) was overriding any provided
351+ application config. In addition, the inputFd and outputFd could not be
352+ changed if mkVty was used. Fixed.
353+* Correct handling of display attributes at end of line. The output
354+ attributes are set to default at the end of content for the line and
355+ at the start of a new line. Previously the current attribute would
356+ extend to the next start of content. This was odd to reason about and
357+ was the cause of https://github.com/coreyoconnor/vty/issues/76 IIRC Yi
358+ requires the old behavior to display the selection region correctly.
359+* shutdown of the input thread is now performed using killThread and
360+ synchronization on an MVar. For correct handling of the terminal read
361+ vmin and vtime the read must be a blocking read on an OS thread.
362+ This places a threadWaitRead, which will be interrupted by the
363+ killThread, prior to the uninterruptable read. An alternative would be
364+ to re-import the read foreign call as interruptable.
289365
2903665.2.11
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
367+------
368+
369+* deepseq bounds increased for tests.
370+* Clean up warnings when compiling on 7.10
371+ * Thanks Eric Mertens
372+* Avoid discarding input bytes after multi-byte encoded codepoint
373+ * Thanks Eric Mertens
296374
2973755.2.10
298− - "str" now returns EmptyImage for empty strings to match behavior of
299− other string-like Image constructors (fixes #74)
300− - Thanks Jonathan Daugherty
376+------
377+
378+* "str" now returns EmptyImage for empty strings to match behavior of
379+ other string-like Image constructors (fixes #74)
380+ * Thanks Jonathan Daugherty
301381
3023825.2.9
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
383+-----
384+
385+* dependency version bumps
386+ * https://github.com/coreyoconnor/vty/pull/71
387+ * https://github.com/coreyoconnor/vty/pull/70
388+* Correct/Simplify the example code
389+ * Thanks glguy
390+ * https://github.com/coreyoconnor/vty/pull/69
309391
3103925.2.8
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
393+-----
394+
395+* blaze-builder, lens, utf8-string version constraint bump
396+ * Thanks glguy
397+ * https://github.com/coreyoconnor/vty/pull/67
398+* Do not differentiate based on TERM_PROGRAM
399+ * https://github.com/coreyoconnor/vty/issues/68
316400
3174015.2.7
318− - lens and deepseq constraint bump + misc
319− - Thanks ethercrow
320− - https://github.com/coreyoconnor/vty/pull/66
402+-----
403+
404+* lens and deepseq constraint bump + misc
405+ * Thanks ethercrow
406+ * https://github.com/coreyoconnor/vty/pull/66
321407
3224085.2.6
323− - lens constraint bump
324− - Thanks alexander-b!
325− - https://github.com/coreyoconnor/vty/pull/64
409+-----
410+
411+* lens constraint bump
412+ * Thanks alexander-b!
413+ * https://github.com/coreyoconnor/vty/pull/64
326414
3274155.2.5
328− - lens and random version constraint bump.
329− - Thanks RyanGlScott!
330− - https://github.com/coreyoconnor/vty/pull/62
416+-----
417+
418+* lens and random version constraint bump.
419+ * Thanks RyanGlScott!
420+ * https://github.com/coreyoconnor/vty/pull/62
331421
3324225.2.4
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!
423+-----
424+
425+* removed -fpic from cc-options. No longer required.
426+ * https://github.com/coreyoconnor/vty/issues/61
427+ * https://ghc.haskell.org/trac/ghc/ticket/9657
428+ * Thanks Fuuzetsu!
337429
3384305.2.3
339− - evaluate/compile the input parsing table once instead of each
340− keystroke.
341− - https://github.com/coreyoconnor/vty/pull/59
342− - Thanks ethercrow!
431+-----
432+
433+* evaluate/compile the input parsing table once instead of each
434+ keystroke.
435+ * https://github.com/coreyoconnor/vty/pull/59
436+ * Thanks ethercrow!
343437
3444385.2.2
345− - When looking at input for an event, don't look too deep.
346− - https://github.com/coreyoconnor/vty/pull/57
347− - Thanks ethercrow!
439+-----
440+
441+* When looking at input for an event, don't look too deep.
442+ * https://github.com/coreyoconnor/vty/pull/57
443+ * Thanks ethercrow!
348444
3494455.2.1
350− - Bump upper version bound for lens to 4.5. Thanks markus1189!
446+-----
447+
448+* Bump upper version bound for lens to 4.5. Thanks markus1189!
351449
3524505.2.0
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
451+-----
452+
453+* Config structure now specifies file descriptor to use. The default
454+ is stdInput and stdOutput file descriptors. Previously Vty used
455+ stdInput for input and the follow code for output:
456+ * hDuplicate stdout >>= handleToFd >>= (`hSetBuffering`
457+ NoBuffering)
458+ * the difference was required by Vty.Inline. Now, Vty.Inline uses
459+ the Config structure options to acheive the same effect.
460+* removed: derivedVtime, derivedVmin, inputForCurrentTerminal,
461+ inputForNameAndIO, outputForCurrentTerminal, outputForNameAndIO
462+* added: inputForConfig, outputForConfig
463+* updates to vty-rogue from jtdaugherty. Thanks!
464+* the oldest version of GHC tested to support vty is 7.6.2.
465+* the oldest version of GHC that vty compiles under is 7.4.2
366466
3674675.1.4
368− - merged https://github.com/coreyoconnor/vty/pull/51 thanks trofi!
468+-----
469+
470+* merged https://github.com/coreyoconnor/vty/pull/51 thanks trofi!
369471
3704725.1.1
371− - merged https://github.com/coreyoconnor/vty/pull/48 thanks sjmielke!
372− - jtdaugherty resolved a number of compiler warnings. Thanks!
473+-----
474+
475+* merged https://github.com/coreyoconnor/vty/pull/48 thanks sjmielke!
476+* jtdaugherty resolved a number of compiler warnings. Thanks!
373477
3744785.1.0
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.
479+-----
480+
481+* vmin and vtime can be specified however the application requires.
482+ See Graphics.Vty.Config.
483+* fixed the processing of input when vmin is set > 1.
378484
3794855.0.0
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
486+-----
487+
488+* The naming convention now matches:
489+ * http://www.haskell.org/haskellwiki/Programming_guidelines#Naming_Conventions
490+* all projects using vty for input must be compiled with -threaded.
491+ Please notify vty author if this is not acceptable.
492+* mkVtyEscDelay has been removed. Use "mkVty def". Which initialized
493+ vty with the default configuration.
494+* input handling changes
495+ * KASCII is now KChar
496+ * KPN5 is now KCenter
497+ * tests exist.
498+ * Applications can add to the input tables by setting inputMap of
499+ the Config. See Graphics.Vty.Config
500+ * Users can define input table extensions that will apply to all vty
501+ applications. See Graphics.Vty.Config
502+ * terminal timing is now handled by selecting an appropriate VTIME.
503+ Previously this was implemented within Vty itself. This reduced
504+ complexity in vty but provides a different meta key behavior and
505+ implies a requirement on -threaded.
506+ * The time vty will wait to verify an ESC byte means a single ESC
507+ key is the singleEscPeriod of the Input Config structure.
508+* removed the typeclass based terminal and display context interface
509+ in favor of a data structure of properties interface.
510+* renamed the Terminal interface to Output
511+* The default picture for an image now uses the "clear" background.
512+ This background fills background spans with spaces or just ends the
513+ line.
514+ * Previously the background defaulted to the space character. This
515+ causes issues copying text from a text editor. The text would end
516+ up with extra spaces at the end of the line.
517+* Layer support
518+ * Each layer is an image.
519+ * The layers for a picture are a list of images.
520+ * The first image is the top-most layer. The images are ordered from
521+ top to bottom.
522+ * The transparent areas for a layer are the backgroundFill areas.
523+ backgroundFill is added to pad images when images of different
524+ sizes are joined.
525+ * If the background is clear there is no background layer.
526+ * If there is a background character then the bottom layer is the
527+ background layer.
528+ * emptyPicture is a Picture with no layers and no cursor
529+ * addToTop and addToBottom add a layer to the top and bottom of the
530+ given Picture.
531+* compatibility improvements:
532+ * terminfo based terminals with no cursor support are silently
533+ accepted. The cursor visibility changes in the Picture will have
534+ no effect.
535+ * alternate (setf/setb) color maps supported. Though colors beyond
536+ the first 8 are just a guess.
537+ * added "rgbColor" for easy support of RGB specified colors.
538+ * Both applications and users can add to the mapping used to
539+ translate from input bytes to events.
540+* Additional information about input and output process can be
541+ appended to a debug log
542+ * Set environment variable VTY_DEBUG_LOG to path of debug log
543+ * Or use "debugLog <path>" config directive
544+ * Or set 'debugLog' property of the Config provided to mkVty.
545+* examples moved to vty-examples package. See test directory for cabal
546+ file.
547+ * vty-interactive-terminal-test
548+ * interactive test. Useful for building a bug report for vty's
549+ author.
550+ * test/interactive_terminal_test.hs
551+ * vty-event-echo
552+ * view a input event log for vty. Example of interacting with
553+ user.
554+ * test/EventEcho.hs
555+ * vty-rogue
556+ * The start of a rogue-like game. Example of layers and image
557+ build operations.
558+ * test/Rogue.hs
559+ * vty-benchmark
560+ * benchmarks vty. A series of tests that push random pictures to
561+ the terminal. The random pictures are generated using
562+ QuickCheck. The same generators used in the automated tests.
563+ * test/benchmark.hs
456564
4575654.7.0.0
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.
566+-------
465567
466−4.3.0.0
568+API changes:
569+* Added Graphics.Vty.Image.crop: Ensure an image is no larger
570+ than the specified size.
571+* Added Graphics.Vty.Image.pad: Ensure an image is no smaller
572+ than the specified size.
573+* Added Graphics.Vty.Image.translate: Offset an image.
574+* Thanks Ben Boeckel <MathStuf@gmail.com> for these features.
467575
4685764.2.1.0
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
577+-------
578+
579+API changes:
580+* Attr record accessor fore_color changed to attr_fore_color
581+* Attr record accessor back_color changed to attr_back_color
582+* Attr record accessor style changed to attr_style
583+* Added an "inline" display attribute changing DSL:
584+ * put_attr_change applies a display attribute change
585+ immediately to a terminal
586+ * For instance, can be used to change the display attrbiutes
587+ of text output via putStrLn and putStr. EX:
588+ "put_attr_change $ back_color red" will set the background
589+ color to red.
590+ * Changes do not apply to a Picture output via output_picture.
591+ * See Graphics.Vty.Inline
592+* Moved all IO actions into any monad an instance of MonadIO
483593
4845944.0.0.1
485− - binding for mk_wcswidth was incorrect. Most platforms just
486− magically worked due to coincidence.
595+-------
596+
597+* binding for mk_wcswidth was incorrect. Most platforms just
598+ magically worked due to coincidence.
487599
4886004.0.0
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.
601+-----
602+
603+API changes:
604+* "getSize" has been removed. Use "terminal vty >>= display_bounds"
605+ where "vty" is an instance of the Vty data structure.
606+* added a "terminal" field to the Vty data structure. Accesses the
607+ TerminalHandle associated with the Vty instance.
608+* Graphics.Vty.Types has undergone a number of changes. Summary:
609+ * Partitioned into Graphics.Vty.Attributes for display attributes.
610+ Graphics.Vty.Image for image combinators. Graphics.Vty.Picture
611+ for final picture construction.
612+* Graphics.Vty.Attributes:
613+ * "setFG" and "setBG" are now "with_fore_color" and
614+ "with_back_color"
615+ * All other "set.." equations similarly replaced.
616+ * "attr" is now "def_attr", short for "default display attributes"
617+ Also added a "current_attr" for "currently applied display
618+ attributes"
619+* Graphics.Vty.Image:
620+ * "horzcat" is now "horiz_cat"
621+ * "vertcat" is now "vert_cat"
622+ * "renderBS" is now "utf8_bytestring"
623+ * "renderChar" is now "char"
624+ * "renderFill" is now "char_fill"
625+ * added a "utf8_string" and "string" (AKA "iso_10464_string") for
626+ UTF-8 encoded Strings and ISO-10464 encoded Strings. String
627+ literals in GHC have an ISO-10464 runtime representation.
628+* Graphics.Vty.Picture:
629+ * exports Graphics.Vty.Image
630+ * "pic" is now "pic_for_image"
631+ * added API for setting background fill pattern.
632+* Completely rewritten output backend.
633+ * Efficient, scanline style output span generator. Has not been
634+ fully optimized, but good enough.
635+ * The details required to display the desired picture on a
636+ terminal are well encapsulated.
637+ * Terminfo based display terminal implementation. With specialized
638+ derivitives for xterm, Terminal.app, and iTerm.app.
639+ * Attempts to robustly handle even terminals that don't
640+ support all display attributes.
641+ * I've tested the following terminals with success: iTerm.app,
642+ Terminal.app, xterm, rxvt, mlterm, Eterm, gnome-terminal,
643+ konsole, screen, linux vty. Hopefully you will be as
644+ successfull.
645+ * Improved unicode support. Double wide characters will display as
646+ expected.
647+* 256 color support. See Graphics.Vty.Attributes.Color240. The actual
648+ output color is adjusted according to the number of colors the
649+ terminal supports.
650+* The Graphics.Vty.Image combinators no longer require matching
651+ dimensions to arguments. Unspecified areas are filled in with a
652+ user-customizable background pattern. See Graphics.Vty.Picture.
653+* output images are always cropped to display size.
654+* Significant code coverage by QuickCheck tests. An interactive test
655+ for those final properties that couldn't be automatically verified.
542656
543657Issues resolved:
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
658+* "gnome terminal displays non-basic attributes as strikethrough"
659+ * http://trac.haskell.org/vty/ticket/14
660+* "Multi-byte characters are not displayed correctly on update"
661+ * http://trac.haskell.org/vty/ticket/10
662+* "Redraw does not handle rendering a line that extends beyond screen
663+ width characters"
664+ * http://trac.haskell.org/vty/ticket/13
665+* "The <|> and <-> combinators should be more forgiving of mismatched
666+ dimensions"
667+ * http://trac.haskell.org/vty/ticket/9
668+* "256-color support"
669+ * http://trac.haskell.org/vty/ticket/19