Release 1.17.0 - Support for opening an existing PTY, e.g. a VM console. ([#1564][1564]) * Unicode input mode now accepts input from the numpad as well, numlock is ignored. * A new `resize-by-cells` option, enabled by default, allows the size of floating windows to be constrained to multiples of the cell size. * Support for custom (i.e. other than ctrl/shift/alt/super) modifiers in key bindings ([#1348][1348]). * `pipe-command-output` key binding. * Support for OSC-176, _"Set App-ID"_ (https://gist.github.com/delthas/d451e2cc1573bb2364839849c7117239). * Support for `DECRQM` queries with ANSI/ECMA-48 modes (`CSI Ps $ p`). * Rectangular edit functions: `DECCARA`, `DECRARA`, `DECCRA`, `DECFRA` and `DECERA` ([#1633][1633]). * `Rect` capability to terminfo. * `fe` and `fd` (focus in/out enable/disable) capabilities to terminfo. * `nel` capability to terminfo. [1348]: https://codeberg.org/dnkl/foot/issues/1348 [1633]: https://codeberg.org/dnkl/foot/issues/1633 [1564]: https://codeberg.org/dnkl/foot/pulls/1564 [`DECBKM`]: https://vt100.net/docs/vt510-rm/DECBKM.html * config: ARGB color values now default to opaque, rather than transparent, when the alpha component has been left out ([#1526][1526]). * The `foot` process now changes CWD to `/` after spawning the shell process. This ensures the terminal itself does not "lock" a directory; for example, preventing a mount point from being unmounted ([#1528][1528]). * Kitty keyboard protocol: updated behavior of modifiers bits during modifier key events, to match the (new [#6913][kitty-6913]) behavior in kitty >= 0.32.0 ([#1561][1561]). * When changing font sizes or display scales in floating windows, the window will be resized as needed to preserve the same grid size. * `smm` now disables private mode 1036 (_"send ESC when Meta modifies a key"_), and enables private mode 1034 (_"8-bit Meta mode"_). `rmm` does the opposite ([#1584][1584]). * Grid is now always centered in the window, when either fullscreened or maximized. * Ctrl+wheel up/down bound to `font-increase` and `font-decrease` respectively (in addition to the already existing default key bindings `ctrl-+` and `ctrl+-`). * Use XRGB pixel format (instead of ARGB) when there is no transparency. * Prefer CSS xcursor names, and fallback to legacy X11 names. * Kitty keyboard protocol: use the `XKB` mode when retrieving locked modifiers, instead of the `GTK` mode. This fixes an issue where some key combinations (e.g. Shift+space) produces different results depending on the state of e.g. the NumLock key. * Kitty keyboard protocol: filter out **all** locked modifiers (as reported by XKB), rather than hardcoding it to CapsLock only, when determining whether a key combination produces text or not. * CSI-t queries now report pixel values **unscaled**, instead of **scaled** ([#1643][1643]). * Sixel: text cursor is now placed on the last text row touched by the sixel, instead of the text row touched by the _upper_ pixel of the last sixel ([#chafa-192][chafa-192]). * Sixel: trailing, fully transparent rows are now trimmed ([#chafa-192][chafa-192]). * `1004` (enable focus in/out events) removed from the `XM` terminfo capability. To enable focus in/out, use the `fe` and `fd` capabilities instead. * Tightened the regular expression in the `rv` terminfo capability. * Tightened the regular expression in the `xr` terminfo capability. * `DECRQM` queries for private mode 67 ([`DECBKM`]) now reply with mode value 4 ("permanently reset") instead of 0 ("not recognized"). [1526]: https://codeberg.org/dnkl/foot/issues/1526 [1528]: https://codeberg.org/dnkl/foot/issues/1528 [1561]: https://codeberg.org/dnkl/foot/issues/1561 [kitty-6913]: https://github.com/kovidgoyal/kitty/issues/6913 [1584]: https://codeberg.org/dnkl/foot/issues/1584 [1643]: https://codeberg.org/dnkl/foot/issues/1643 [chafa-192]: https://github.com/hpjansson/chafa/issues/192 * config: improved validation of color values. * config: double close of file descriptor, resulting in a chain of errors ultimately leading to a startup failure ([#1531][1531]). * Crash when using a desktop scaling factor > 1, on compositors that implements neither the `fractional-scale-v1`, nor the `cursor-shape-v1` Wayland protocols ([#1573][1573]). * Crash in `--server` mode when one or more environment variables are set in `[environment]`. * Environment variables normally set by foot lost with `footclient -E,--client-environment` ([#1568][1568]). * XDG toplevel protocol violation, by trying to set a title that contains an invalid UTF-8 sequence ([#1552][1552]). * Crash when erasing the scrollback, when scrollback history is exactly 0 rows. This happens when `[scrollback].line = 0`, and the window size (number of rows) is a power of two (i.e. 2, 4, 8, 16 etc) ([#1610][1610]). * VS16 (variation selector 16 - emoji representation) should only affect emojis. * Pressing a modifier key while the kitty keyboard protocol is enabled no longer resets the viewport, or clears the selection. * Crash when failing to load an xcursor image ([#1624][1624]). * Crash when resizing a dynamically sized sixel (no raster attributes), with a non-1:1 aspect ratio. * The default sixel color table is now initialized to the colors used by the VT340, instead of not being initialized at all (thus requiring the sixel escape sequence to explicitly set all colors it used). [1531]: https://codeberg.org/dnkl/foot/issues/1531 [1573]: https://codeberg.org/dnkl/foot/issues/1573 [1568]: https://codeberg.org/dnkl/foot/issues/1568 [1552]: https://codeberg.org/dnkl/foot/issues/1552 [1610]: https://codeberg.org/dnkl/foot/issues/1610 [1624]: https://codeberg.org/dnkl/foot/issues/1624 * Alyssa Ross * Andrew J. Hesford * Artturin * Craig Barnes * delthas * eugenrh * Fazzi * Gregory Anders * Jan Palus * Leonardo Hernández Hernández * LmbMaxim * Matheus Afonso Martins Moreira * Sivecano * Tim Culverhouse * xnuk