UNPKG

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