UNPKG

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