ChangeLog (screen-4.8.0) | : | ChangeLog (screen-4.9.0) | ||
---|---|---|---|---|
Version 4.8.0 (05/02/2020) | Version 4.9.0 (30/01/2022): | |||
* Hardstatus option for used encoding (escape string '%e') | ||||
* OpenBSD uses native openpty() from its utils.h | ||||
* Fixes: | ||||
- fix combining char handling that could lead to a segfault | ||||
- CVE-2021-26937: possible denial of service via a crafted UTF-8 character s | ||||
equence (bug #60030) | ||||
- make screen exit code be 0 when checking --help | ||||
- session names limit is 80 symbols (bug #61534) | ||||
- option -X ignores specified user in multiuser env (bug #37437) | ||||
- a lot of reformations/fixes/cleanups (man page and source code) | ||||
Version 4.8.0 (05/02/2020): | ||||
* Improve startup time by only polling for files to close | * Improve startup time by only polling for files to close | |||
Fixes: | * Fixes: | |||
- Fix for segfault if termcap doesn't have Km entry | - Fix for segfault if termcap doesn't have Km entry | |||
- Make screen exit code be 0 when checking --version | - Make screen exit code be 0 when checking --version | |||
- Fix potential memory corruption when using OSC 49 | - Fix potential memory corruption when using OSC 49 | |||
Version 4.7.0 (02/10/2019) | Version 4.7.0 (02/10/2019): | |||
* Add support for SGR (1006) mouse mode | * Add support for SGR (1006) mouse mode | |||
* Add support for OSC 11 | * Add support for OSC 11 | |||
* Update Unicode ambiguous and wide tables to 12.1.0 | * Update Unicode ambiguous and wide tables to 12.1.0 | |||
* Fixes: | * Fixes: | |||
- cross-compilation support (bug #43223) | - cross-compilation support (bug #43223) | |||
- a lot of manpage fixes and cleanups | - a lot of manpage fixes and cleanups | |||
Version 4.6.2 (23/10/2017): | Version 4.6.2 (23/10/2017): | |||
* Fixes: | * Fixes: | |||
- revert changes to cursor position restore behavour (bug #51832) | - revert changes to cursor position restore behavour (bug #51832) | |||
- set freed pointer to NULL (bug #52133) | - set freed pointer to NULL (bug #52133) | |||
- documentation fixes | - documentation fixes | |||
- fix windowlist crashes (bug #43054 & #51500) | - fix windowlist crashes (bug #43054 & #51500) | |||
Version 4.6.1 (10/07/2017): | Version 4.6.1 (10/07/2017): | |||
* Fixes: | * Fixes: | |||
skipping to change at line 64 | skipping to change at line 75 | |||
* Fix runtime issues | * Fix runtime issues | |||
* 'logfile' command, starts logging into new file upon changing | * 'logfile' command, starts logging into new file upon changing | |||
Version 4.3.1 (28/06/2015): | Version 4.3.1 (28/06/2015): | |||
* Fix resize bug | * Fix resize bug | |||
Version 4.3.0 (13/06/2015): | Version 4.3.0 (13/06/2015): | |||
* Introduce Xx string escape showing the executed command of a window | * Introduce Xx string escape showing the executed command of a window | |||
* Implement dead/zombie window polling, allowing for auto reconnecting | * Implement dead/zombie window polling, allowing for auto reconnecting | |||
* Allow setting hardstatus on first line | * Allow setting hardstatus on first line | |||
* New Commands: | ||||
New Commands: | - 'sort' command sorting windows by title | |||
* 'sort' command sorting windows by title | - 'bumpleft', 'bumpright' - manually move windows on window list | |||
* 'bumpleft', 'bumpright' - manually move windows on window list | - 'collapse' removing numbering 'gaps' between windows, by renumbering | |||
* 'collapse' removing numbering 'gaps' between windows, by renumbering | - 'windows' command now accepts arguments for use with querying | |||
* 'windows' command now accepts arguments for use with querying | ||||
Version 4.2.1 (28/04/2014): | Version 4.2.1 (28/04/2014): | |||
* allow for terminal with long $TERM (up to 32 characters) | * allow for terminal with long $TERM (up to 32 characters) | |||
* allow to use long logins | * allow to use long logins | |||
* documentation fixes | * documentation fixes | |||
* runtime fixes | * runtime fixes | |||
Version 4.2.0 (17/04/2014): | Version 4.2.0 (17/04/2014): | |||
New Commands: | New Commands: | |||
* 'unbindall' to unbind all commands | * 'unbindall' to unbind all commands | |||
* 'up', 'down', 'left', 'right' sub-commands for 'focus' | * 'up', 'down', 'left', 'right' sub-commands for 'focus' | |||
* 'rendition' to specify rendition to use in caption/hardstatus for | * 'rendition' to specify rendition to use in caption/hardstatus for window-nam | |||
window-names that have bell/monitor/silence/so turned on. | es that have bell/monitor/silence/so turned on. | |||
* 'layout', with the following sub-commands | * 'layout', with the following sub-commands | |||
- 'title' | - 'title' | |||
- 'number' | - 'number' | |||
- 'autosave' ('autosave on' or 'autosave off') | - 'autosave' ('autosave on' or 'autosave off') | |||
- 'new' | - 'new' | |||
- 'save' ('save <name>') | - 'save' ('save <name>') | |||
- 'select' | - 'select' | |||
- 'next' | - 'next' | |||
- 'prev' | - 'prev' | |||
- 'attach' | - 'attach' | |||
skipping to change at line 374 | skipping to change at line 383 | |||
ENVIRONMENT support. | ENVIRONMENT support. | |||
/local/etc/screenrc checks for $SYSSCREENRC | /local/etc/screenrc checks for $SYSSCREENRC | |||
$HOME/.screenrc checks for $ISCREENRC and $SCREENRC | $HOME/.screenrc checks for $ISCREENRC and $SCREENRC | |||
/local/screens checks for $ISCREENDIR and $SCREENDIR | /local/screens checks for $ISCREENDIR and $SCREENDIR | |||
.screenrc understands ${VAR} and $VAR . | .screenrc understands ${VAR} and $VAR . | |||
screen 3.0 Patchlevel 6 | screen 3.0 Patchlevel 6 | |||
======================= | ======================= | |||
.screenrc: | .screenrc: | |||
screen now only opens the windows you explicitly ask for. if you | screen now only opens the windows you explicitly ask for. | |||
specify none, you still get one window, of course. | If you specify none, you still get one window, of course. | |||
screen 3.0. Patchlevel 5 | screen 3.0. Patchlevel 5 | |||
======================== | ======================== | |||
Ansi prototyping by Christos. | Ansi prototyping by Christos. | |||
copy mode: CTRL-U / CTRL-D exchanged. code cleanup. | copy mode: CTRL-U / CTRL-D exchanged. code cleanup. | |||
changes to screen 3.0 patchlevel 4 | changes to screen 3.0 patchlevel 4 | |||
================================== | ================================== | |||
markkeys "string" | markkeys "string" | |||
allows to rebind the keys used in copy/history mode. | allows to rebind the keys used in copy/history mode. | |||
string is made up of pairs "<oldchar>=<newchar>" which are separated | string is made up of pairs "<oldchar>=<newchar>" which are separated | |||
by a colon. Oldchar and newchar are either single ascii characters, | by a colon. Oldchar and newchar are either single ascii characters, | |||
or the two character sequence ^x, where x is an ascii character, or | or the two character sequence ^x, where x is an ascii character, or | |||
a 3 digit octal value prepended with '\'. the string "\040=.:^M=q" | a 3 digit octal value prepended with '\'. the string "\040=.:^M=q" | |||
rebinds '.' to set marks, and the return rey will abort copy mode. | rebinds '.' to set marks, and the return key will abort copy mode. | |||
set scrollback 100 | set scrollback 100 | |||
resizes the scrollback history buffer to 100 lines. a default of 50 | resizes the scrollback history buffer to 100 lines. a default of 50 | |||
is installed. | is installed. | |||
A Howard Chu like scrollback history is installed. Many vi-like keys | A Howard Chu like scrollback history is installed. Many vi-like keys | |||
are added to the copy mode. The '?' key reports on cursor position. | are added to the copy mode. The '?' key reports on cursor position. | |||
screen 3.0 Patchlevel 3 | screen 3.0 Patchlevel 3 | |||
======================= | ======================= | |||
skipping to change at line 428 | skipping to change at line 437 | |||
.screenrc | .screenrc | |||
monitor on|off | monitor on|off | |||
changes in Screen 3.0 Patchlevel 1 | changes in Screen 3.0 Patchlevel 1 | |||
================================== | ================================== | |||
screen -wipe | screen -wipe | |||
^A : set vbell_msg "Wuff Wuff" | ^A : set vbell_msg "Wuff Wuff" | |||
Thousand enhancements: help resizible, copy'n'paste in main | Thousand enhancements: help resizable, copy'n'paste in main | |||
socket loop, and no more '\0' hackin'. :WS=\E8;%d;%dt: | socket loop, and no more '\0' hackin'. :WS=\E8;%d;%dt: | |||
screen can now resize windows under sunview. | screen can now resize windows under sunview. | |||
^A : set crlf on|off | ^A : set crlf on|off | |||
effects markroutine join. | effects markroutine join. | |||
screen learned about sized windows under X | screen learned about sized windows under X | |||
screen -ls (-d) -q | screen -ls (-d) -q | |||
skipping to change at line 456 | skipping to change at line 465 | |||
by pow_detach. | by pow_detach. | |||
^A : learned a new keyword "set": | ^A : learned a new keyword "set": | |||
commands like "login on" , "vbell off", ... affect the default for | commands like "login on" , "vbell off", ... affect the default for | |||
windows to be created. But commands like "set login off" affect | windows to be created. But commands like "set login off" affect | |||
the actual setting of this window. and not the default. | the actual setting of this window. and not the default. | |||
such commands may be bound to keys. example: | such commands may be bound to keys. example: | |||
bind 'O' set login off | bind 'O' set login off | |||
is valid in your .screenrc as well as typed at the ':' prompt. | is valid in your .screenrc as well as typed at the ':' prompt. | |||
a bonus is ":set all" which is synonym to ":help". | a bonus is ":set all" which is synonym to ":help". | |||
At the Colon prompt also KeyNames can be entered, alothough that makes | At the Colon prompt also KeyNames can be entered, although that makes | |||
not always sense. | not always sense. | |||
^A x uses a builtin lockprg, if | ^A x uses a builtin lockprg, if | |||
a) we don't find our lockprg, or | a) we don't find our lockprg, or | |||
b) user supplies us with the environmet variable LOCKPRG set to "builtin" | b) user supplies us with the environment variable LOCKPRG set to "builtin" | |||
the builtin locks until your login password is typed. on systems using | the builtin locks until your login password is typed. on systems using | |||
"shadow password files" you are prompted for a password. | "shadow password files" you are prompted for a password. | |||
markroutine can append joined. | markroutine can append joined. | |||
screen removes the "controlling tty" from utmp while ptys are attached. | screen removes the "controlling tty" from utmp while ptys are attached. | |||
markroutine performs CR+NL when '\n' is pressed | markroutine performs CR+NL when '\n' is pressed | |||
screen may die quietly, when no TERMCAP entry for "screen" is | screen may die quietly, when no TERMCAP entry for "screen" is | |||
found, and screen is run under X-windows | found, and screen is run under X-windows | |||
_SEQUENT_ marks sequent386_ptx | _SEQUENT_ marks sequent386_ptx | |||
screen runs now under SunOS4.1.1 (we need setsid()!). | screen runs now under SunOS4.1.1 (we need setsid()!). | |||
bug in SetForeWindow fixed. | bug in SetForeWindow fixed. | |||
rare markroutine bug fixed. | rare markroutine bug fixed. | |||
we dont open every file the attacher tells us. | we don't open every file the attacher tells us. | |||
we have now our wonderful "Wuff, Wuff" visual_bell | we have now our wonderful "Wuff, Wuff" visual_bell | |||
we have now the interprocess-communication-buffer. secure version. | we have now the interprocess-communication-buffer. secure version. | |||
'^A =' removes the interprocess-communication-buffer. | '^A =' removes the interprocess-communication-buffer. | |||
markroutine as in 2.1 | markroutine as in 2.1 | |||
markroutine: 'a' toggles append mode, | markroutine: 'a' toggles append mode, | |||
End of changes. 12 change blocks. | ||||
20 lines changed or deleted | 31 lines changed or added |