UNPKG

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