UNPKG

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