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