UNPKG

52 kBPlain TextView Raw
1
2v1.45.8
3-------
4
5Button: fixed more .setContent() bugs
6
7
8v1.45.7
9-------
10
11Button: fixed some .setContent() bugs
12
13
14v1.45.6
15-------
16
17Button: fixed some .setContent() bugs
18
19
20v1.45.6
21-------
22
23Button: fixed some .setContent() bugs
24
25
26v1.45.5
27-------
28
29Fix Linux Console default BG color
30
31
32v1.45.4
33-------
34
35Markup: add special reset that also reset forced attr (document-model) (#144)
36
37
38v1.45.3
39-------
40
41Add 'kitty' termconfig (dummy, fully based upon xterm 256/true color config) (#139)
42
43
44v1.45.2
45-------
46
47Following v1.45.1, adding 'itemToggle' event on the ColumnMenuMulti and derivated class
48
49
50v1.45.1
51-------
52
53Add the 'itemFocus' event on the BaseMenu superclass (#143)
54
55
56v1.45.0
57-------
58
59Fix keyboard navigation with Form having SelectList and SelectListMulti (#142), and some 'focus' event issues
60
61
62v1.44.3
63-------
64
65Fix a memory leak in the Document model (#138)
66
67
68v1.44.2
69-------
70
71Fix a memory leak in the Document model (#138)
72
73
74v1.44.1
75-------
76
77Mitigate leak issue with term.table() (#138)
78
79
80v1.44.0
81-------
82
83Better OSX support (see #126 and #127)
84
85
86v1.43.0
87-------
88
89New method TextTable#setCellContent() (#123)
90Fix Text#setContent()
91Fix a LabeledInput's label highlight bug on direct click focus
92
93
94v1.42.0
95-------
96
97Dependencies upgraded (get-pixels and underlying jpeg-js, pngjs and other lib)
98Upgrade forces Node v8 drop, now supports Node >= v10
99
100
101v1.41.0
102-------
103
104Container now supports scrolling, and so does Window.
105
106
107v1.40.0
108-------
109
110Fix a bad ScreenBuffer#put() behavior when trying to write out of the buffer without wrap:true
111Container now supports a 'movable' option that makes them movable by mouse-drag
112New Window widget with title, border, movable by default, that will serve as a base to iterate upon (planned feature: resizing, minimizing, docking, closing, scrolling)
113
114
115v1.39.0
116-------
117
118New TextBox methods: .scrollToTop(), .scrollToBottom() and .appendLog() (see the doc), and minor draw fix
119
120
121v1.38.0
122-------
123
124New: Bar widget, featuring text-over-bar, suitable as a component for a future progress-bar widget
125Fixing SelectList master-button enlargement bug
126
127
128v1.37.0
129-------
130
131New: AnimatedText widget, used for the new .spinner() (#98)
132Lot of inline mode fixes for document-model widget
133Documentation on .spinner(), .table() and TextTable (#109), built-in box/border/frame and animation/spinner
134
135
136v1.36.0
137-------
138
139ColumnMenu height bugfixes, autoWidth/Height support, and 'parentResize' event support (issue #120)
140
141
142v1.35.13
143--------
144
145Document model -- ColumnMenu: fix a redraw bug introduced in v1.35.0 (issue #120)
146
147
148v1.35.12
149--------
150
151Documentation
152
153
154v1.35.11
155--------
156
157Document model: new option 'autoWidth' and 'autoHeight' to adjust width/height to the parent Container size
158TextBox inside a Layout/Container auto-adjust itself on Container resizing (#119)
159Fix Text/Button display error when on the last column of a Container
160
161
162v1.35.10
163--------
164
165TextBuffer now supports content containing ANSI code, and so does TextBox (#119)
166
167
168v1.35.9
169-------
170
171Fix a nasty bug/regression introduced in v1.35.8 (TextBuffer)
172
173
174v1.35.8
175-------
176
177TextBuffer now supports .append() and .prepend()
178TextBox now supports .appendContent() and .prependContent()
179
180
181v1.35.7
182-------
183
184.inputField(): Fixing (again) issues related to full-width char (#117)
185
186
187v1.35.6
188-------
189
190Add debug facilities for issue #116, and a maybe-fix
191
192
193v1.35.5
194-------
195
196.inputField(), .progressBar() and all .*Menu() fallback to the last line position when requesting cursor location is not possible on the terminal (mainly a Windows problem) (#74)
197
198
199v1.35.4
200-------
201
202Fix backDelete behavior when the previous char is a full-width char (#117)
203
204
205v1.35.3
206-------
207
208Add 'cli' to the package keywords
209
210
211v1.35.2
212-------
213
214Fix the 'strictInline' mode clipping issue for widget with a height greater than the terminal height (#111)
215
216
217v1.35.1
218-------
219
220Many Document-model fix, including not altering user passed options
221
222
223v1.35.0
224-------
225
226New document-model widget: InlineInput, it's like .inputField() and implements almost every features of it, and will supersede it once its inline-mode is ready
227TextBuffer: fix some cursor position issue with line-wrapping
228RowMenu now supports pagination
229TextBuffer now supports voidTextBuffer (a kind of 'ghost' textBuffer companion, used to implement hint and placeholder in InlineInput)
230
231
232v1.34.5
233-------
234
235Transmit lineWrap/wordWrap options from LabeledInput and Form to EditableTextBox
236
237
238v1.34.4
239-------
240
241TextBuffer now supports auto-wrapping
242
243
244v1.34.3
245-------
246
247TextBuffer now supports both word-wrapping and 'hard' line-wrapping
248word-wrapping options are now spelled 'wordWrap' everywhere in Terminal Kit, old 'wordwrap' spelling is DEPRECATED but kept for backward compatibility
249
250
251v1.34.2
252-------
253
254.inputField() now supports CTRL_R auto-completion, using history as its source instead of options.autoComplete
255
256
257v1.34.1
258-------
259
260TextTable fixed when hasBorder:false, plus a whole bunch of new options to set attributes of columns, rows, cells, borders... as well as markup support (#109)
261
262
263v1.34.0
264-------
265
266New: document model TextTable
267New: term.table() (using TextTable in inline mode)
268New: ScreenBuffer* now support inline terminal rendering (i.e.: no moveTo operation, just newlines)
269New: Document model now supports “strict” inline mode (no grabInput, no asyncness, but only for static and one-time-renderable elements, like TextTable)
270
271
272v1.33.15
273--------
274
275Dependency
276
277
278v1.33.14
279--------
280
281Fix the SelectMenuMulti behavior, submitting on 'clickOut'
282
283
284v1.33.13
285--------
286
287Fix a scrolling bug in EditableTextBox
288
289
290v1.33.12
291--------
292
293Some word-wrapping bugs fixed for TextBuffer
294horizontal Slider supported
295TextBox supports horizontal scroll bar now
296
297
298v1.33.11
299--------
300
301Word-wrapping support for TextBuffer and TextBox
302Improved scrolling on Slider, TextBox and EditableTextBox, as well as more navigation keys and tiny draw-code performances bugs fixed
303
304
305v1.33.10
306--------
307
308Minor improvement on Slider (fix micro bug of the cursor hanging at the bottom and one cell right off of the slider)
309
310
311v1.33.9
312-------
313
314Document model: Fix some scrollbar/slider bug, allow Form/LabelledInput to have scrollbar
315
316
317v1.33.8
318-------
319
320New: Document model has now a Slider widget (only vertical support ATM)
321Now TextBox and EditableTextBox can have a vertical scrollbar using the new Slider widget
322
323
324v1.33.7
325-------
326
327Fix scrollable for TextBox, it can now get focus for listening key events (page up/down)
328All *Menu* are now sensible to mouse wheel
329
330
331v1.33.6
332-------
333
334Form/LabeledInput: fix the scrollable option
335
336
337v1.33.5
338-------
339
340Form/LabeledInput: add the scrollable option
341
342
343v1.33.4
344-------
345
346Document model: improved mouse event
347TextBox and EditableTextBox scrolling is greatly improved (auto scroll when needed, scroll move cursor, mouse wheel support)
348
349
350v1.33.3
351-------
352
353Fix Document model drag event
354basic support for scrollable TextBox
355
356
357v1.33.2
358-------
359
360ColumnMenu* support next/previous/first/last page key bindings
361
362
363v1.33.1
364-------
365
366EditableTextBox supports cursor moves on click, and supports middle-click that paste the so-called 'primary' clipboard
367LabeledInput support clipboard operation
368
369
370v1.33.0
371-------
372
373New: clipboard API
374Mouse event: new event subtype MOUSE_DRAG
375TextBuffer support selection with hilight (inverse foreground and background)
376TextBox are selectable and copy to primary clipboard on doing so while CTRL_O copy current selection to cut clipboard
377EditableTextBox: CTRL_P paste from cut clipboard
378
379
380v1.32.3
381-------
382
383.singleLineMenu() now supports option 'align' (=right|center|left) and 'fillIn' (boolean) (inspired by PR #105)
384
385
386v1.32.2
387-------
388
389Dependencies
390
391
392v1.32.0 - v1.32.1
393-----------------
394
395String-kit dependency upgraded: better formatting options!
396
397
398v1.31.7 - v1.31.10
399------------------
400
401Dependencies (string-kit format improvements)
402
403
404v1.31.6
405-------
406
407Support for new line in ScreenBuffer#put() need the opt-in option 'newLine' set to true, fixing v1.31.5 non-backward compatible behavior change (#103)
408
409
410v1.31.5
411-------
412
413Limited support for newline in ScreenBuffer#put(), replace other control chars by a space (#103)
414
415
416v1.31.4
417-------
418
419Add the x,y option to .progressBar() (may somewhat solve #99)
420
421
422v1.31.3
423-------
424
425Dependencies
426
427
428v1.31.2
429-------
430
431Reject bad RegExp for .inputField's tokenRegExp option: throw if the RegExp doesn't have the 'g' flag (fix #97)
432
433
434v1.31.1
435-------
436
437Fix gnome color reporting
438
439
440v1.31.0
441-------
442
443New: ScreenBuffer#fill() now supports a 'region' option, when specified only that region will be filled
444
445
446v1.30.0
447-------
448
449Finally ScreenBuffer* support fullwidth char
450WARNING: ScreenBufferHD breaking changes (beta API - not under SemVer)
451 * Support for *defaultColor is dropped because it is not compatible with alpha channel and blending
452 * attributes changed: now color channels are inside 'color', and bgColor is consistent, allowing to pass similar (standard) color object
453 to both the foreground and background (see the doc)
454
455
456v1.29.3
457-------
458
459Emergency bugfix (#95)
460
461
462v1.29.2
463-------
464
465Fix a TextBuffer bug in .setText() when markup is on
466
467
468v1.29.1
469-------
470
471Palette now has a 256-colors fallback
472ANSI colors are available in complex markup
473
474
475v1.29.0
476-------
477
478New: 24 bits Palette for the ScreenBuffer, complex markup for using new colorscheme/color name of the Palette
479Lot of bug related to markup fixed (width, wordwrap, ...)
480
481
482v1.28.42
483--------
484
485Fixed markup's parameters pollution (markup + TextBuffer)
486
487
488v1.28.41
489--------
490
491Add some 256-color names (grayscale)
492
493
494v1.28.40
495--------
496
497Document model -- New ColumnMenu* attr option: 'buttonEvenBlurAttr', that match only even entries
498
499
500v1.28.39
501--------
502
503Fixed ScreenBuffer#put() regression ('reset' markup should reset to the provided 'attr' option, if any)
504
505
506v1.28.38
507--------
508
509Document model -- fixed Document#focusNext() regression, refacto of ScreenBuffer#put() to work with the new factorized markup parser
510
511
512v1.28.37
513--------
514
515Fix ScreenBufferHD#put() regression: 'markup' option is working again
516update the doc to add a list of supported markup
517
518
519v1.28.36
520--------
521
522Document model -- New: BaseMenu now has a .focusValue() method that give focus to the element having that value
523
524
525v1.28.35
526--------
527
528Document model -- New: Buttons now have a special action key bindings
529
530
531v1.28.34
532--------
533
534Document model -- better default colors for SelectList* and better default handling
535
536
537v1.28.33
538--------
539
540TextBuffer#setContent() now support markup
541
542
543v1.28.32
544--------
545
546Fix markup width bug
547
548
549v1.28.31
550--------
551
552Fix empty SelectList* bug
553
554
555v1.28.30
556--------
557
558Document model -- SelectList* now options.content is a shortcut for options.master.content
559
560
561v1.28.29
562--------
563
564Document model -- SelectListMulti now submit when reducing
565
566
567v1.28.28
568--------
569
570Document model -- New: Form now supports SelectListMulti
571
572
573v1.28.27
574--------
575
576Document model -- New: ColumnMenuMulti, SelectListMulti: for multiple choices
577
578
579v1.28.26
580--------
581
582Document model -- new widget: ToggleButton
583
584
585v1.28.25
586--------
587
588Document Model -- Fix zIndex trouble in Form when multiple SelectList exist, now there is a zIndex propagation mecanism
589
590
591v1.28.24
592--------
593
594TextBuffer: fixing the .setText() bug that stripped newLines (wasn't affecting display, only once .getText() is called)
595
596
597v1.28.23
598--------
599
600Document model -- Form: fix regression, multi-line text input are possible again
601
602
603v1.28.22
604--------
605
606Document model -- SelectList: initial value and .setValue() are fixed
607
608
609v1.28.21
610--------
611
612Document model -- Hidden element fixed to not interfere with any click or mouse motion, or whatever, SelectList dimension fixed, Form: support for SelectList added
613
614
615v1.28.20
616--------
617
618Fix .inputField() delete and backDelete bug under 'alwaysRedraw' behavior, e.g. when a tokenHook is provided (issue #79, replace PR #94)
619
620
621v1.28.19
622--------
623
624Document model -- New: SelectList
625
626
627v1.28.18
628--------
629
630Document model -- fixing z-aware click detection
631
632
633v1.28.17
634--------
635
636Document model -- new: zIndex, drawing and detecting click is now z-aware
637
638
639v1.28.16
640--------
641
642New methods for TextBuffer: .moveToEndOfWord() and .moveToStartOfWord()
643Document model: EditableTextBox and widget using it now supports moving from word to word using CTRL+LEFT/RIGHT
644
645
646v1.28.15
647--------
648
649Document model: better behavior of multi-line text-input in forms
650dependencies upgraded
651
652
653v1.28.14
654--------
655
656Document Model: now Document emit 'key' events only when no default nor shortcut prevailed
657
658
659v1.28.13
660--------
661
662Document Model: new: shortcut registration and 'shortcut' event on all Elements
663
664
665v1.28.12
666--------
667
668Document Model: improved ColumnMenu pagination
669Button now have an 'internalRole' property
670
671
672v1.28.11
673--------
674
675Document Model: very raw support for pagination in ColumnMenu
676
677
678v1.28.10
679--------
680
681Document model: now support those new events: 'clickOut', 'leave', 'enter'
682DropDownMenu disappear on clicked out
683
684
685v1.28.9
686-------
687
688Document model: fixing TextBox and non-string content
689
690
691v1.28.8
692-------
693
694New: document model's RowMenu now have 'buttonSeparator' and 'buttonSeparatorAttr' options
695
696
697v1.28.7
698-------
699
700Document model: DropDownMenu has ENTER/KP_ENTER key to submit top-level buttons (since it can be submittable now)
701
702
703v1.28.6
704-------
705
706Document model: now 'click' and 'hover' events are emitted on the first leaf Element that has a listener for either 'click' or 'hover'
707
708
709v1.28.5
710-------
711
712Document model: DropDownMenu now can have submittable top button (buttons from the row menu)
713
714
715v1.28.4
716-------
717
718Document model: TextInput now correctly set content/value on creation
719
720
721v1.28.3
722-------
723
724New: .singleLineMenu() has the 'selectedIndex' option just like .singleColumnMenu() (#93)
725
726
727v1.28.2
728-------
729
730Dependencies
731
732
733v1.28.1
734-------
735
736Fixing .singleLineMenu() 'highlight' event to correctly report the highlight index (#90)
737
738
739v1.28.0
740-------
741
742New: now term.color() and term.bgColor() accepts color names (#87)
743
744
745v1.27.3
746-------
747
748string-kit dependency
749
750
751v1.27.2
752-------
753
754Dependencies upgraded, CHANGELOG edited (missing Node engine v8.10+ requirement informations #86)
755
756
757v1.27.1
758-------
759
760Dependencies upgraded, CHANGELOG edited (missing Node engine v8.10+ requirement informations #86)
761
762
763v1.27.0
764-------
765
766New: 'highlight' event in .inputField(), .singleLineMenu() and .singleColumnMenu(), see the doc (issue #81, replace PR #82)
767
768
769v1.26.11
770--------
771
772Fix the doc, add a notice about .drawImage() and HTTP URL (#83)
773
774
775v1.26.10
776--------
777
778Now relying on string-kit@0.9.0 which completely remove xregexp dependency
779
780
781v1.26.9
782-------
783
784Emergency fix: xregexp does not work as of v4.2.2
785
786
787v1.26.8
788-------
789
790A progress bar controler now has a .reset() method #77
791
792
793v1.26.7
794-------
795
796Fix issue #76 (TextBuffer)
797
798
799v1.26.6
800-------
801
802Report bad escape sequence entry and continue anyway
803
804
805v1.26.5
806-------
807
808Dependencies upgraded
809
810
811v1.26.4
812-------
813
814Important notice: Node engine v8.10.0 Dubnium LTS is now required, but still it's not a minor semver because it's a fix:
815the lib uses async functions since v1.19.0 and thus won't load on Node v6, therefore the strict engine limitation
816should have been done on v1.19.0. This update just make thing clear. Sorry about that.
817
818Dependencies upgraded.
819
820
821v1.26.3
822-------
823
824Add the 'cancelable' option for .singleLineMenu() and .singleColumnMenu()
825
826
827v1.26.2
828-------
829
830Important String-kit dependency fixed (format %I %Y and %E had bug)
831Document model: fix focus cycling with Form
832
833
834v1.26.1
835-------
836
837If present, loads the original 'get-pixels' instead of '@cronvel/get-pixels'
838
839
840v1.26.0
841-------
842
843TextBuffer now supports the text-machine module (state machine)
844TextBox/EditableTextBox constructor now support the 'stateMachine' option
845
846
847v1.25.0
848-------
849
850Compatibility WARNING:
851Fix ScreenBuffer, so default fg/bg colors are... well... the default. (instead of black background)
852This behavior was a bug, but it may change existing app, especially when the terminal 'default' background color
853is different from the color register 0, and the app forgot to initialize the screenBuffer with
854a background color (many terminals use color 0 or 7 as the default for background, some like Gnome-Terminal have a special
855color for that).
856So before 1.25, when unspecified, the background color was 'black' (color register 0, it was a bug),
857starting from 1.25, when unspecified, the background color is 'default' (the terminal default).
858
859New: TextBox and EditableTextBox
860TextInput now rely on EditableTextBox
861TextBuffer#drawCursor() fixed
862
863
864v1.24.1
865-------
866
867TextBuffer: fixing misc data back to its old behavior
868
869
870v1.24.0
871-------
872
873TextBuffer minor fix ('misc' data)
874
875
876v1.23.0
877-------
878
879TextBuffer has been internally refactored
880
881
882v1.22.1
883-------
884
885Form now support default content
886
887
888v1.22.0
889-------
890
891Document Form submit value has changed (unstable/undocumented API, not under SemVer)
892
893
894v1.21.0
895-------
896
897New: lazy-load everything except core submodule
898
899
900v1.20.0
901-------
902
903Internal refacto, backward compatible API changes, document model and menu overhaul
904
905
906v1.19.2
907-------
908
909.getCursorLocation() bug fixed
910
911
912v1.19.1
913-------
914
915.inputField() now support promise returning function for its 'autoComplete' option.
916All promise API are now documented (#18).
917
918
919v1.19.0
920-------
921
922Breaking change: Node engine v8+ is now mandatory because of async functions, but I forgot to update the package.json until Terminal-kit@1.26.4.
923
924Almost all features now have a Promise variant (#18).
925Still not documented.
926
927
928v1.18.0
929-------
930
931Add promises to some API (#18).
932
933
934v1.17.13
935--------
936
937should provide a more insightful error when the terminal is not capable of requesting cursor location (#16)
938
939
940v1.17.12
941--------
942
943Dependencies
944
945
946v1.17.11
947--------
948
949This may fix an incomprehensible Windows bug (#16)
950
951
952v1.17.10
953--------
954
955.singleLineMenu(): added all improvements made to .singleColumnMenu() (full-width chars and escape sequence aware, see #68)
956
957
958v1.17.9
959-------
960
961.singleColumnMenu() with escape sequences in menu item improved: various minor fixes and now detect style reset (#68)
962
963
964v1.17.8
965-------
966
967.singleColumnMenu() with long entry and escape sequences fixed (#68)
968
969
970v1.17.7
971-------
972
973Fix .inputField() behavior with full-width chars (#70)
974
975
976v1.17.6
977-------
978
979.singleColumnMenu() now has a .cancel() method exposed on the returned controller ; Dependencies upgraded
980
981
982v1.17.5
983-------
984
985Small documentation fixes
986
987
988v1.17.4
989-------
990
991Many bugs on non-TTY output are now fixed ; minor .wrap() bugs fixed ; documentation improved on .wrap()/.wrapColumn()
992
993
994v1.17.3
995-------
996
997Fixed .wrap()'s auto-width for x > 1
998
999
1000v1.17.2
1001-------
1002
1003Word-wrapping is now documented and its API considered stable
1004
1005
1006v1.17.1
1007-------
1008
1009word-wrap API refined
1010
1011
1012v1.17.0
1013-------
1014
1015New: word-wrapping (EXPERIMENTAL/UNSTABLE API -- NEED DOC) using term.wrap() / term.wrapColumn()
1016
1017
1018v1.16.1
1019-------
1020
1021Documentation updated for new options 'isTTY' and 'isSSH' of termkit.createTerminal()
1022
1023
1024v1.16.0
1025-------
1026
1027Fixed: avoid sending escape sequences when the output is not a TTY (probably piping or redirecting to a file).
1028
1029Note: this is a bugfix and should theorically be a SEMVER PATCH, but since it could affect people actually wanting to write
1030terminal's escape sequences inside a file/pipe, it will be flagged as a SEMVER MINOR.
1031
1032
1033v1.15.6
1034-------
1035
1036Bugfix: do not clean up when not inside a TTY
1037
1038
1039v1.15.5 - v1.15.4
1040-----------------
1041
1042Dependencies cleaned up.
1043
1044
1045v1.15.2
1046-------
1047
1048To solve 'npm audit' issues, I now use my own fork of the 'get-pixels' module, with everything not related to Terminal-kit
1049pruned (it removes a lot of packages).
1050
1051
1052v1.15.1
1053-------
1054
1055PR #68 - Use stdout columns/rows properties for terminal size
1056
1057
1058v1.15.0
1059-------
1060
1061Moved from JSHint to ESLint, upgraded coding style
1062
1063
1064v1.14.3
1065-------
1066
1067Documentation fixed
1068
1069
1070v1.14.2
1071-------
1072
1073Documentation fixed
1074
1075
1076v1.14.1
1077-------
1078
1079Fixed issue #58 for all .*Menu()
1080
1081
1082v1.14.0
1083-------
1084
1085.inputField(): now it is possible to get/set cursor position at instantiation using a new 'cursorPosition' option, and real-time using the returned object to get/set the cursor position with the methods getCursorPosition() and setCursorPosition() (issue #56)
1086
1087
1088v1.13.13
1089--------
1090
1091Try to fix terminal resizing detection on windows (#54)
1092
1093
1094v1.13.12
1095--------
1096
1097New method: .eraseArea() -- a handy higher level method that erases a rectangular area on the screen (#51)
1098
1099
1100v1.13.11
1101--------
1102
1103Mitigated an issue with terminal detection on Windows
1104
1105
1106v1.13.10
1107--------
1108
1109.inputField(): new option echoChar (issue #45) ; + fixed few redraw bug
1110
1111
1112v1.13.9
1113-------
1114
1115New: term.tabSet() .tabClear() .tabClearAll() .forwardTab() and .backwardTab()
1116
1117
1118v1.13.8
1119-------
1120
1121.gridMenu() now supports an 'x' and 'width' option (issue #45)
1122
1123
1124v1.13.7
1125-------
1126
1127ScreenBufferHD is not considered unstable anymore, it is now under the SemVer contract
1128
1129
1130v1.13.6
1131-------
1132
1133Documentation improvements
1134
1135
1136v1.13.5
1137-------
1138
1139.stripEscapeSequences(), .stringWidth() and .truncateString() are now documentated and part of the SemVer contract
1140
1141
1142v1.13.4
1143-------
1144
1145Unstable API fixed: termkit.stringTruncate() -> termkit.truncateString()
1146
1147
1148v1.13.3
1149-------
1150
1151String-kit dependency upgraded.
1152Utilities: termkit.stringWidth(), termkit.stringTruncate().
1153
1154
1155v1.13.2
1156-------
1157
1158New: termkit.stripEscapeSequences()
1159
1160
1161v1.13.1
1162-------
1163
1164New: term.eraseScrollback() -- erase the scrollback buffer, a.k.a. saved line.
1165term.bindArgs() is now documented thus under the SemVer contract
1166
1167
1168v1.13.0
1169-------
1170
1171New: term.bindArgs() refacto, it is now a regular chainable method, returned bounded function is chainable as well.
1172Too much chainable refacto, so this is a SemVer minor.
1173
1174
1175v1.12.3
1176-------
1177
1178Documentation improved (issue #42), more color utilities and term.bindArgs() (both beta/undocumented)
1179
1180
1181v1.12.2
1182-------
1183
1184New: term.colorNameForRgb()
1185
1186
1187v1.12.1
1188-------
1189
1190term.bar() bugfixed + new options: barStyle
1191
1192
1193v1.12.0
1194-------
1195
1196* New: term.bar() -- it creates a bar representing the value, it uses unicode to improve the precision
1197* Undocumented spChars.enlargingBlocks and spChars.growingBlocks fixed: now index 0 is for whitespace like it should,
1198 all other characters are shifted.
1199
1200
1201v1.11.2
1202-------
1203
1204New: .inputField() now supports a meta key binding (PR #40 by samizdatco)
1205
1206
1207v1.11.1
1208-------
1209
1210New: .inputField()'s .rebase() method now supports an x and y arguments to use as the new coordinates instead of the result of an asynchronous internal call to .getCursorLocation() (PR #38)
1211
1212
1213v1.11.0
1214-------
1215
1216New: .progressBar() now supports option 'inline', so it redraws itself at the begining of the current line instead of being locked in-place (fix issue #36)
1217
1218
1219v1.10.2
1220-------
1221
1222TextBuffer: bugfixing ScreenBufferHD backing
1223
1224
1225v1.10.1
1226-------
1227
1228ScreenBuffer*: Fixing bugs in the new default fg/bg color feature
1229
1230
1231v1.10.0
1232-------
1233
1234ScreenBuffer/ScreenBufferHD:
1235* support for terminal default BG/FG color (#30), this works through the new attr options: 'defaultColor'
1236 and 'bgDefaultColor', this is the default options for .fill() and at ScreenBuffer/ScreenBufferHD creation
1237* support for full transparency in the terminal blitter (BTW partial transparency is not possible, since we can't
1238 access terminal cells)
1239
1240
1241v1.9.0
1242------
1243
1244.inputField(): Cherry-picking (and improving) from @samizdatco PR: adding Ctrl-W/Alt-D to produce delete previous/next word (#21)
1245
1246
1247v1.8.13
1248-------
1249
1250Fixed Ctrl-U/Ctrl-K redraw issues when hint are turned off #21
1251
1252
1253v1.8.12
1254-------
1255
1256spChars: rounded box
1257
1258
1259v1.8.11
1260-------
1261
1262Fixed #29 (ndarray should be listed as direct dependency, so it would not break when node_modules/ is not flat)
1263
1264
1265v1.8.10
1266-------
1267
1268.singleColumnMenu(): more improvements
1269
1270
1271v1.8.8 - v1.8.9
1272---------------
1273
1274.inputField() fixed coordinate
1275
1276
1277v1.8.7
1278------
1279
1280.singleColumnMenu(): fixed minor initialization issues
1281
1282
1283v1.8.6
1284------
1285
1286Fixed issue when leaving mouse motion grabbing (e.g.: when exiting using term.processExit()),
1287added an async mode to .grabInput() necessary to accomplish this.
1288Basically, there is a delay between turning off mouse grabbing and turning off raw mode
1289
1290
1291v1.8.5
1292------
1293
1294Lot of minor fixes (exit cleanup, menu, .getCursorLocation(), etc)
1295
1296
1297v1.8.4
1298------
1299
1300.singleColumnMenu(): more minor fixes
1301
1302
1303v1.8.3
1304------
1305
1306.singleColumnMenu() and .gridMenu() extra lines fixed
1307
1308
1309v1.8.2
1310------
1311
1312.singleColumnMenu() fixed and improved, Terminal detection fixed and improved (fix #26)
1313
1314
1315v1.8.1
1316------
1317
1318Fix some shutdown issues in .processExit()
1319
1320
1321v1.8.0
1322------
1323
1324Fixed spelling error in options of .singleColumnMenu() and .gridMenu()
1325
1326
1327v1.7.2
1328------
1329
1330Image loader: better error handling
1331
1332
1333v1.7.1
1334------
1335
1336Image loader fixed: now the callback is optional
1337
1338
1339v1.7.0
1340------
1341
1342ScreenBuffer*#vScrollBuffer() is renamed ScreenBuffer*#vScroll(), is refactored,
1343it manages dst terminal scrolling, and is now part of the public API
1344
1345
1346v1.6.8
1347------
1348
1349Greatly improved image drawing performance, + more ScreenBuffer* optimizations
1350
1351
1352v1.6.7
1353------
1354
1355Greatly improved the ScreenBufferHD performance
1356
1357
1358v1.6.6
1359------
1360
1361Adding missing escape sequence to set/reset the scrolling region, new (private?) method ScreenBuffer*#vScrollBuffer(),
1362image-viewer sample code improved, ScreenBuffer#fill() improved and fixed
1363
1364
1365v1.6.5
1366------
1367
1368.singleColumnMenu() and .gridMenu(): fixed a minor bug (was adding one extra line when at the bottom of the terminal)
1369and improved the documentation (example and screenshot)
1370
1371
1372v1.6.4
1373------
1374
1375Documentation on .singleColumnMenu() and .gridMenu()
1376
1377
1378v1.6.3
1379------
1380
1381.singleLineMenu() documentation updated
1382
1383
1384v1.6.2
1385------
1386
1387Added mouse support to .singleLineMenu()
1388
1389
1390v1.6.1
1391------
1392
1393.singleColumnMenu() and .gridMenu() now supports the mouse
1394
1395
1396v1.6.0
1397------
1398
1399New: .gridMenu(), bugfixed .singleColumnMenu()
1400
1401
1402v1.5.4
1403------
1404
1405.singleLineMenu() and .singleColumnMenu() now supports key bindings customization
1406
1407
1408v1.5.3
1409------
1410
1411Removed deprecated, undocumented and duplicated area mode for .inputField()
1412
1413
1414v1.5.2
1415------
1416
1417Bugfixed .singleColumnMenu(), and correctly wordwrap menu items
1418
1419
1420v1.5.1
1421------
1422
1423Many .singleColumnMenu() bugfixes
1424
1425
1426v1.5.0
1427------
1428
1429New: .singleColumnMenu()
1430
1431
1432v1.4.4
1433------
1434
1435Another .inputField() bug fixed
1436
1437
1438v1.4.3
1439------
1440
1441.inputField() history redraw bug fixed
1442
1443
1444v1.4.2
1445------
1446
1447Fixed: missing .scrollUp() and .scrollDown() ANSI escape sequences are now included in the lib
1448
1449
1450v1.4.1
1451------
1452
1453Fixed: missing term.reset*ColorRgb(), that reset anything set by term.set*ColorRgb().
1454Fixed: term.windowTitle() now just set the window title, not the icon name anymore.
1455Icon name can be set with term.iconName().
1456
1457
1458v1.4.0
1459------
1460
1461New: term.cwd() and term.notify()
1462
1463
1464v1.3.0
1465------
1466
1467New: term.colorRgbHex() and term.bgColorRgbHex()
1468
1469
1470v1.2.8 - v1.2.12
1471----------------
1472
1473Markup reset string
1474
1475
1476v1.2.7
1477------
1478
1479Markup shift/modifier support for background color
1480
1481
1482v1.2.6
1483------
1484
1485.inputField() fixed: now hints are removed on submit
1486
1487
1488v1.2.5
1489------
1490
1491Block special chars
1492
1493
1494v1.2.4
1495------
1496
1497Documentation improvements
1498
1499
1500v1.2.1 - v1.2.3
1501---------------
1502
1503Documentation on Terminal#drawImage(), ScreenBuffer*#loadImage() and fixed some escape sequences for the linux console
1504
1505
1506v1.2.0
1507------
1508
1509* .inputField(): Added support for Ctrl-Left/Ctrl-right moving to the previous/next word
1510and support for Ctrl-U/Ctrl-K delete all characters before/after (issue #21)
1511* 'gray' and 'bgGray' are now aliases of 'brightBlack' and 'bgBrightBlack' (issue #22)
1512
1513
1514v1.1.5
1515------
1516
1517ScreenBufferHD.loadImage() minor bug fixed. Added a shrink options.
1518
1519
1520v1.1.4
1521------
1522
1523Documentation improvements
1524
1525
1526v1.1.3
1527------
1528
1529New: Unleash incredible terminal gfx! Now the 32-bit ScreenBuffer supports image loading!
1530
1531
1532v1.1.2
1533------
1534
1535Documentation improved on ScreenBuffer HD
1536
1537
1538v1.1.1
1539------
1540
1541Documentation fixed and improved on ScreenBuffer HD
1542
1543
1544v1.1.0
1545------
1546
1547New: ScreenBufferHD, a 32-bit (RGBA) screen buffer with composition (issue #9).
1548
1549
1550v1.0.5
1551------
1552
155324 bits colors are back:
1554A couple of month ago (around nov 2016 and feb 2017), major terminals (gnome-terminal, Konsole, iTerm, ...)
1555changed the behavior of the $COLORTERM environment variable (without much advertising, BTW...),
1556and that totally messed up terminal detection.
1557
1558Instead of containing the terminal identifier, now it contains "truecolor" if the terminal supports true-color.
1559Failing to find a terminal named "truecolor", Terminal-kit was falling back to "xterm".
1560
1561I noticed that just now. -_-'
1562Fixed.
1563
1564
1565v1.0.4
1566------
1567
1568Dependency upgraded
1569
1570
1571v1.0.3
1572------
1573
1574.grabInput() bug introduced by the fix at v1.0.2 fixed (misleading Node.js stream's flowing/pause mode behavior)
1575
1576
1577v1.0.2
1578------
1579
1580.grabInput( false ) bug fixed: it was not switching stdin back to pause mode
1581
1582
1583v1.0.1
1584------
1585
1586Documentation
1587
1588
1589v0.30.7
1590-------
1591
1592Documentation fixed
1593
1594
1595v0.30.6
1596-------
1597
1598Documentation fixed
1599
1600
1601v0.30.5
1602-------
1603
1604.fileInput() documentation
1605
1606
1607v0.30.4
1608-------
1609
1610Documentation improvements
1611
1612
1613v0.30.3
1614-------
1615
1616TextBuffer documentation done
1617
1618
1619v0.30.2
1620-------
1621
1622Documentation
1623
1624
1625v0.30.1
1626-------
1627
1628Documentation
1629
1630
1631v0.30.0
1632-------
1633
1634Breaking change -- ScreenBuffer.create(): wrap is disabled by default. Documentation improvements.
1635
1636
1637v0.29.0
1638-------
1639
1640Breaking change: the long-time deprecated (since v0.16.0) 'SCREEN_RESIZE' sub-type of the 'terminal' event is dropped,
1641in favor of the 'resize' event.
1642Documentation improved.
1643
1644
1645v0.28.4
1646-------
1647
1648Documentation improvements
1649
1650
1651v0.28.3
1652-------
1653
1654The documentation has been totally restructured.
1655
1656
1657v0.28.2
1658-------
1659
1660.inputField(): tokenHook() can return a string now. (part of issue #19)
1661
1662
1663v0.28.1
1664-------
1665
1666Typo in the doc
1667
1668
1669v0.28.0
1670-------
1671
1672Breaking change: .inputField()'s tokenHook option has changed, the arguments of the function
1673are now ( token , isEndOfInput , previousTokens , term , config ). See the doc. #19
1674
1675
1676v0.27.4
1677-------
1678
1679.inputField(): Auto-Completer can return an array having a 'postfix' property (similar than 'prefix')
1680
1681
1682v0.27.3
1683-------
1684
1685.inputField() documentation updated
1686
1687
1688v0.27.2
1689-------
1690
1691inputField(): fixed a bug introduced in v0.27.0, autoCompleteMenu was not exiting without choosing an existing alternative
1692
1693
1694v0.27.1
1695-------
1696
1697inputField() token hilighting API fixed, all features of issue #19 are coded, documentation not updated ATM
1698
1699
1700v0.27.0
1701-------
1702
1703New: inputField() support token hilighting
1704
1705
1706v0.26.2
1707-------
1708
1709Fixing TextBuffer#load()
1710
1711
1712v0.26.1
1713-------
1714
1715Bugfix: this was not returned when shutting down
1716
1717
1718v0.26.0
1719-------
1720
1721Breaking change: process exit refactoring
1722
1723
1724v0.25.6
1725-------
1726
1727ProgressBar sync mode
1728
1729
1730v0.25.5
1731-------
1732
1733A tool moved jshint from dev-dependency to dependency: fixing it now
1734
1735
1736v0.25.4
1737-------
1738
1739Dependencies
1740
1741
1742v0.25.3
1743-------
1744
1745Documentation fixed
1746
1747
1748v0.25.2
1749-------
1750
1751Dependencies
1752
1753
1754v0.25.1
1755-------
1756
1757Documentation: fixing the TOC
1758
1759
1760v0.25.0
1761-------
1762
1763Breaking changes: engine node >= 4.5, because of node v6 'new Buffer' deprecation migration
1764
1765
1766v0.24.30
1767--------
1768
1769Fixed bad right bitshift >> to >>>
1770
1771
1772v0.24.28 - v0.24.29
1773-------------------
1774
1775Replace the '&' in the package description by 'and' (because of a long running bug on npmjs.org)
1776
1777
1778v0.24.27
1779--------
1780
1781Dependencies
1782
1783
1784v0.24.26
1785--------
1786
1787termkit.autoComplete() now accept a fourth argument: 'prefix', useful to ease issue #13
1788
1789
1790v0.24.25
1791--------
1792
1793New: term.markupOnly()
1794
1795
1796v0.24.24
1797--------
1798
1799Badges
1800
1801
1802v0.24.23
1803--------
1804
1805NextGenEvents updated
1806
1807
1808v0.24.22
1809--------
1810
1811Bugfix: ^ caret in inputField() now works
1812
1813
1814v0.24.21
1815--------
1816
1817Dependencies
1818
1819
1820v0.24.20
1821--------
1822
1823Codewake badge
1824
1825
1826v0.24.19
1827--------
1828
1829Dependencies
1830
1831
1832v0.24.18
1833--------
1834
1835Markup not performing styleReset is now fixed
1836
1837
1838v0.24.17
1839--------
1840
1841Dependencies
1842
1843
1844v0.24.15 - v0.24.16
1845-------------------
1846
1847Force CRLF with `term.options.crlf = true`.
1848Not official ATM.
1849
1850
1851v0.24.14
1852--------
1853
1854Fix issue #12 (when the TERM env variable does not exist)
1855
1856
1857v0.24.13
1858--------
1859
1860Dependencies
1861
1862
1863v0.24.12
1864--------
1865
1866Dependencies
1867
1868
1869v0.24.11
1870--------
1871
1872Dependencies
1873
1874
1875v0.24.10
1876--------
1877
1878Dependencies
1879
1880
1881v0.24.9
1882-------
1883
1884Yet another fix to progressBar. Using async-kit's setSafeTimeout() instead of an internal one.
1885
1886
1887v0.24.8
1888-------
1889
1890Minor fix in progressBar (bad size when progress/eta/item is undefined)
1891
1892
1893v0.24.7
1894-------
1895
1896Timeout issues fixed when CPU-bound/sync task kick in
1897
1898
1899v0.24.6
1900-------
1901
1902Dependencies
1903
1904
1905v0.24.5
1906-------
1907
1908More progressBar (minor) bugs fixed + using ES6 String#repeat()
1909
1910
1911v0.24.4
1912-------
1913
1914ProgressBar width fixed.
1915
1916
1917v0.24.3
1918-------
1919
1920Dependencies
1921
1922
1923v0.24.2
1924-------
1925
1926Dependencies
1927
1928
1929v0.24.1
1930-------
1931
1932Dependencies
1933
1934
1935v0.24.0
1936-------
1937
1938"use strict" everywhere
1939
1940
1941v0.23.1
1942-------
1943
1944Upgrade string-kit from v0.4.0 to v0.4.1, fixing an issue with formatter count and detection
1945
1946
1947v0.23.0
1948-------
1949
1950Breaking change: now rely on string-kit v0.4.x (.format()), so '%[]' -like markup becomes '%[]F'
1951and '%/F3/f -like markup becomes '%[f3]f
1952
1953
1954v0.22.4 - v0.22.7
1955-----------------
1956
1957String-kit dependency.
1958
1959
1960v0.22.3
1961-------
1962
1963Documentation: spelling.
1964
1965
1966v0.22.2
1967-------
1968
1969Better doc on the 'realTerminal' feature.
1970
1971
1972v0.22.1
1973-------
1974
1975New: termkit.realTerminal -- like termkit.terminal but escape pipes.
1976
1977
1978v0.22.0
1979-------
1980
1981No more relying on Node.js core events, now using NextGenEvents for everything.
1982
1983
1984v0.21.8
1985-------
1986
1987Document: more cycle focus bugfixes
1988
1989
1990v0.21.7
1991-------
1992
1993Document: Element#focusNextChild() and Element#focusPreviousChild() bugfix
1994
1995
1996v0.21.6
1997-------
1998
1999Document#giveFocusTo() argument check.
2000
2001
2002v0.21.5
2003-------
2004
2005Dependencies.
2006
2007
2008v0.21.4
2009-------
2010
2011ScreenBuffer: optimized (delta) escape sequences for the terminal blitter are now working properly.
2012
2013
2014v0.21.3
2015-------
2016
2017ScreenBuffer improvements.
2018
2019
2020v0.21.2
2021-------
2022
2023Linux Console: repairing .color256(), thus repairing ScreenBuffer features.
2024
2025
2026v0.21.1
2027-------
2028
2029Document: .focusPrevious() bugfixed.
2030
2031
2032v0.21.0
2033-------
2034
2035Removing inline widget: .layout() and .form(), their Document counter-part should be used instead.
2036
2037
2038v0.20.32
2039--------
2040
2041Internally replacing home-made arrayKit.fill() with ES6 Array#fill().
2042
2043
2044v0.20.31
2045--------
2046
2047TextBuffer: 'hidden' option, .setHidden(), .getHidden(). Document TextInput Element now has the 'hidden' option for passwords.
2048
2049
2050v0.20.30
2051--------
2052
2053TextBuffer: 'hidden' option, .setHidden(), .getHidden(). Document TextInput Element now has the 'hidden' option for passwords.
2054
2055
2056v0.20.29
2057--------
2058
2059Document: Document#focusNext() infinite loop bugfixed, .redraw() for moving and resizing Element, Text#setContent() redraw bugfixed.
2060
2061
2062v0.20.28
2063--------
2064
2065Documentation spelling.
2066
2067
2068v0.20.27
2069--------
2070
2071Document: Text, Element Id and Layout bugfixes.
2072
2073
2074v0.20.26
2075--------
2076
2077Document: .draw() and detached Element bugfix.
2078
2079
2080v0.20.25
2081--------
2082
2083Exit minor bugfix.
2084
2085
2086v0.20.24
2087--------
2088
2089Document: .attach()/.detach()/.destroy() bugfixes.
2090
2091
2092v0.20.23
2093--------
2094
2095Document: .attach()/.detach()/.destroy() bugfixes.
2096
2097
2098v0.20.22
2099--------
2100
2101Document: ENTER and KP_ENTER move to next TextInput in Forms.
2102
2103
2104v0.20.21
2105--------
2106
2107Document: new method .clear() that remove all children
2108
2109
2110v0.20.20
2111--------
2112
2113Document: all Element now have a .destroy() method.
2114
2115
2116v0.20.19
2117--------
2118
2119Buttons are now blinking on submit
2120
2121
2122v0.20.18
2123--------
2124
2125New: all interactive Document Elements now react to the mouse 'click' and 'hover' event!
2126
2127
2128v0.20.17
2129--------
2130
2131Document: MenuBar is renamed DropDownMenu
2132
2133
2134v0.20.15 - v0.20.16
2135-------------------
2136
2137Document MenuBar is now working.
2138
2139
2140v0.20.14
2141--------
2142
2143Document Form navigation. TextBuffer .moveForward() bugfix
2144
2145
2146v0.20.13
2147--------
2148
2149Document MenuBar: better default settings.
2150
2151
2152v0.20.12
2153--------
2154
2155Document MenuBar: work in progress!
2156
2157
2158v0.20.11
2159--------
2160
2161Document ColumnMenu is working!
2162
2163
2164v0.20.10
2165--------
2166
2167Document: Menu is now known as RowMenu. ColumnMenu is in progress.
2168(Those features are not under semver yet - i.e. not documented yet, so no minor version bump for that).
2169
2170
2171v0.20.9
2172-------
2173
2174Document: reversing the logic of preventing propagation of event to parent: now returning a truthy value prevent that.
2175
2176
2177v0.20.8
2178-------
2179
2180Document: event bubbling
2181
2182
2183v0.20.7
2184-------
2185
2186Document: event management changes
2187
2188
2189v0.20.6
2190-------
2191
2192Document Container now has a backgroundAttr option
2193
2194
2195v0.20.5
2196-------
2197
2198Document now rely on nextgen-events instead of Node.js' built-in events.
2199
2200
2201v0.20.4
2202-------
2203
2204New Document Element: Menu.
2205
2206
2207v0.20.3
2208-------
2209
2210ScreenBuffer clipping bugfixed. Document drawing algorithm refactored to support resizing.
2211
2212
2213v0.20.2
2214-------
2215
2216Document: redraw mecanism.
2217
2218
2219v0.20.1
2220-------
2221
2222Document Element Layout is now resizable like the deprecated inline layout was.
2223
2224
2225v0.20.0
2226-------
2227
2228Breaking API change: the Terminal 'resize' event now produces 2 args: width and height, instead of an object to be consistent
2229with other internal events
2230
2231
2232v0.19.4
2233-------
2234
2235Inline layout ported to Document.
2236
2237
2238v0.19.3
2239-------
2240
2241Document: minor improvement, unique id, document.elements[ id ] access...
2242
2243
2244v0.19.2
2245-------
2246
2247Document element: now perform recursive draw() and drawCursor() automatically
2248
2249
2250v0.19.1
2251-------
2252
2253Document model: Container.
2254
2255
2256v0.19.0
2257-------
2258
2259Now require node.js v4. Document widget currently working: Button, Text, TextInput and Form.
2260
2261
2262v0.18.0
2263-------
2264
2265New feature in progress: Document! It mimics the browser somewhat: a document with element, etc...
2266layout, form and area-type inputField will move to this new Document feature (every 'inline' features will be kept separated).
2267
2268
2269v0.17.0
2270-------
2271
2272New: .inputField() now has an 'area' mode (standard mode is now known as 'inline' mode) that use ScreenBuffer and TextBuffer
2273for its rendering, allowing confined text-area-like inputs. This is still a work in progress and many features of the 'inline' mode
2274are missing. This will allow creation of terminal forms.
2275
2276
2277v0.16.14
2278--------
2279
2280.createLayout(): it is now possible to pass the x,y coordinate of the top-left corner of the layout
2281
2282
2283v0.16.13
2284--------
2285
2286.createLayout(): now creates accessible and resizable ScreenBuffer surfaces on layout's leaf
2287
2288
2289v0.16.12
2290--------
2291
2292Bugfix .createLayout(): now it creates cross-junction like it should when two tee-junction overlap
2293
2294
2295v0.16.11
2296--------
2297
2298Basic 'responsive' layout drawing is now working.
2299
2300
2301v0.16.10
2302--------
2303
2304Layout: work in progress.
2305
2306
2307v0.16.9
2308-------
2309
2310New feature: .createLayout() -- still in alpha.
2311
2312
2313v0.16.8
2314-------
2315
2316New terminal state: term.state.fullscreen
2317
2318
2319v0.16.7
2320-------
2321
2322Adding new spChars again.
2323
2324
2325v0.16.6
2326-------
2327
2328Adding new spChars.
2329
2330
2331v0.16.5
2332-------
2333
2334New: termkit.spChars now contains some useful utf-8 characters
2335
2336
2337v0.16.4
2338-------
2339
2340Upgrade the string-kit dependency (important bugfix on the style markup feature)
2341
2342
2343v0.16.3
2344-------
2345
2346Documentation on style markup.
2347
2348
2349v0.16.2
2350-------
2351
2352Fixing the new format feature so it works properly.
2353
2354
2355v0.16.1
2356-------
2357
2358Linux gpm patch for node v4.
2359
2360
2361v0.16.0
2362-------
2363
2364Using new string-kit's format feature.
2365
2366
2367v0.15.12
2368--------
2369
2370.yesOrNo(): now it returns a controler featuring the abort() method (see the doc).
2371
2372
2373v0.15.11
2374--------
2375
2376Dependencies: string-kit 0.2.x, async-kit 0.6.x.
2377
2378
2379v0.15.10
2380--------
2381
2382TextBuffer: miscBuffer for application data.
2383
2384
2385v0.15.9
2386-------
2387
2388ScreenBuffer/TextBuffer: Rect constructor improvement.
2389
2390
2391v0.15.8
2392-------
2393
2394ScreenBuffer: redraw delta bugfix.
2395
2396
2397v0.15.7
2398-------
2399
2400TextBuffer: work in progress! (minor bugfixes)
2401
2402
2403v0.15.6
2404-------
2405
2406fileInput() and inputField() improvement and options: 'style', 'default', 'cancelable'.
2407
2408
2409v0.15.4 - v0.15.5
2410-----------------
2411
2412TextBuffer: work in progress! (minor bugfixes)
2413
2414
2415v0.15.3
2416-------
2417
2418fileInput(): fixed few minor bugs.
2419
2420
2421v0.15.2
2422-------
2423
2424New method: fileInput(): it is build on an inputField() that auto-complete and display an auto-complete menu
2425with all files available in the current directory.
2426
2427
2428v0.15.1
2429-------
2430
2431TextBuffer: work in progress! (TAB support)
2432
2433
2434v0.15.0
2435-------
2436
2437ScreenBuffer: backward incompatible change: "draw( { diffOnly: true } )" is now "draw( { delta: true } )".
2438TextBuffer: work in progress!
2439
2440
2441v0.14.8 - v0.14.10
2442------------------
2443
2444TextBuffer: work in progress!
2445
2446
2447v0.14.7
2448-------
2449
2450TextBuffer: Basic support is ok!
2451
2452
2453v0.14.6
2454-------
2455
2456ScreenBuffer: delta optimization introduced in v0.14.5 is now disabled - not stable enough.
2457
2458
2459v0.14.5
2460-------
2461
2462ScreenBuffer: attribute delta optimization.
2463
2464
2465v0.14.4
2466-------
2467
2468.inputField(): fixed some issues with BACKSPACE when at the first column, and history UP and DOWN at the bottom line.
2469
2470
2471v0.14.3
2472-------
2473
2474On the previous version, 'prependText' becomes 'prefix' (this feature is still not documented, thus not in the SemVer contract).
2475
2476
2477v0.14.2
2478-------
2479
2480.inputField() autoComplete function: if an array is returned and it contains a custom property 'prependText', the autoCompleteMenu
2481will display items normaly, but it will return the chosen entry prepended with that text.
2482
2483
2484v0.14.1
2485-------
2486
2487New method: .slowTyping(): it outputs some text with an old-fashioned slow-typing effect. See the doc.
2488
2489
2490v0.14.0
2491-------
2492
2493.singleLineMenu(): support for TAB and SHIFT_TAB keys that cycle forward and backward.
2494.inputField(): same when in the auto-complete menu (since it uses .singleLineMenu() behind the scene)
2495
2496
2497v0.13.16
2498--------
2499
2500Improvement of cleanup code on exit.
2501Issue #3 is fixed again (regression somewhere between 0.13.6 and 0.13.14).
2502
2503
2504v0.13.15
2505--------
2506
2507Documentation:
2508* nice animated gif for each example of: progressBar, inputField, singleLineMenu, yesOrNo
2509* fixes in the examples
2510* .processExit() is now documentated, thus under SemVer
2511* .progressBar(): .stop() and .resume() method are now documentated, thus under SemVer
2512
2513
2514v0.13.14
2515--------
2516
2517.progressBar(): .stop() and .resume() method (should be documented)
2518New method: .processExit() that exit cleanly (should be documented)
2519.getCursorLocation(): do not run in concurrency anymore (fix some issue getting values for another call)
2520
2521
2522v0.13.11 - v0.13.13
2523-------------------
2524
2525.progressBar(): update immediately if the progress value is >= 1, to prevent program from quitting before the progress bar
2526had a chance to display 'done'.
2527
2528
2529v0.13.10
2530--------
2531
2532.progressBar(): documentation of title and items.
2533
2534
2535v0.13.9
2536-------
2537
2538.progressBar() improvement: 'title mode'. Documentation will be written once stabilized.
2539
2540
2541v0.13.8
2542-------
2543
2544.progressBar() improvement: 'item mode'. Documentation will be written once stabilized.
2545
2546
2547v0.13.7
2548-------
2549
2550.progressBar() can display ETA (activated with the 'eta' option, see the doc)
2551
2552
2553v0.13.6
2554-------
2555
2556New method: .progressBar(), which creates a nice progress bar, see the documentation for details.
2557
2558
2559v0.13.5
2560-------
2561
2562Fix issue #3.
2563
2564
2565v0.13.3 - v0.13.4
2566-----------------
2567
2568Fixing issue #2 with Terminology and mouse reporting.
2569
2570
2571v0.13.2
2572-------
2573
2574.inputField():
2575* now patched to support characters larger than 2 bytes, but it still has bugs due to full-width chars
2576* new option 'maxLength': to not allow user to add more characters than this
2577
2578
2579v0.13.0 - v0.13.1
2580-----------------
2581
2582.beep() is deprecated, in favor of .bell().
2583SHIFT / CTRL / ALT + INSERT / DELETE / PAGE_UP / PAGE_DOWN / HOME / END combo.
2584
2585
2586v0.12.8
2587-------
2588
2589Minor fixes in the demo and tests.
2590
2591
2592v0.12.7
2593-------
2594
2595Fixed an error in the code that may have produced unreported bugs.
2596
2597
2598v0.12.6
2599-------
2600
2601Try-catch when raw mode is not possible.
2602
2603
2604v0.12.4 - v0.12.5
2605-----------------
2606
2607Atomic-Terminal support.
2608
2609
2610v0.12.3
2611-------
2612
2613Bugfix: timeout detection for .getColor() and .getCursorLocation(), .inputField() is changed accordingly (and cleaned up)
2614
2615
2616v0.12.2
2617-------
2618
2619Documentation improvements.
2620
2621
2622v0.12.1
2623-------
2624
2625.singleLineMenu() callback's 'response' argument has 2 new properties: 'x' and 'y', the coordinates of the selected item.
2626
2627
2628v0.12.0
2629-------
2630
2631Backward compatibility broken: .singleLineMenu()'s callback is now:
2632* callback( error , response ), where:
2633 * error `mixed` truthy if an underlying error occurs
2634 * response `Object` where
2635 * selectedIndex `number` the user-selected menu item index
2636 * selectedText `string` the user-selected menu item text
2637 * unexpectedKey `string` when 'exitOnUnexpectedKey' option is set and an unexpected key is pressed, this contains
2638 the key that produced the exit
2639
2640Using named parameters for the callback is a more reliable and flexible API that will avoid breakage in the future,
2641when feature will be added.
2642
2643
2644v0.11.3
2645-------
2646
2647* .inputField(): custom auto-completer can be asynchronous now, see the doc.
2648
2649* Documentation: static method termkit.autoComplete() is now documented.
2650
2651
2652v0.11.2
2653-------
2654
2655Improved documentation: formatting, Table of Contents, etc...
2656
2657
2658v0.11.1
2659-------
2660
2661Documentation: features introduced since v0.10.8.
2662
2663
2664v0.11.0
2665-------
2666
2667* .singleLineMenu() has more options: it is possible to define its own item separator, and customize the
2668 new next/previous page hint feature
2669
2670* .inputField() option 'menuOption' has moved to/mixed with 'autoCompleteMenu'
2671
2672
2673v0.10.9
2674-------
2675
2676.inputField() now has the option 'autoCompleteMenu' to use in conjunction with 'autoComplete', it displays a single line menu
2677displaying all the completion candidate, when more than one is possible.
2678
2679
2680v0.10.8
2681-------
2682
2683New method: .singleLineMenu(), which creates a simple menu, the user can select item with arrow keys and RETURN/ENTER.
2684
2685
2686v0.10.7
2687-------
2688
2689Documentation on .createTerminal() is now available.
2690
2691
2692v0.10.6
2693-------
2694
2695Stupid Gnome-terminal do not set COLORTERM environment variable anymore... this is a workaround to detect it.
2696
2697
2698v0.10.5
2699-------
2700
2701Gnome-terminal now supports 24bits colors, so the support for it has been added.
2702
2703
2704v0.10.4
2705-------
2706
2707.inputField() returned value, the inputControler, is now an event emitter (it emits 'ready'), and it features a 'redraw()' method.
2708
2709
2710v0.10.3
2711-------
2712
2713.inputField() now supports an 'autoComplete' option, see the doc
2714
2715
2716v0.10.2
2717-------
2718
2719.inputField() now supports an 'history' option, so UP and DOWN keys move up and down in the history
2720
2721
2722v0.10.1
2723-------
2724
2725.inputField() returns more way to control it:
2726 * getPosition(): return an object containing 'x' and 'y' properties, the coordinates where the input field starts
2727 * hide(): hide the input field, it still records keystrokes
2728 * show(): show the input field again
2729 * rebase(): rebase the input field to the current cursor position (it does NOT erase the previous one,
2730 use hide() before, see the doc)
2731
2732
2733v0.10.0
2734-------
2735
2736.inputField() now returns an object featuring some functions to control things during the input process:
2737 * abort(): abort the input process and do not even call the inputField()'s callback
2738 * stop(): stop the input process now, call the inputField()'s callback (same behaviour than a regular 'ENTER' key pressed)
2739 * getInput(): get the current input string
2740
2741
2742v0.9.14
2743-------
2744
2745Added a link to the tutorials at blog.soulserv.net/tag/terminal.
2746
2747
2748v0.9.13
2749-------
2750
2751Upgraded dependencies.
2752
2753
2754v0.9.11 - v0.9.12
2755-----------------
2756
2757.noFormat() is now documented (thus under the SemVer contract).
2758
2759
2760v0.9.10
2761-------
2762
2763Upgraded to string-kit@0.1.5.
2764
2765
2766v0.9.9
2767------
2768
2769Just a small addition to the documentation: require() are added in most example (user's feedback).
2770
2771
2772v0.9.8
2773------
2774
2775Upgraded dependencies.
2776
2777
2778v0.9.2 - v0.9.7
2779---------------
2780
2781Package description & README.md that better fit the new npmjs.org site.
2782
2783
2784v0.9.1
2785-------
2786
2787Removing tools/sprite-editor.js: the editor has now its own package: 'leeted'.
2788The demo located in demo/spaceship.js works again (sprites have been converted to file format V2).
2789Some performance optimization have greatly improved CPU usage.
2790
2791
2792v0.9.0
2793-------
2794
2795File format has changed for ScreenBuffer.loadSync() and screenBuffer.saveSync().
2796This is now the format version 2.
2797File of format version 1 can still be loaded/saved using ScreenBuffer.loadSyncV1() and screenBuffer.saveSyncV1().
2798This file format is more flexible, so improvement to the lib can be achieved without changing the file format each time.
2799
2800
2801v0.8.0
2802-------
2803
2804The Rect class has moved from termkit.ScreenBuffer.Rect to termkit.Rect
2805The 'key' event callback's argument #2 (data) now contains a 'isCharacter' property, true for printable, false for control
2806screenBuffer.clear() -> screenBuffer.fill()
2807
2808
2809v0.7.1
2810-------
2811
2812Sprite editor now support the mouse.
2813
2814
2815v0.7.0
2816-------
2817
2818ScreenBuffer now use Big Endian: there is no performance drop on Little Endian system and the code is less error prone.
2819
2820
2821v0.6.14
2822-------
2823
2824ScreenBuffer .put() now support the 'wrap' option, bypassing the default 'wrap' value of the current screenBuffer.
2825
2826
2827v0.6.13
2828-------
2829
2830ScreenBuffer .put() now support writing in any of the 4 directions.
2831The sprite editor can set the writing direction.
2832
2833
2834v0.6.12
2835-------
2836
2837ScreenBuffer blending: style transparency bugfix.
2838Improvement of the sprite editor (new features: fill colors/style, put only attributes).
2839Improvement of the demo graphics.
2840
2841
2842v0.6.11
2843-------
2844
2845Improvement of the sprite editor (editor's background character is not customizable).
2846
2847
2848v0.6.10
2849-------
2850
2851Now it is possible to resize a ScreenBuffer.
2852Improvement of the sprite editor (sprite resizing, editor's background colors are customizable).
2853
2854
2855v0.6.9
2856------
2857
2858Many type of transparencies: foreground color, background color, style & character.
2859New: a sprite editor, located in demo/sprite-editor.js.
2860
2861
2862v0.6.8
2863------
2864
2865Refactoring, so the tile-variant & the wrap-variant of blitter are now available for the terminal blitter.
2866
2867
2868v0.6.7
2869------
2870
2871The 'tile' blitter is now faster and cleaner.
2872Some bugfix on buffer creation (size should be integer, not float).
2873
2874
2875v0.6.6
2876------
2877
2878The buffer to buffer blitter now support the 'tile' option.
2879
2880
2881v0.6.5
2882------
2883
2884The buffer to buffer blitter now support the 'wrap' option.
2885
2886
2887v0.6.2 - v0.6.4
2888---------------
2889
2890Improved terminal's blitter.
2891
2892
2893v0.6.1
2894------
2895
2896ScreenBuffer refactoring.
2897
2898
2899v0.6.0
2900------
2901
2902Major change in the module.exports tree: the backward compatibility is broken, but it can be easily fixed.
2903Just replace:
2904
2905var term = require( 'terminal-kit' ) ;
2906
2907... by:
2908
2909var term = require( 'terminal-kit' ).terminal ;
2910
2911Now, that is when the .terminal property is accessed for the first time that a terminal is guessed.
2912
2913This make the code cleaner and remove any trouble when circular require() occurs: the module does not perform
2914anything until an userland code request so.
2915
2916
2917v0.5.17
2918-------
2919
2920Spaceship demo: added a spaceship moving with the arrow keys.
2921
2922
2923v0.5.16
2924-------
2925
2926Spaceship demo: scrolling space.
2927
2928
2929v0.5.15
2930-------
2931
2932New: term.ScreenBuffer object. Still a work in progress. Documentation will be available when stabilized.
2933
2934
2935v0.5.14
2936-------
2937
2938Great news: now GPM is supported, so if the daemon is running, the mouse is supported even in the Linux Console!
2939
2940
2941v0.5.13
2942-------
2943
2944Bugfix when COLORTERM is not defined, it causes a crash.
2945
2946
2947v0.5.12
2948-------
2949
2950Documentation on 'MOUSE_BUTTON_RELEASED'.
2951
2952
2953v0.5.10 - v0.5.11
2954-----------------
2955
2956SSH tests.
2957
2958
2959v0.5.9
2960------
2961
2962SSH detection, this does not improve things except that .getDetectedTerminal() use simple guessing
2963rather than the expensive .getParentTerminalInfo().
2964
2965
2966v0.5.8
2967------
2968
2969Eterm support.
2970
2971
2972v0.5.7
2973------
2974
2975Better support for rxvt/urxvt.
2976Better terminal guessing.
2977
2978
2979v0.5.6
2980------
2981
2982Bugfix: .grabInput() leak when called multiple times.
2983Better support for rxvt/urxvt.
2984
2985
2986v0.5.5
2987------
2988
2989Better support for xfce4-terminal.
2990
2991
2992v0.5.4
2993------
2994
2995New terminals supported: Terminator, rxvt, urxvt, xfce4-terminal.
2996
2997
2998v0.5.3
2999------
3000
3001Documentation: DEPRECATE .requestScreenSize()
3002
3003
3004v0.5.2
3005------
3006
3007Refactoring
3008.setColor() now accept a "names" argument
3009
3010
3011v0.5.1
3012------
3013
3014.getColorRegister() -> .getColor()
3015Documentation on v0.4.4 features, and about the 24 bits feature.
3016
3017
3018v0.4.5
3019------
3020
3021Bugfix: now Konsole can use 24 bits colors.
3022
3023
3024v0.4.4
3025------
3026
3027.setColor() set a color register to RGB
3028.getPalette() request from the terminal (if supported) the current 16 colors palette in use.
3029.setPalette() set the 16 colors palette, it is possible to specify a color scheme name
3030
3031
3032v0.4.3
3033------
3034
3035Now the lib is aware of the default VGA palette for the Linux Console.
3036
3037
3038v0.4.2
3039------
3040
3041Bugfix: .getDetectedTerminal() do not issue error anymore if no terminal was detected, it simply returns
3042the default terminal.
3043New: the HSL cylender coordinate is now used to pick up the closest color register match for RGB.
3044Status of the lib is now BETA.
3045
3046
3047v0.4.1
3048------
3049
3050New high-level function: .getColorRegister()
3051
3052
3053v0.4.0
3054------
3055
3056.color256rgb() -> .colorRgb()
3057.bgColor256rgb() -> .bgColororRgb()
3058.color256gray() -> .colorGrayscale()
3059.bgColor256gray() -> .bgColorGrayscale()
3060
3061Fallback for 256 colors, if not supported by the terminal, it picks the closest color in the 16 colors.
3062.setCursorColor() & .setCursorColorRgb() now work fine with the Linux Console.
3063
3064
3065v0.3.8
3066------
3067
3068.setCursorColor() & .setCursorColorRgb() to change the color of the cursor.
3069
3070
3071v0.3.4 - v0.3.7
3072---------------
3073
3074Dependency hell.
3075
3076
3077v0.3.3
3078------
3079
3080Upgraded dependencies (async-kit, tree-kit, string-kit).