foot/CHANGELOG.md
Daniel Eklöf 957e482f45
osc: 'Set Color' now updates already rendered cells in current grid
Since we don't have the original palette index in already rendered
cells, we compare the color *value*. If it matches, we assume this was
the color index used, and updates the cell's color.

Note that for performance reasons, we only update the current
grid. This is of course wrong, strictly speaking.

However, it is expected that _Set Color_ is used by full-screen
applications using the alternate grid.
2020-06-11 17:13:32 +02:00

203 lines
6.5 KiB
Markdown

# Changelog
* [Unreleased](#unreleased)
* [1.3.0](#1-3-0)
* [1.2.3](#1-2-3)
* [1.2.2](#1-2-2)
* [1.2.1](#1-2-1)
* [1.2.0](#1-2-0)
## Unreleased
### Added
* `Sync` to terminfo. This is a tmux extension that indicates
_"Synchronized Updates"_ are supported.
* `--hold` command line option to `footclient`.
### Changed
* Background transparency to only be used with the default background
color.
* Copy to clipboard/primary selection to insert a line break if either
the last cell on the previous line or the first cell on the next
line is empty.
* Number of lines to scroll is now always clamped to the number of
lines in the scrolling region..
* New terminal windows spawned with `ctrl`+`shift`+`n` are no longer
double forked.
* Unicode combining character overflow errors are only logged in when
debug logging has been enabled.
* OSC 4 (_Set Color_) now already rendered cells in the **current**
grid (_normal_ or _alternate_).
### Deprecated
### Removed
### Fixed
* Do not stop an ongoing selection when `shift` is released. When the
client application is capturing mouse events, one must hold down
`shift` to start a selection. This selection is now finalized only
when the mouse button is released - not as soon as `shift` is
released.
* Selected cells did not appear selected if modified.
* Rare crash when scrolling and the new viewport ended up **exactly**
on the wrap around.
* Selection handling when viewport wrapped around.
* Restore signal mask in the slave process.
* Set `IUTF8`.
* Selection of double-width characters. It is no longer possible to
select half of a double-width character.
* Draw hollow block cursor on top of character.
* Set an initial `TIOCSWINSZ`. This ensures clients never reads a
`0x0` terminal size (https://codeberg.org/dnkl/foot/issues/20).
* Glyphs overflowing into surrounding cells
(https://codeberg.org/dnkl/foot/issues/21).
* Sixel images being erased when printing text next to them.
* Crash when last rendered cursor cell had scrolled off screen and
`\E[J3` was executed.
* Assert (debug builds) when an `\e]4` OSC escape was not followed by
a `;`.
* Palette re-use in sixel images. Previously, the palette was reset
after each image.
### Security
## 1.3.0
### Added
* User configurable key- and mouse bindings. See `man 5 foot` and the
example `footrc` (https://codeberg.org/dnkl/foot/issues/1)
* **initial-window-mode** option to `footrc`, that lets you control
the initial mode for each newly spawned window: _windowed_,
_maximized_ or _fullscreen_.
* **app-id** option to `footrc` and `--app-id` command line option,
that sets the _app-id_ property on the Wayland window.
* **title** option to `footrc` and `--title` command line option, that
sets the initial window title.
* Right mouse button extends the current selection.
* `CSI Ps ; Ps ; Ps t` escape sequences for the following parameters:
`11t`, `13t`, `13;2t`, `14t`, `14;2t`, `15t`, `19t`.
* Unicode combining characters.
### Changed
* Spaces no longer removed from zsh font name completions.
* Default key binding for _spawn-terminal_ to ctrl+shift+n.
* Renderer is now much faster with interactive scrolling
(https://codeberg.org/dnkl/foot/issues/4)
* memfd sealing failures are no longer fatal errors.
* Selection to no longer be cleared on resize.
* The current monitor's subpixel order (RGB/BGR/V-RGB/V-BGR) is
preferred over FontConfig's `rgba` property. Only if the monitor's
subpixel order is `unknown` is FontConfig's `rgba` property used. If
the subpixel order is `none`, then grayscale antialiasing is
used. The subpixel order is ignored if antialiasing has been
disabled.
* The four primary font variants (normal, bold, italic, bold italic)
are now loaded in parallel. This speeds up both the initial startup
time, as well as a DPI changes.
* Command line parsing no longer tries to parse arguments following
the command-to-execute. This means one can now write `foot sh -c
true` instead of `foot -- sh -c true`.
### Removed
* Keyboard/pointer handler workarounds for Sway 1.2.
### Fixed
* Sixel images moved or deleted on window resize.
* Cursor sometimes incorrectly restored on exit from alternate screen.
* 'Underline' cursor being invisible on underlined text.
* Restored cursor position in 'normal' screen when window was resized
while in 'alt' screen.
* Hostname in OSC 7 URI not being validated.
* OSC 4 with multiple `c;spec` pairs.
* Alt+Return to emit "ESC \r".
* Trackpad sloooow scrolling to eventually scroll a line.
* Memory leak in terminal reset.
* Translation of cursor coordinates on resize
* Scaling color specifiers in OSC sequences.
* `OSC 12 ?` to return the cursor color, not the cursor's text color.
* `OSC 12;#000000` to configure the cursor to use inverted
foreground/background colors.
* Call `ioctl(TIOCSCTTY)` on the pts fd in the slave process.
## 1.2.3
### Fixed
* Forgot to version bump 1.2.2
## 1.2.2
### Changed
* Changed icon name in `foot.desktop` and `foot-server.desktop` from
_terminal_ to _utilities-terminal_.
* `XDG_SESSION_ID` is now included in the server/daemon default socket
path.
### Fixed
* Window size doubling when moving window between outputs with
different scaling factors (https://codeberg.org/dnkl/foot/issues/3).
* Font being too small on monitors with fractional scaling
(https://codeberg.org/dnkl/foot/issues/5).
## 1.2.1
### Fixed
* Building AUR package
## 1.2.0
### Added
* Run-time text resize using ctrl-+, ctrl+- and ctrl+0
* Font size adjusts dynamically to outputs' DPI
* Reflow text when resizing window
* **pad** option to `footrc`
* **login-shell** option to `footrc` and `--login-shell` command line
option
* Client side decorations (CSDs). This finally makes foot usable on
GNOME.
* Sixel graphics support
* OSC 12 and 112 escape sequences (set/reset text cursor color)
* REP CSI escape sequence
* `oc` to terminfo
* foot-server.desktop file
* Window and cell size reporting escape sequences
* `--hold` command line option
* `--print-pid=FILE|FD` command line option
### Changed
* Subpixel antialiasing is only enabled when background is opaque
* Meta/alt ESC prefix can now be disabled with `\E[?1036l`. In this
mode, the 8:th bit is set and the result is UTF-8 encoded. This can
also be disabled with `\E[1024l` (in which case the Alt key is
effectively being ignored).
* terminfo now uses ST instead of BEL as OSC terminator
* Logging to print to stderr, not stdout
* Backspace now emits DEL (^?), and ctrl+backspace emits BS (^H)
### Removed
* '28' from DA response