]> git.sur5r.net Git - tio/blob - ChangeLog
New upstream version 1.34
[tio] / ChangeLog
1 === tio v1.34 ===
2
3
4
5 Changes since tio v1.33:
6
7  * Fix setspeed2 compilation
8
9  * Only apply color formatting when using color option
10
11    To help the color blind who may use custom terminal foreground /
12    background colors.
13
14  * Update README
15
16  * Add '-c, --color' option
17
18    Allow user to select which ANSI color code to use to colorize the tio
19    text. To successfully set the color the color code must be in the range
20    0..255.
21
22    If color code is negative tio will print all available ANSI colors.
23
24    The default color is changed to bold white to make tio defaults usable
25    for most users, including color blind users.
26
27  * Fix setspeed2 check
28
29  * Fix meson header check string
30
31  * Reintroduce long timestamp format
32
33    But make the timestamp format RFC3339 compliant instead. The RFC states:
34
35    NOTE: ISO 8601 defines date and time separated by "T".
36          Applications using this syntax may choose, for the sake of
37          readability, to specify a full-date and full-time separated by
38          (say) a space character.
39
40    This way we keep the information specified by ISO 8601 but make it more
41    human readable which is better for the console output.
42
43  * Update version year
44
45 Sylvain LAFRASSE:
46
47  * Fix TTY device listing on Darwin. (#136)
48
49  * Fix TCGETS2 search on Darwin.
50
51
52
53 Changes since tio v1.32:
54
55  * Show auto connect status in show configuration
56
57  * Use '#pragma once' in all headers
58
59  * Improve printed output
60
61    Get rid of inconsistencies in the printed output (error printing,
62    colors, etc.).
63
64    Prepare for user configurable color.
65
66  * Rename option -i to -L
67
68  * Shorten timestamp
69  
70  * Shorten timestamp description
71
72    We do not need the date part of the timestamp. It simply takes up too
73    much precious line space. In case of logging to file, one can easily
74    conclude the date from the file date information.
75
76  * Replace Travis with circleCI
77
78  * Replace autotools with meson
79
80    To introduce much simpler build configuration which is also easier to
81    maintain.
82
83  * Add list serial devices feature
84
85    For convenience, add a --list-devices option which lists the available
86    serial devices.
87
88  * Cleanup: Use dot notation for default options struct
89
90  * Update AUTHORS
91
92  * Add command to show version
93
94    The key sequence ctrl-t v will now show the version of tio.
95
96  * Align format of timestamps
97  
98  * Add Sylvain as official co-maintainer
99
100 Sylvain LAFRASSE:
101
102  * Add '-t' option description for time stamping.
103
104  * Add description for time stamping.
105
106  * Resolved tio/tio#84: Added timestamps in log file if enabled.
107
108 attila-v:
109
110  * Refine timestamps with milliseconds and ISO-8601 format (#129).
111
112    * Show milliseconds too in the timestamp (#114) and log file (#124)
113    * Change timestamp format to ISO-8601.
114
115 Yin Fengwei:
116
117  * Output newline on stdout with hex print mode
118
119    This is to fix the issue #104. The timestamp will always be
120    printed at the beginning of line:
121
122    [10:25:56] Switched to hexadecimal mode
123    0d 0a 0d [10:25:57] 41 43 52 4e 3a 5c 3e 0d 0a 0d [10:25:58] 41
124
125    is changed to:
126
127    [12:34:56] 45 72 72 6f 72 3a 20 49 6e 76 61 6c 69 64 20
128    [12:34:56] 41 43 52 4e 3a 5c 3e
129    [12:34:56] 41 43 52 4e 3a 5c 3e
130    [12:34:57] 41 43 52 4e 3a 5c 3e 6c 73
131
132 Jakob Haufe:
133
134  * Make comparison POSIX compliant
135
136    String comparison with == is not POSIX compliant and can fail with e.g.
137    dash.
138
139 Henrik Brix Andersen:
140
141  * Add bash completion of tty devices.
142
143  * Add -t/--timestamp to bash completion script.
144
145 Henner Zeller:
146
147  * Local echo: show character by character even if stdout buffered.
148
149 Björn Stenberg:
150
151  * Show error when failing to open a tty
152
153 Alban Bedel:
154
155  * Fix out of tree builds
156
157    Out of tree builds are currently broken because $(top_srcdir)src/include
158    is not in the search path. In tree builds are working because autconf add
159    $(top_builddir)/src/include to the search path for the generated config.h.
160    As $(top_builddir) and $(top_srcdir) are identical during in tree builds
161    the search path still end up beeing somehow correct.
162
163    To fix this add -I$(srcdir)/include to the CPPFLAGS in Makefile.am.
164
165 Fabrice Fontaine:
166
167  * src/setspeed2.c: fix redefinition of termio
168
169    Include ioctls.h and termbits.h from asm-generic instead of asm to avoid
170    build failures.
171
172 Erik Moqvist
173
174  * Exit if output speed cannot be set.
175
176 Lars Kellogg-Stedman:
177
178  * fflush() after putchar() for print_hex and print_normal
179
180    In order for local echo to work properly, we have to either call
181    fflush(stdout) after every character or just disable line buffering.
182    This change calls fflush() after putchar().
183
184  * Disable line buffering in stdout
185
186    In order for local echo to work properly, we have to either call
187    fflush(stdout) after every character or just disable line buffering.
188    This change uses setbuf(stdout, NULL) to do the latter.
189
190 George Stark:
191
192  * dont show line state if ioctl failed
193
194  * add serial lines manual control
195
196 arichi:
197
198  * Flush every local echo char
199
200    Flush stdout at every char in case it
201    happens to be buffered.
202
203 Mariusz Midor:
204
205  * Newline: handle booth NL and CR
206
207    Flag ONLCRNL expects code \n after press Enter, but on some systems \r is send instead.
208
209
210
211 Changes since tio v1.31:
212
213  * Update AUTHORS
214
215  * Minor code style cleanups
216
217  * Cleanup print macros
218
219  * Flush output
220
221    Make sure output is transmitted immediately by flushing the output.
222
223 Robey Pointer:
224
225  * add optional timestamps
226
227    with "-t" or "C-t T", toggle a timestamp prefix to each line.
228
229 Jakub Wilk:
230
231  * Fix typos
232
233 Sylvain Lafrasse:
234
235  * Added macOS compatibility
236
237  * Made O_NONBLOCK flag to open() call specific to macOS only.
238
239  * Added macOS-related details.
240
241  * Added O_NONBLOCK flag to open() call for macOS (10.13.6) compatibility.
242
243
244
245 Changes since tio v1.30:
246
247  * Update date
248
249  * Update AUTHORS
250
251 Henner Zeller:
252
253  * Clarify the input/output variable names (No-op change)
254
255  * Organize options the same sequence they are mentioned in cmdline help.
256
257  * Update README.
258
259  * Map CR->NL locally on output instead of using tio.c_oflag |= OCRNL.
260
261    This mostly is intended to have local echo output exactly what is sent
262    to the remote endpoint.
263    A nice side-effect is, that it also fixes tty-implementations, that can't
264    deal with the OCRNL flag on tio.c_oflag.
265
266  * Provide local-echo option.
267
268    Can be switched on with -e on the command line.
269    Can be toggled with Ctrl t e while program is running.
270
271  * Write to logfile as soon as we have the data, don't buffer.
272
273    Logfiles are important to see what happened, in particular if something
274    unexpected happened; so we want to make sure that the logfile is flushed
275    to disk.
276
277    Before this change, the logfile was typically written at the end in
278    a large chunk as the default (large) buffering applied. Now, characters are
279    written out ASAP, so it is possible to get a live-view with a
280    tail -f <logfile>
281
282
283
284 Changes since tio v1.29:
285
286  * Update README
287
288  * Update man page and bash completion
289
290  * Update AUTHORS
291
292 qianfan Zhao:
293
294  * ONLCRNL: change the method to map NL to CR-NL
295
296
297
298 Changes since tio v1.28:
299
300  * Add mapping flags INLCRNL and ODELBS
301
302    The following new mapping flags are added:
303
304    INLCRNL: Map NL to CR-NL on input.
305    ODELBS: Map DEL to BS on output.
306
307    Flags requested and tested by Jan Ciger (janoc).
308
309
310
311 Changes since tio v1.27:
312
313  * Update README
314
315  * Update AUTHORS
316
317  * Add snap status to README.md
318
319  * Add README.md to prettify GitHub page
320
321  * Add missing header
322
323 Petr Vaněk:
324
325  * Add missing header file under musl-libc
326
327    Musl's inclusion tree slightly differs from glibc, therefore TCGETS2 is
328    not reachable through sys/ioctl.h, so asm/ioctls.h needs to be included
329    too.
330
331 Jakub Wilk:
332
333  * Fix grammar and typos
334
335
336
337 Changes since tio v1.26:
338
339  * Update man page
340
341  * Add support for setting non-standard baudrates
342
343    Support for non-standard baudrate settings will be automatically enabled
344    if the termios2 interface is detected available. However, to play it
345    safe, the old and widely supported termios interface will still be used
346    when setting standard baudrates.
347
348  * Cleanup
349
350  * Update AUTHORS
351
352
353
354 Changes since tio v1.25:
355
356  * Reconfigure stdin
357
358    Make stdin behave more raw'ish. In particular, don't
359    translate CR -> NL on input.
360
361  * Add special character map feature
362
363    Add a --map option which allows mapping special characters, in particular CR and
364    NL characters which are used in various combinations on various platforms.
365
366  * Cleanup
367
368  * Update AUTHORS
369
370  * Update README
371
372  * Mention website
373
374  * Update man page
375
376
377
378 Changes since tio v1.24:
379
380  * Fix error applying new stdout settings
381
382    On Fedora 26 tio will quit with the following error message:
383
384    "Error: Could not apply new stdout settings (Invalid argument)"
385
386    In case of Fedora, it turns out that the new stdout settings used are a
387    bit too aggressive because an empty termios structure is used. To remedy
388    this we reuse the existing stdout settings and only reconfigure the
389    specific options we need to make a "raw" stdout configuration.
390
391  * Remove unused pkgconfig in configure
392
393  * Code cleanup
394
395    Remove unused variable.
396
397
398
399 Changes since tio v1.23:
400
401  * Optimize clear screen command
402
403    Replaced system call with inline ANSI/VT100 clear screen code sequence
404
405  * Fix bash completion installation
406
407    Fixed the configure script to avoid that the bash completion script gets
408    installed outside of the prefix location. The default install location
409    is now $prefix/share/bash-completion/completions.
410
411    Use the configure option '--with-bash-completion-dir=PATH' if you need
412    to install the bash completion script elsewhere.
413
414 Jakub Wilk:
415
416  * Add missing commas in conditional sentences
417
418
419
420 Changes since tio v1.22:
421
422  * Update copyright headers
423
424 Jakub Wilk:
425
426  * Fix typos
427
428
429
430 Changes since tio v1.21:
431
432  * Update man page date
433
434  * Update copyright year
435
436  * Code cleanup
437
438  * Update README and man page
439
440
441
442 Changes since tio v1.20:
443
444  * Add support for hexadecimal mode
445
446    A new key command 'ctrl-t h' is introduced which toggles between
447    hexadecimal mode and normal mode. When in hexadecimal mode data received
448    will be printed in hexadecimal.
449
450  * Do not distribute src/bash_completion/tio
451
452    Since the bash completion tio script is now autogenerated from tio.in it
453    should not be distributed in the tarball.
454
455  * Add missing forward flag
456
457  * Update AUTHORS file
458
459 Adam Borowski:
460
461  * 'ctrl-t b' to send serial break.
462
463 Jakub Wilk:
464
465  * Removed git commit references from ChangeLog
466
467    ChangeLog is primary useful for users who don't have the git repository
468    at hand.
469
470    Replace git commit references with version numbers; or if the change
471    only cleans up another change with no release in between, remove the
472    changelog item completely.
473
474
475
476 Changes since tio v1.19:
477
478  * Added more error handling of terminal calls
479
480    Also removed duplicate terminal flushing calls.
481
482  * Revert "Added support for non-standard baud rates"
483
484    This reverts a change made in v1.18.
485
486    Reverting because supporting non-standard or arbitrary baud rates is
487    troublesome because the c library provides no means of doing so and even
488    if bare metal linux kernel interface is used it will not work on all
489    Linux kernels version.
490
491
492
493 Changes since tio v1.18:
494
495  * Rearranged key commands
496
497    Rearranged the key commands:
498
499    ctrl-t c (clear screen) is now
500    ctrl-t l which is similar to the well known shell ctrl-l
501
502    ctrl-t i (show settings information) is now
503    ctrl-t c (show configuration)
504
505    Updated man page accordingly.
506
507  * Added "ctrl-t c" key command to clear screen
508
509
510
511 Changes since tio v1.17:
512
513  * Updated man page
514
515  * Added support for non-standard baud rates
516
517    Only enabled when possible, that is, when the BOTHER definition is
518    available.
519
520    It is untested but it should work as described here:
521    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683826
522
523    Some Cypress USB<->serial devices supposedly supports arbitrary speeds.
524
525  * Generate baudrate switch cases based on detection
526
527    Support a single source of baud rate configuration as discussed in
528    https://github.com/tio/tio/issues/45 .
529
530    To do so, autogeneration of the switch cases which do the baud rate
531    option value check and configuration/conversion in tty_configure() is
532    introduced via a single macro.
533
534    Just to be safe, this change also enables configure detection of all
535    baud rates, including the ones previously assumed supported by most/all
536    systems (POSIX).
537
538  * Minor cleanup
539
540  * Exit when not a tty device in autoconnect mode
541
542 Jakub Wilk:
543
544  * Added non-standard baud rates that are defined on FreeBSD
545
546  * Capitalized "GitHub" in README
547
548
549
550 Changes since tio v1.16:
551
552  * Compacted tty_configure() a bit
553
554  * Fixed automatic baud rate enablement
555
556  * Minor cleanups
557
558  * Added autodetection of available baud rates
559
560    Various platforms support different baud rates.
561
562    To avoid adding platform specific handling generic baud rate detection
563    tests are introduced in the configure script. Successfully detected baud
564    rates are automatically enabled. This applies to both the C code and the
565    bash completion script.
566
567    Note:
568    Baud rates below 57600 are defined by POSIX-1 and supported by most
569    platforms so only baud rate 57600 and above are tested.
570
571  * Updated bash-completion
572
573  * Fixed printf() format type
574
575  * Added Travis build configuration
576
577 Jakub Wilk:
578
579  * Generated bash completion at configure time
580
581  * Reduce code duplication in baud rate detection
582
583  * Add support for baud rates 200 and 1800
584
585  * Fixed baudrate type
586
587
588
589 Changes since tio v1.15:
590
591  * Updated man page
592
593  * Updated README
594
595  * Removed obsolete packaging files
596
597  * Removed use of deprecated bzero()
598
599
600
601 Changes since tio v1.14:
602
603  * Removed + to remove potential confusion
604
605  * Added input digit checks
606
607  * Fixed license string
608
609  * Introduced tty_configure()
610
611    Moved tty configuration actions to tty_configure() in tty.c. This way
612    options.c is strictly about parsing options nothing else.
613
614  * Function names cleanup
615
616  * Updated AUTHORS file
617
618    Added Nick who created the new tio package for Arch Linux.
619
620  * Fixed tx/rx counters type
621
622 Jakob Haufe:
623
624  * Include config.h before standard headers
625
626    Large file support was meant to be enabled in v1.11.
627    This change enables it for real.
628
629
630
631 Changes since tio v1.13:
632
633  * Fixed tio_printf macro
634
635  * Fixed launch hints
636
637    Fixed launch hints not being printed in no autoconnect mode.
638
639  * Added 'ctrl-t ?' to list available commands
640
641  * Fixed log mechanism
642
643    To avoid echoing only log what is received from tty device.
644
645  * Improved tio output
646
647    Added titles and indentation to commands output for clearer separation
648    when firing commands repeatedly.
649
650    Also added print of tio version and quit command hint at launch.
651
652  * Cleaned up tio print mechanism
653
654 Jakub Wilk:
655
656  * Fixed grammar
657
658    "allow" is a transitive verb, which requires an object,
659    so "allow to <verb>" is ungrammatical.
660
661  * Fixed typo
662
663
664
665 Changes since tio v1.12:
666
667  * Fixed some error prints
668
669  * Fixed error printing for no autoconnect mode
670
671    Always print errors but only print silent errors when in no autoconnect
672    mode.
673
674  * Added key command for showing session settings
675
676    A new key command "ctrl-t i" is added to allow the user to display the
677    various session settings information (baudrate, databits, log file, etc.).
678
679    This is useful in case you have a running session but have forgotten
680    what the settings are.
681
682
683
684 Changes since tio v1.11:
685
686  * Consolidated command key handling
687
688  * Moved delay mechanism into separate function
689
690  * Retired obsolete usleep()
691
692    Replaced with nanosleep()
693
694  * Added simple tx/rx statistics command (ctrl-t s)
695
696    To display the total number of bytes transmitted/received simply perform the
697    'ctrl-t s' command sequence.
698
699    This feature can be useful when eg. trying to detect non-printable
700    characters.
701
702  * Further simplification of key handling
703
704    Changed so that the "ctrl-t ctrl-t" sequence is now simply "ctrl-t t" to
705    send the ctrl-t key code. This is inspired by screen which does similar
706    to send its command key code (ctrl-a a).
707
708    This change also eases adding new key commands if needed.
709
710    Updated man page accordingly.
711
712  * Cleaned up and simplified key handling
713
714 Jakub Wilk:
715
716  * Insert output delay only if something was output
717
718
719
720 Changes since tio v1.10:
721
722  * Enabled large file support (LFS)
723
724    Added autotools AC_SYS_LARGEFILE to support 64 bit file size handling.
725
726  * Updated tio title
727
728
729
730 Changes since tio v1.9:
731
732  * Introduced lock on device file
733
734    Tio will now test for and obtain an advisory lock on the tty device file
735    to prevent starting multiple sessions on the same tty device.
736
737  * Updated AUTHORS
738
739 Jakub Wilk:
740
741  * Treat EOF on stdin as error
742
743
744
745 Changes since tio v1.8:
746
747  * Cleanup of error handling
748
749    Introduced consistent way of handling errors and printing error messages.
750
751    Also upgraded some warnings to errors.
752
753  * Updated localtime() error message
754
755  * Cleanup
756
757 Jakub Wilk:
758
759  * Fix error handling for select()
760
761    Previously the error handling code for select() was unreachable.
762
763  * Removed unneeded quotes from AM_CFLAGS
764
765  * Expanded tabs
766
767  * Fixed setting "tainted"
768
769    Set "tainted" if and only if any character was read from the device.
770
771    Ctrl-t is no longer sent to the device on exit, so the trick to avoid
772    its echo is not necessary.
773
774    Characters read from stdin don't directly affect output, so they
775    shouldn't enable "tainted".
776
777  * Used \r in color_printf()
778
779    \033[300D is an unusual way to move the cursor back to column 1.
780    Use straightforward \r instead.
781
782  * Added missing \r\n to warning messages
783
784    \n alone is not enough, because the terminal is in raw mode.
785
786
787
788 Changes since tio v1.7:
789
790  * Fixed enablement of compiler warnings
791
792  * Fixed log_open() prototype
793
794  * Fixed index error wrt ctrl-t detection
795
796  * Fixed handling of ctrl-t
797
798    Before, when exercising the quit key sequence (ctrl-t + q) the ctrl-t code
799    (0x14) would be sent.
800
801    This is now fixed so that it is not sent.
802
803    However, in case it is needed to send ctrl-t to the device it is possible by
804    simply repeating the ctrl-t.
805
806    Meaning, ctrl-t + ctrl-t = ctrl-t sent to device.
807
808  * Improved error handling
809
810    Fixes a memory leak and avoids aggressive busy looping when problems
811    accessing tty device.
812
813  * Removed redundant log_close() call
814
815  * Enabled compiler warnings
816
817 Jakub Wilk:
818
819  * Stopped copying arguments to fixed-size buffers
820
821    Don't needlessly copy command-line arguments into fixed-size buffers.
822
823    Previously the program crashed if an overlong pathname was provided on
824    the command line. Also, some systems (such as GNU Hurd) don't define
825    MAXPATHLEN at all.
826
827  * Added const to log_open() prototype
828
829  * Completed the ^g to ^t transition
830
831    In v1.7 the escape key was changed from ^g to ^t, but some
832    code and comments still referred to the old key.
833
834  * Used HTTPS for tio.github.io
835
836  * Man page beautification
837
838  * Bumped date in man page
839
840  * Improve man page formatting
841
842    Use regular font for metacharacters such as "[]", "," or "|";
843    use italic font for metavariables.
844
845  * Fixed hyphen vs minus vs em-dash confusion in man page
846
847    - prints as hyphen;
848    \- prints as minus sign;
849    \em prints as em-dash.
850
851
852
853 Changes since tio v1.6:
854
855  * Changed escape key from ^g to ^t
856
857    After renaming to "tio" it makes sense to change the escape key
858    accordingly. Hence, the new escape key is ^t.
859
860    Meaning, in session, its now ctrl-t + q to quit.
861
862 Jakub Wilk:
863
864  * Fixed silly "tio or tio" in man page
865
866  * Fixed typo