Skip to content
Tags give the ability to mark specific points in history as being important
  • 1.13.1
    Release 1.13.1
    
    Changed
    -------
    
    * Window is now dimmed while in Unicode input mode.
    
    Fixed
    -----
    
    * Compiling against wayland-protocols < 1.25
    * Crash on buggy compositors (GNOME) that sometimes send pointer-enter
      events with a NULL surface. Foot now ignores these events, and the
      subsequent motion and leave events.
    * Regression: “random” selected empty cells being highlighted as
      selected when they should not.
    * Crash when either resizing the terminal window, or scrolling in the
      scrollback history ([#1074][1074])
    * OSC-8 URLs with matching IDs, but mismatching URIs being incorrectly
      connected.
    
    [1074]: https://codeberg.org/dnkl/foot/pulls/1074
  • 1.13.0
    Release 1.13.0
    
    Added
    -----
    
    * XDG activation support when opening URLs ([#1058][1058]).
    * `-Dsystemd-units-dir=<path>` meson command line option.
    * Support for custom environment variables in `foot.ini`
      ([#1070][1070]).
    * Support for jumping to previous/next prompt (requires shell
      integration). By default bound to `ctrl`+`shift`+`z` and
      `ctrl`+`shift`+`x` respectively ([#30][30]).
    * `colors.search-box-no-match` and `colors.search-box-match` options
      to `foot.ini` ([#1112][1112]).
    * Very basic Unicode input mode via the new
      `key-bindings.unicode-input` and `search-bindings.unicode-input` key
      bindings. Note that there is no visual feedback, as the preferred
      way of entering Unicode characters is with an IME ([#1116][1116]).
    * Support for `xdg_toplevel.wm_capabilities`, to adapt the client-side
      decoration buttons to the compositor capabilities ([#1061][1061]).
    
    [1058]: https://codeberg.org/dnkl/foot/issues/1058
    [1070]: https://codeberg.org/dnkl/foot/issues/1070
    [30]: https://codeberg.org/dnkl/foot/issues/30
    [1112]: https://codeberg.org/dnkl/foot/issues/1112
    [1116]: https://codeberg.org/dnkl/foot/issues/1116
    [1061]: https://codeberg.org/dnkl/foot/pulls/1061
    
    Changed
    -------
    
    * Use `$HOME` instead of `getpwuid()` to retrieve the user’s home
      directory when searching for `foot.ini`.
    * HT, VT and FF are no longer stripped when pasting in non-bracketed
      mode ([#1084][1084]).
    * NUL is now stripped when pasting in non-bracketed mode
      ([#1084][1084]).
    * `alt`+`escape` now emits `\E\E` instead of a `CSI 27` sequence
      ([#1105][1105]).
    
    [1084]: https://codeberg.org/dnkl/foot/issues/1084
    [1105]: https://codeberg.org/dnkl/foot/issues/1105
    
    Fixed
    -----
    
    * Graphical corruption when viewport is at the top of the scrollback,
      and the output is scrolling.
    * Improved text reflow of logical lines with trailing empty cells
      ([#1055][1055])
    * IME focus is now tracked independently from keyboard focus.
    * Workaround for buggy compositors (e.g. some versions of GNOME)
      allowing drag-and-drops even though foot has reported it does not
      support the offered mime-types ([#1092][1092]).
    * Keyboard enter/leave events being ignored if there is no keymap
      ([#1097][1097]).
    * Crash when application emitted an invalid `CSI 38;5;<idx>m`, `CSI
      38:5:<idx>m`, `CSI 48;5;<idx>m` or `CSI 48:5:<idx>m` sequence
      ([#1111][1111]).
    * Certain dead-key combinations resulting in different escape
      sequences compared to kitty, when the kitty keyboard protocol is
      used ([#1120][1120]).
    * Search matches ending with a double-width character not being
      highlighted correctly.
    * Selection not being cancelled correctly when scrolled out.
    * Extending a multi-page selection behaving inconsistently.
    * Poor performance when making very large selections ([#1114][1114]).
    * Bogus error message when using systemd socket activation for server
      mode ([#1107][1107])
    * Empty line at the bottom after a window resize ([#1108][1108]).
    
    [1055]: https://codeberg.org/dnkl/foot/issues/1055
    [1092]: https://codeberg.org/dnkl/foot/issues/1092
    [1097]: https://codeberg.org/dnkl/foot/issues/1097
    [1111]: https://codeberg.org/dnkl/foot/issues/1111
    [1120]: https://codeberg.org/dnkl/foot/issues/1120
    [1114]: https://codeberg.org/dnkl/foot/issues/1114
    [1107]: https://codeberg.org/dnkl/foot/issues/1107
    [1108]: https://codeberg.org/dnkl/foot/issues/1108
    
    Contributors
    ------------
    
    * Craig Barnes
    * Lorenz
    * Max Gautier
    * Simon Ser
    * Stefan Prosiegel
  • 1.12.1
    Release 1.12.1
    
    Added
    -----
    
    * Workaround for Sway bug [#6960][sway-6960]: scrollback search and
      the OSC-555 (“flash”) escape sequence leaves dimmed (search) and
      yellow (flash) artifacts ([#1046][1046]).
    * `Control+Shift+v` and `XF86Paste` have been added to the default set
      of key bindings that paste from the clipboard into the scrollback
      search buffer. This is in addition to the pre-existing `Control+v`
      and `Control+y` bindings.
    
    [sway-6960]: https://github.com/swaywm/sway/issues/6960
    [1046]: https://codeberg.org/dnkl/foot/issues/1046
    
    Changed
    -------
    
    * Scrollback search’s `extend-to-word-boundary` no longer stops at
      space-to-word boundaries, making selection extension feel more
      natural.
    
    Fixed
    -----
    
    * build: missing symbols when linking the `pgo` helper binary.
    * UI not refreshing when pasting something into the scrollback search
      box, that does not result in a grid update (for example, when the
      search criteria did not result in any matches) ([#1040][1040]).
    * foot freezing in scrollback search mode, using 100% CPU
      ([#1036][1036], [#1047][1047]).
    * Crash when extending a selection to the next word boundary in
      scrollback search mode ([#1036][1036]).
    * Scrollback search mode not always highlighting all matches
      correctly.
    * Sixel options not being reset on hard resets (`\Ec`)
    
    [1040]: https://codeberg.org/dnkl/foot/issues/1040
    [1036]: https://codeberg.org/dnkl/foot/issues/1036
    [1047]: https://codeberg.org/dnkl/foot/issues/1036
  • 1.12.0
    Release 1.12.0
    
    Added
    -----
    
    * OSC-22 - set xcursor pointer.
    * Add "xterm" as fallback cursor where "text" is not available.
    * `[key-bindings].scrollback-home|end` options.
    * Socket activation for `foot --server` and accompanying systemd unit files
    * Support for re-mapping input, i.e. mapping input to custom escape
      sequences (https://codeberg.org/dnkl/foot/issues/325).
    * Support for [DECNKM](https://vt100.net/docs/vt510-rm/DECNKM.html), which
      allows setting/saving/restoring/querying the keypad mode.
    * Sixel support can be disabled by setting `[tweak].sixel=no`
      (https://codeberg.org/dnkl/foot/issues/950).
    * footclient: `-E,--client-environment` command line option. When
      used, the child process in the new terminal instance inherits the
      environment from the footclient process instead of the server’s
      (https://codeberg.org/dnkl/foot/issues/1004).
    * `[csd].hide-when-maximized=yes|no` option
      (https://codeberg.org/dnkl/foot/issues/1019).
    * Scrollback search mode now highlights all matches.
    * `[key-binding].show-urls-persistent` action. This key binding action
      is similar to `show-urls-launch`, but does not automatically exit
      URL mode after activating an URL
      (https://codeberg.org/dnkl/foot/issues/964).
    * Support for `CSI > 4 n`, disable _modifyOtherKeys_. Note that since
      foot only supports level 1 and 2 (and not level 0), this sequence
      does not disable _modifyOtherKeys_ completely, but simply reverts it
      back to level 1 (the default).
    * `-Dtests=false|true` meson command line option. When disabled, test
      binaries will neither be built, nor will `ninja test` attempt to
      execute them. Enabled by default
      (https://codeberg.org/dnkl/foot/issues/919).
    
    Changed
    -------
    
    * Minimum required meson version is now 0.58.
    * Mouse selections are now finalized when the window is resized
      (https://codeberg.org/dnkl/foot/issues/922).
    * OSC-4 and OSC-11 replies now uses four digits instead of 2
      (https://codeberg.org/dnkl/foot/issues/971).
    * `\r` is no longer translated to `\n` when pasting clipboard data
      (https://codeberg.org/dnkl/foot/issues/980).
    * Use circles for rendering light arc box-drawing characters
      (https://codeberg.org/dnkl/foot/issues/988).
    * Example configuration is now installed to
      `${sysconfdir}/xdg/foot/foot.ini`, typically resolving to
      `/etc/xdg/foot/foot.ini`
      (https://codeberg.org/dnkl/foot/issues/1001).
    
    Removed
    -------
    
    * DECSET mode 27127 (which was first added in release 1.6.0).
      The kitty keyboard protocol (added in release 1.10.3) can
      be used to similar effect.
    
    Fixed
    -----
    
    * Build: missing `wayland_client` dependency in `test-config`
      (https://codeberg.org/dnkl/foot/issues/918).
    * “(null)” being logged as font-name (for some fonts) when warning
      about a non-monospaced primary font.
    * Rare crash when the window is resized while a mouse selection is
      ongoing (https://codeberg.org/dnkl/foot/issues/922).
    * Large selections crossing the scrollback wrap-around
      (https://codeberg.org/dnkl/foot/issues/924).
    * Crash in `pipe-scrollback`
      (https://codeberg.org/dnkl/foot/issues/926).
    * Exit code being 0 when a foot server with no open windows terminate
      due to e.g. a Wayland connection failure
      (https://codeberg.org/dnkl/foot/issues/943).
    * Key binding collisions not detected for bindings specified as option
      overrides on the command line.
    * Crash when seat has no keyboard
      (https://codeberg.org/dnkl/foot/issues/963).
    * Key presses with e.g. `AltGr` triggering key combinations with the
      base symbol (https://codeberg.org/dnkl/foot/issues/983).
    * Underline cursor sometimes being positioned too low, either making
      it look thinner than what it should be, or being completely
      invisible (https://codeberg.org/dnkl/foot/issues/1005).
    * Fallback to `/etc/xdg` if `XDG_CONFIG_DIRS` is unset
      (https://codeberg.org/dnkl/foot/issues/1008).
    * Improved compatibility with XTerm when `modifyOtherKeys=2`
      (https://codeberg.org/dnkl/foot/issues/1009).
    * Window geometry when CSDs are enabled and CSD border width set to a
      non-zero value. This fixes window snapping in e.g. GNOME.
    * Window size “jumping” when starting an interactive resize when CSDs
      are enabled, and CSD border width set to a non-zero value.
    * Key binding overrides on the command line having no effect with
      `footclient` instances (https://codeberg.org/dnkl/foot/issues/931).
    * Search prev/next not updating the selection correctly when the
      previous and new match overlaps.
    * Various minor fixes to scrollback search, and how it finds the
      next/prev match.
    
    Contributors
    ------------
    
    * Ashish SHUKLA
    * Craig Barnes
    * Enes Hecan
    * Johannes Altmanninger
    * L3MON4D3
    * Leonardo Neumann
    * Mariusz Bialonczyk
    * Max Gautier
    * Merlin Büge
    * jvoisin
    * merkix
  • 1.11.0
    Release 1.11.0
    
    Added
    -----
    
    * `[mouse-bindings].selection-override-modifiers` option, specifying
      which modifiers to hold to override mouse grabs by client
      applications and force selection instead.
    * _irc://_ and _ircs://_ to the default set of protocols recognized
      when auto-detecting URLs.
    * [SGR-Pixels (1016) mouse extended coordinates](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Extended-coordinates) is now supported
      (https://codeberg.org/dnkl/foot/issues/762).
    * `XTGETTCAP` - builtin terminfo. See
      [README.md::XTGETTCAP](README.md#xtgettcap) for details
      (https://codeberg.org/dnkl/foot/issues/846).
    * `DECRQSS` - _Request Selection or Setting_
      (https://codeberg.org/dnkl/foot/issues/798). Implemented settings
      are:
      - `DECSTBM` - _Set Top and Bottom Margins_
      - `SGR` - _Set Graphic Rendition_
      - `DECSCUSR` - _Set Cursor Style_
    * Support for searching for the last searched-for string in scrollback
      search (search for next/prev match with an empty search string).
    
    Changed
    -------
    
    * PaperColorDark and PaperColorLight themes renamed to
      paper-color-dark and paper-color-light, for consistency with other
      theme names.
    * `[scrollback].multiplier` is now applied in “alternate scroll” mode,
      where scroll events are translated to fake arrow key presses on the
      alt screen (https://codeberg.org/dnkl/foot/issues/859).
    * The width of the block cursor’s outline in an unfocused window is
      now scaled by the output scaling factor (“desktop
      scaling”). Previously, it was always 1px.
    * Foot will now try to change the locale to either “C.UTF-8” or
      “en_US.UTF-8” if started with a non-UTF8 locale. If this fails, foot
      will start, but only to display a window with an error (user’s shell
      is not executed).
    * `gettimeofday()` has been replaced with `clock_gettime()`, due to it being
      marked as obsolete by POSIX.
    * `alt+tab` now emits `ESC \t` instead of `CSI 27;3;9~`
      (https://codeberg.org/dnkl/foot/issues/900).
    * File pasted, or dropped, on the alt screen is no longer quoted
      (https://codeberg.org/dnkl/foot/issues/379).
    * Line-based selections now include a trailing newline when copied
      (https://codeberg.org/dnkl/foot/issues/869).
    * Foot now clears the signal mask and resets all signal handlers to
      their default handlers at startup
      (https://codeberg.org/dnkl/foot/issues/854).
    * `Copy` and `Paste` keycodes are supported by default for the
      clipboard. These are useful for keyboards with custom firmware like
      QMK to enable global copy/paste shortcuts that work inside and
      outside the terminal (https://codeberg.org/dnkl/foot/pulls/894).
    
    Removed
    -------
    
    * Workaround for slow resize in Sway <= 1.5, when a foot window was
      hidden, for example, in a tabbed view
      (https://codeberg.org/dnkl/foot/pulls/507).
    
    Fixed
    -----
    
    * Font size adjustment (“zooming”) when font is configured with a
      **pixelsize**, and `dpi-aware=no`
      (https://codeberg.org/dnkl/foot/issues/842).
    * Key presses triggering keyboard layout switches also emitting CSI
      codes in the Kitty keyboard protocol.
    * Assertion in `shm.c:buffer_release()`
      (https://codeberg.org/dnkl/foot/issues/844).
    * Crash when setting a key- or mouse binding to the empty string
      (https://codeberg.org/dnkl/foot/issues/851).
    * Crash when maximizing the window and `[csd].size=1`
      (https://codeberg.org/dnkl/foot/issues/857).
    * OSC-8 URIs not getting overwritten (erased) by double-width
      characters (e.g. emojis).
    * Rendering of CSD borders when `csd.border-width > 0` and desktop
      scaling has been enabled.
    * Failure to launch when `exec(3)`:ed with an empty argv.
    * Pasting from the primary clipboard (mouse middle clicking) did not
      reset the scrollback view to the bottom.
    * Wrong mouse binding triggered when doing two mouse selections in
      very quick (< 300ms) succession
      (https://codeberg.org/dnkl/foot/issues/883).
    * Bash completion giving an error when completing a list of short
      options
    * Sixel: large image resizes (triggered by e.g. large repeat counts in
      `DECGRI`) are now truncated instead of ignored.
    * Sixel: a repeat count of 0 in `DECGRI` now emits a single sixel.
    * LIGHT ARC box drawing characters incorrectly rendered
      platforms (https://codeberg.org/dnkl/foot/issues/914).
    
    Contributors
    ------------
    
    * [lamonte](https://codeberg.org/lamonte)
    * Érico Nogueira
    * feeptr
    * Felix Lechner
    * grtcdr
    * Mark Stosberg
    * Nicolai Dagestad
    * Oğuz Ersen
    * Pranjal Kole
    * Simon Ser
  • 1.10.3
    Release 1.10.3
    
    Added
    -----
    
    * Kitty keyboard protocol:
      - [Report event types](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-events)
        (mode `0b10`)
      - [Report alternate keys](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-alternates)
        (mode `0b100`, but not that only the _shifted_ key is reported,
        not the _base layout key_)
      - [Report all keys as escape codes](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-all-keys)
        (mode `0b1000`)
      - [Report associated text](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-text)
        (mode `0b10000`)
    
    Fixed
    -----
    
    * Crash when bitmap fonts are scaled down to very small font sizes
      (https://codeberg.org/dnkl/foot/issues/830).
    * Crash when overwriting/erasing an OSC-8 URL.
  • 1.10.2
    Release 1.10.2
    
    Added
    -----
    
    * New value, `max`, for `[tweak].grapheme-width-method`.
    * Initial support for the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/).
      Modes supported:
      - [Disambiguate escape codes](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#disambiguate)
    * “Window menu” (compositor provided) on right clicks on the CSD title
      bar.
    
    Fixed
    -----
    
    * An ongoing mouse selection is now finalized on a pointer leave event
      (for example by switching workspace while doing a mouse selection).
    * OSC-8 URIs in the last column
    * OSC-8 URIs sometimes being applied to too many, and seemingly
      unrelated cells (https://codeberg.org/dnkl/foot/issues/816).
    * OSC-8 URIs incorrectly being dropped when resizing the terminal
      window with the alternate screen active.
    * CSD border not being dimmed when window is not focused.
    * Visual corruption with large CSD borders
      (https://codeberg.org/dnkl/foot/issues/823).
    * Mouse cursor shape sometimes not being updated correctly.
    * Color palette changes (via OSC 4/104) no longer affect RGB colors
      (https://codeberg.org/dnkl/foot/issues/678).
    
    Contributors
    ------------
    
    * Jonas Ådahl
  • 1.10.1
    Release 1.10.1
    
    Added
    -----
    
    * `-Dthemes=false|true` meson command line option. When disabled,
      example theme files are **not** installed.
    * XDG desktop file for footclient.
    
    Fixed
    -----
    
    * Regression: `letter-spacing` resulting in a “not a valid option”
      error (https://codeberg.org/dnkl/foot/issues/795).
    * Regression: bad section name in configuration error messages.
    * Regression: `pipe-*` key bindings not being parsed correctly,
      resulting in invalid error messages
      (https://codeberg.org/dnkl/foot/issues/809).
    * OSC-8 data not being cleared when cell is overwritten
      (https://codeberg.org/dnkl/foot/issues/804).
    
    Contributors
    ------------
    
    * Arnavion
    * Craig Barnes
    * Soc Virnyl Silab Estela
    * Xiretza
  • 1.10.0
    Release 1.10.0
    
    Added
    -----
    
    * `notify-focus-inhibit` boolean option, which can be used to control
      whether desktop notifications should be inhibited when the terminal
      has keyboard focus
    * `[colors].scrollback-indicator` color-pair option, which specifies
      foreground and background colors for the scrollback indicator.
    * `[key-bindings].noop` action. Key combinations assigned to this
      action will not be sent to the application
      (https://codeberg.org/dnkl/foot/issues/765).
    * Color schemes are now installed to `${datadir}/foot/themes`.
    * `[csd].border-width` and `[csd].border-color`, allowing you to
      configure the width and color of the CSD border.
    * Support for `XTMODKEYS` with `Pp=4` and `Pv=2` (_modifyOtherKeys=2_).
    * `[colors].dim0-7` options, allowing you to configure custom “dim”
      colors (https://codeberg.org/dnkl/foot/issues/776).
    
    Changed
    -------
    
    * `[tweak].grapheme-shaping` is now enabled by default when both foot
      itself, and fcft has been compiled with support for it.
    * Default value of `[tweak].grapheme-width-method` changed from
      `double-width` to `wcswidth`.
    * INSTALL.md: `--override tweak.grapheme-shaping=no` added to PGO
      command line.
    * Foot now terminates if there are no available seats - for example,
      due to the compositor not implementing a recent enough version of
      the `wl_seat` interface (https://codeberg.org/dnkl/foot/issues/779).
    * Boolean options in `foot.ini` are now limited to
      “yes|true|on|1|no|false|off|0”, Previously, anything that did not
      match “yes|true|on”, or a number greater than 0, was treated as
      “false”.
    * `[scrollback].multiplier` is no longer applied when the alternate
      screen is in use (https://codeberg.org/dnkl/foot/issues/787).
    
    Removed
    -------
    
    * The bundled PKGBUILD.
    * Deprecated `bell` option (replaced with `[bell]` section in 1.8.0).
    * Deprecated `url-launch`, `jump-label-letters` and `osc8-underline`
      options (moved to a dedicated `[url]` section in 1.8.0)
    
    Fixed
    -----
    
    * ‘Sticky’ modifiers in input handling; when determining modifier
      state, foot was looking at **depressed** modifiers, not
      **effective** modifiers, like it should.
    * Fix crashes after enabling CSD at runtime when `csd.size` is 0.
    * Convert `\r` to `\n` when reading clipboard data
      (https://codeberg.org/dnkl/foot/issues/752).
    * Clipboard occasionally ceasing to work, until window has been
      re-focused (https://codeberg.org/dnkl/foot/issues/753).
    * Don’t propagate window title updates to the Wayland compositor
      unless the new title is different from the old title.
    
    Contributors
    ------------
    
    * armin
    * Craig Barnes
    * Daniel Martí
    * feeptr
    * Mitja Horvat
    * Ronan Pigott
    * Stanislav Ochotnický
  • 1.9.2
    Release 1.9.2
    
    Changed
    -------
    
    * PGO helper scripts no longer set `LC_CTYPE=en_US.UTF-8`. But, note
      that “full” PGO builds still **require** an UTF-8 locale; you need
      to set one manually in your build script
      (https://codeberg.org/dnkl/foot/issues/728).
  • 1.9.1
    Release 1.9.1
    
    Added
    -----
    
    * Warn when it appears the primary font is not monospaced. Can be
      disabled by setting `[tweak].font-monospace-warn=no`
      (https://codeberg.org/dnkl/foot/issues/704).
    * PGO build scripts, in the `pgo` directory. See INSTALL.md -
      _Performance optimized, PGO_, for details
      (https://codeberg.org/dnkl/foot/issues/701).
    * Braille characters (U+2800 - U+28FF) are now rendered by foot
      itself (https://codeberg.org/dnkl/foot/issues/702).
    * `-e` command-line option. This option is simply ignored, to appease
      program launchers that blindly pass `-e` to any terminal emulator
      (https://codeberg.org/dnkl/foot/issues/184).
    
    Changed
    -------
    
    * `-Ddefault-terminfo` is now also applied to the generated terminfo
      definitions when `-Dterminfo=enabled`.
    * `-Dcustom-terminfo-install-location` no longer accepts `no` as a
      special value, to disable exporting `TERMINFO`. To achieve the same
      result, simply don’t set it at all. If it _is_ set, `TERMINFO` is
      still exported, like before.
    * The default install location for the terminfo definitions have been
      changed back to `${datadir}/terminfo`.
    * `dpi-aware=auto`: fonts are now scaled using the monitor’s DPI only
      when **all** monitors have a scaling factor of one
      (https://codeberg.org/dnkl/foot/issues/714).
    
    Fixed
    -----
    
    * Added workaround for GNOME bug where multiple button press events
      (for the same button) is sent to the CSDs without any release or
      leave events in between (https://codeberg.org/dnkl/foot/issues/709).
    * Line-wise selection not taking soft line-wrapping into account
      (https://codeberg.org/dnkl/foot/issues/726).
    
    Contributors
    ------------
    
    * [craigbarnes](https://codeberg.org/craigbarnes)
    * Arnavion
  • 1.9.0
    Release 1.9.0
    
    Added
    -----
    
    * Window title in the CSDs
      (https://codeberg.org/dnkl/foot/issues/638).
    * `-Ddocs=disabled|enabled|auto` meson command line option.
    * Support for `~`-expansion in the `include` directive
      (https://codeberg.org/dnkl/foot/issues/659).
    * Unicode 13 characters U+1FB3C - U+1FB6F, U+1FB9A and U+1FB9B to list
      of box drawing characters rendered by foot itself (rather than using
      font glyphs) (https://codeberg.org/dnkl/foot/issues/474).
    * `XM`+`xm` to terminfo.
    * Mouse buttons 6/7 (mouse wheel left/right).
    * `url.uri-characters` option to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/654).
    
    Changed
    -------
    
    * Terminfo files can now co-exist with the foot terminfo files from
      ncurses. See `INSTALL.md` for more information
      (https://codeberg.org/dnkl/foot/issues/671).
    * `bold-text-in-bright=palette-based` now only brightens colors from palette
    * Raised grace period between closing the PTY and sending `SIGKILL` (when
      terminating the client application) from 4 to 60 seconds.
    * When terminating the client application, foot now sends `SIGTERM` immediately
      after closing the PTY, instead of waiting 2 seconds.
    * Foot now sends `SIGTERM`/`SIGKILL` to the client application’s process group,
      instead of just to the client application’s process.
    * `kmous` terminfo capability from `\E[M` to `\E[<`.
    * pt-or-px values (`letter-spacing`, etc) and the line thickness
      (`tweak.box-drawing-base-thickness`) in box drawing characters are
      now translated to pixel values using the monitor’s scaling factor
      when `dpi-aware=no`, or `dpi-aware=auto` and the scaling factor is
      larger than 1 (https://codeberg.org/dnkl/foot/issues/680).
    
    Removed
    -------
    
    * `km`/`smm`/`rmm` from terminfo; foot prefixes Alt-key combinations
      with `ESC`, and not by setting the 8:th “meta” bit, regardless of
      `smm`/`rmm`. While this _can_ be disabled by, resetting private mode
      1036, the terminfo should reflect the **default** behavior
      (https://codeberg.org/dnkl/foot/issues/670).
    * Keypad application mode keys from terminfo; enabling the keypad
      application mode is not enough to make foot emit these sequences -
      you also need to disable private mode 1035
      (https://codeberg.org/dnkl/foot/issues/670).
    
    Fixed
    -----
    
    * Rendering into the right margin area with `tweak.overflowing-glyphs`
      enabled.
    * PGO builds with clang (https://codeberg.org/dnkl/foot/issues/642).
    * Crash in scrollback search mode when selection has been canceled due
      to terminal content updates
      (https://codeberg.org/dnkl/foot/issues/644).
    * Foot process not terminating when the Wayland connection is broken
      (https://codeberg.org/dnkl/foot/issues/651).
    * Output scale being zero on compositors that does not advertise a
      scaling factor.
    * Slow-to-terminate client applications causing other footclient instances to
      freeze when closing a footclient window.
    * Underlying cell content showing through in the left-most column of
      sixels.
    * `cursor.blink` not working in GNOME
      (https://codeberg.org/dnkl/foot/issues/686).
    * Blinking cursor stops blinking, or becoming invisible, when
      switching focus from, and then back to a terminal window on GNOME
      (https://codeberg.org/dnkl/foot/issues/686).
    
    Contributors
    ------------
    
    * Nihal Jere
    * [nowrep](https://codeberg.org/nowrep)
    * [clktmr](https://codeberg.org/clktmr)
  • 1.8.2
    Release 1.8.2
    
    Added
    -----
    
    * `locked-title=no|yes` to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/386).
    * `tweak.overflowing-glyphs` option, which can be enabled to fix rendering
      issues with glyphs of any width that appear cut-off
      (https://codeberg.org/dnkl/foot/issues/592).
    
    Changed
    -------
    
    * Non-empty lines are now considered to have a hard linebreak,
      _unless_ an actual word-wrap is inserted.
    * Setting `DECSDM` now _disables_ sixel scrolling, while resetting it
      _enables_ scrolling (https://codeberg.org/dnkl/foot/issues/631).
    
    Removed
    -------
    
    * The `tweak.allow-overflowing-double-width-glyphs` and
      `tweak.pua-double-width` options (which have been superseded by
      `tweak.overflowing-glyphs`).
    
    Fixed
    -----
    
    * FD exhaustion when repeatedly entering/exiting URL mode with many
      URLs.
    * Double free of URL while removing duplicated and/or overlapping URLs
      in URL mode (https://codeberg.org/dnkl/foot/issues/627).
    * Crash when an unclosed OSC-8 URL ran into un-allocated scrollback
      rows.
    * Some box-drawing characters were rendered incorrectly on big-endian
      architectures.
    * Crash when resizing the window to the smallest possible size while
      scrollback search is active.
    * Scrollback indicator being incorrectly rendered when window size is
      very small.
    * Reduced memory usage in URL mode.
    * Crash when the `E3` escape (`\E[3J`) was executed, and there was a
      selection, or sixel image, in the scrollback
      (https://codeberg.org/dnkl/foot/issues/633).
    
    Contributors
    ------------
    
    * [clktmr](https://codeberg.org/clktmr)
  • 1.8.1
    Release 1.8.1
    
    Added
    -----
    
    * `--log-level=none` command-line option.
    * `Tc`, `setrgbf` and `setrgbb` capabilities in `foot` and `foot-direct`
      terminfo entries. This should make 24-bit RGB colors work in tmux and
      neovim, without the need for config hacks or detection heuristics
      (https://codeberg.org/dnkl/foot/issues/615).
    
    Changed
    -------
    
    * Grapheme cluster width is now limited to two cells by default. This
      may cause cursor synchronization issues with many applications. You
      can set `[tweak].grapheme-width-method=wcswidth` to revert to the
      behavior from foot-1.8.0.
    
    Fixed
    -----
    
    * Grapheme cluster state being reset between codepoints.
    * Regression: custom URL key bindings not working
      (https://codeberg.org/dnkl/foot/issues/614).
    
    Contributors
    ------------
    
    * [craigbarnes](https://codeberg.org/craigbarnes)
  • 1.8.0
    Release 1.8.0
    
    Grapheme shaping
    ----------------
    
    This release adds _experimental, opt-in_ support for grapheme cluster
    segmentation and grapheme shaping.
    
    (note: several of the examples below may not render correctly in your
    browser, viewer or editor).
    
    Grapheme cluster segmentation is the art of splitting up text into
    grapheme clusters, where a cluster may consist of more than one
    Unicode codepoint. For example, 🙂 is a single codepoint, while 👩🏽‍🚀
    consists of 4 codepoints (_Woman_ + _Medium skin tone_ + _Zero width
    joiner_ + _Rocket_). The goal is to _cluster_ codepoints belonging to
    the same grapheme in the same cell in the terminal.
    
    Previous versions of foot implemented a simple grapheme cluster
    segmentation technique that **only** handled zero-width
    codepoints. This allowed us to cluster combining characters, like q́
    (_q_ + _COMBINING ACUTE ACCENT_).
    
    Once we have a grapheme cluster, we need to _shape_ it.
    
    Combining characters are simple: they are typically rendered as
    multiple glyphs layered on top of each other. This is why previous
    versions of foot got away with it without any actual text shaping
    support.
    
    Beyond that, support from the font library is needed. Foot now depends
    on fcft-2.4, which added support for grapheme and text shaping. When
    rendering a cell, we ask the font library: give us the glyph(s) for
    this sequence of codepoints.
    
    Fancy emoji sequences aside, using libutf8proc for grapheme cluster
    segmentation means **improved correctness**.
    
    For full support, the following is required:
    
    * fcft compiled with HarfBuzz support
    * foot compiled with libutf8proc support
    * `tweak.grapheme-shaping=yes` in `foot.ini`
    
    If `tweak.grapheme-shaping` has **not** been enabled, foot will
    neither use libutf8proc to do grapheme cluster segmentation, nor will
    it use fcft’s grapheme shaping capabilities to shape combining
    characters.
    
    This feature is _experimental_ mostly due to the “wcwidth” problem;
    how many cells should foot allocate for a grapheme cluster? While the
    answer may seem simple, the problem is that, whatever the answer is,
    the client application **must** come up with the **same**
    answer. Otherwise we get cursor synchronization issues.
    
    In this release, foot simply adds together the `wcwidth()` of all
    codepoints in the grapheme cluster. This is equivalent to running
    `wcswidth()` on the entire cluster. **This is likely to change in the
    future**.
    
    Finally, note that grapheme shaping is not the same thing as text (or
    text run) shaping. In this version, foot only shapes individual
    graphemes, not entire text runs. That means e.g. ligatures are **not**
    supported.
    
    Added
    -----
    
    * Support for DECSET/DECRST 2026, as an alternative to the existing
      "synchronized updates" DCS sequences
      (https://codeberg.org/dnkl/foot/issues/459).
    * `cursor.beam-thickness` option to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/464).
    * `cursor.underline-thickness` option to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/524).
    * Unicode 13 characters U+1FB70 - U+1FB8B to list of box drawing
      characters rendered by foot itself (rather than using font glyphs)
      (https://codeberg.org/dnkl/foot/issues/471).
    * Dedicated `[bell]` section to config, supporting multiple actions
      and a new `command` action to run an arbitrary command.
      (https://codeberg.org/dnkl/foot/pulls/483)
    * Dedicated `[url]` section to config.
    * `[url].protocols` option to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/531).
    * Support for setting the full 256 color palette in foot.ini
      (https://codeberg.org/dnkl/foot/issues/489)
    * XDG activation support, will be used by `[bell].urgent` when
      available (falling back to coloring the window margins red when
      unavailable) (https://codeberg.org/dnkl/foot/issues/487).
    * `ctrl`+`c` as a default key binding; to cancel search/url mode.
    * `${window-title}` to `notify`.
    * Support for including files in `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/555).
    * `ENVIRONMENT` section in **foot**(1) and **footclient**(1) man pages
      (https://codeberg.org/dnkl/foot/issues/556).
    * `tweak.pua-double-width` option to `foot.ini`, letting you force
      _Private Usage Area_ codepoints to be treated as double-width
      characters.
    * OSC 9 desktop notifications (iTerm2 compatible).
    * Support for LS2 and LS3 (locking shift) escape sequences
      (https://codeberg.org/dnkl/foot/issues/581).
    * Support for overriding configuration options on the command line
      (https://codeberg.org/dnkl/foot/issues/554,
      https://codeberg.org/dnkl/foot/issues/600).
    * `underline-offset` option to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/490).
    * `csd.button-color` option to `foot.ini`.
    * `-Dterminfo-install-location=disabled|<custom-path>` meson command
      line option (https://codeberg.org/dnkl/foot/issues/569).
    
    Changed
    -------
    
    * [fcft](https://codeberg.org/dnkl/fcft): required version bumped from
      2.3.x to 2.4.x.
    * `generate-alt-random-writes.py --sixel`: width and height of emitted
      sixels has been adjusted.
    * _Concealed_ text (`\E[8m`) is now revealed when highlighted.
    * The background color of highlighted text is now adjusted, when the
      foreground and background colors are the same, making the
      highlighted text legible
      (https://codeberg.org/dnkl/foot/issues/455).
    * `cursor.style=bar` to `cursor.style=beam`. `bar` remains a
      recognized value, but will eventually be deprecated, and removed.
    * Point values in `line-height`, `letter-spacing`,
      `horizontal-letter-offset` and `vertical-letter-offset` are now
      rounded, not truncated, when translated to pixel values.
    * Foot’s exit code is now -26/230 when foot itself failed to launch
      (due to invalid command line options, client application/shell not
      found etc). Footclient’s exit code is -36/220 when it itself fails
      to launch (e.g. bad command line option) and -26/230 when the foot
      server failed to instantiate a new window
      (https://codeberg.org/dnkl/foot/issues/466).
    * Background alpha no longer applied to palette or RGB colors that
      matches the background color.
    * Improved performance on compositors that does not release shm
      buffers immediately, e.g. KWin
      (https://codeberg.org/dnkl/foot/issues/478).
    * `ctrl + w` (_extend-to-word-boundary_) can now be used across lines
      (https://codeberg.org/dnkl/foot/issues/421).
    * Ignore auto-detected URLs that overlap with OSC-8 URLs.
    * Default value for the `notify` option to use `-a ${app-id} -i
      ${app-id} ...` instead of `-a foot -i foot ...`.
    * `scrollback-*`+`pipe-scrollback` key bindings are now passed through
      to the client application when the alt screen is active
      (https://codeberg.org/dnkl/foot/issues/573).
    * Reverse video (`\E[?5h`) now only swaps the default foreground and
      background colors. Cells with explicit foreground and/or background
      colors remain unchanged.
    * Tabs (`\t`) are now preserved when the window is resized, and when
      copying text (https://codeberg.org/dnkl/foot/issues/508).
    * Writing a sixel on top of another sixel no longer erases the first
      sixel, but the two are instead blended
      (https://codeberg.org/dnkl/foot/issues/562).
    * Running foot without a configuration file is no longer an error; it
      has been demoted to a warning, and is no longer presented as a
      notification in the terminal window, but only logged on stderr.
    
    Deprecated
    ----------
    
    * `bell` option in `foot.ini`; set actions in the `[bell]` section
      instead.
    * `url-launch` option in `foot.ini`; use `launch` in the `[url]`
      section instead.
    * `jump-label-letters` option in `foot.ini`; use `label-letters` in
      the `[url]` section instead.
    * `osc8-underline` option in `foot.ini`; use `osc8-underline` in the
      `[url]` section instead.
    
    Removed
    -------
    
    * Buffer damage quirk for Plasma/KWin.
    
    Fixed
    -----
    
    * `generate-alt-random-writes.py --sixel` sometimes crashing,
      resulting in PGO build failures.
    * Wrong colors in the 256-color cube
      (https://codeberg.org/dnkl/foot/issues/479).
    * Memory leak triggered by “opening” an OSC-8 URI and then resetting
      the terminal without closing the URI
      (https://codeberg.org/dnkl/foot/issues/495).
    * Assertion when emitting a sixel occupying the entire scrollback
      history (https://codeberg.org/dnkl/foot/issues/494).
    * Font underlines being positioned below the cell (and thus being
      invisible) for certain combinations of fonts and font sizes
      (https://codeberg.org/dnkl/foot/issues/503).
    * Sixels with transparent bottom border being resized below the size
      specified in _”Set Raster Attributes”_.
    * Fonts sometimes not being reloaded with the correct scaling factor
      when `dpi-aware=no`, or `dpi-aware=auto` with monitor(s) with a
      scaling factor > 1 (https://codeberg.org/dnkl/foot/issues/509).
    * Crash caused by certain CSI sequences with very large parameter
      values (https://codeberg.org/dnkl/foot/issues/522).
    * Rare occurrences where the window did not close when the shell
      exited. Only seen on FreeBSD
      (https://codeberg.org/dnkl/foot/issues/534)
    * Foot process(es) sometimes remaining, using 100% CPU, when closing
      multiple foot windows at the same time
      (https://codeberg.org/dnkl/foot/issues/542).
    * Regression where `<mod>+shift+tab` always produced `\E[Z` instead of
      the correct `\E[27;<mod>;9~` sequence
      (https://codeberg.org/dnkl/foot/issues/547).
    * Crash when a line wrapping OSC-8 URI crossed the scrollback wrap
      around (https://codeberg.org/dnkl/foot/issues/552).
    * Selection incorrectly wrapping rows ending with an explicit newline
      (https://codeberg.org/dnkl/foot/issues/565).
    * Off-by-one error in markup of auto-detected URLs when the URL ends
      in the right-most column.
    * Multi-column characters being cut in half when resizing the
      alternate screen.
    * Restore `SIGHUP` in spawned processes.
    * Text reflow performance (https://codeberg.org/dnkl/foot/issues/504).
    * IL+DL (`CSI Ps L` + `CSI Ps M`) now moves the cursor to column 0.
    * SS2 and SS3 (single shift) escape sequences behaving like locking
      shifts (https://codeberg.org/dnkl/foot/issues/580).
    * `TEXT`+`STRING`+`UTF8_STRING` mime types not being recognized in
      clipboard offers (https://codeberg.org/dnkl/foot/issues/583).
    * Memory leak caused by custom box drawing glyphs not being completely
      freed when destroying a foot window instance
      (https://codeberg.org/dnkl/foot/issues/586).
    * Crash in scrollback search when current XKB layout is missing
      _compose_ definitions.
    * Window title not being updated while window is hidden
      (https://codeberg.org/dnkl/foot/issues/591).
    * Crash on badly formatted URIs in e.g. OSC-8 URLs.
    * Window being incorrectly resized on CSD/SSD run-time changes.
    
    Contributors
    ------------
    
    * [r\_c\_f](https://codeberg.org/r_c_f)
    * [craigbarnes](https://codeberg.org/craigbarnes)
    
  • 1.7.2
    Release 1.7.2
    
    Added
    -----
    
    * URxvt OSC-11 extension to set background alpha
      (https://codeberg.org/dnkl/foot/issues/436).
    * OSC 17/117/19/119 - change/reset selection background/foreground
      color.
    * `box-drawings-uses-font-glyphs=yes|no` option to `foot.ini`
      (https://codeberg.org/dnkl/foot/issues/430).
    
    Changed
    -------
    
    * Underline cursor is now rendered below text underline
      (https://codeberg.org/dnkl/foot/issues/415).
    * Foot now tries much harder to keep URL jump labels inside the window
      geometry (https://codeberg.org/dnkl/foot/issues/443).
    * `bold-text-in-bright` may now be set to `palette-based`, in which
      case it will use the corresponding bright palette color when the
      color to brighten matches one of the base 8 colors, instead of
      increasing the luminance
      (https://codeberg.org/dnkl/foot/issues/449).
    
    Fixed
    -----
    
    * Reverted _"Consumed modifiers are no longer sent to the client
      application"_ (https://codeberg.org/dnkl/foot/issues/425).
    * Crash caused by a double free originating in `XTSMGRAPHICS` - set
      number of color registers
      (https://codeberg.org/dnkl/foot/issues/427).
    * Wrong action referenced in error message for key binding collisions
      (https://codeberg.org/dnkl/foot/issues/432).
    * OSC 4/104 out-of-bounds accesses to the color table. This was the
      reason pywal turned foot windows transparent
      (https://codeberg.org/dnkl/foot/issues/434).
    * PTY not being drained when the client application terminates.
    * `auto_left_margin` not being limited to `cub1`
      (https://codeberg.org/dnkl/foot/issues/441).
    
    Contributors
    ------------
    
    * [cglogic](https://codeberg.org/cglogic)
  • 1.7.1
    Release 1.7.1
    
    Changed
    -------
    
    * Update PGO build instructions in `INSTALL.md`
      (https://codeberg.org/dnkl/foot/issues/418).
    * In scrollback search mode, empty cells can now be matched by spaces.
    
    Fixed
    -----
    
    * Logic that repairs invalid key bindings ended up breaking valid key
      bindings instead (https://codeberg.org/dnkl/foot/issues/407).
    * Custom `line-height` settings now scale when increasing or
      decreasing the font size at run-time.
    * Newlines sometimes incorrectly inserted into copied text
      (https://codeberg.org/dnkl/foot/issues/410).
    * Crash when compositor send `text-input-v3::enter` events without
      first having sent a `keyboard::enter` event
      (https://codeberg.org/dnkl/foot/issues/411).
    * Deadlock when rendering sixel images.
    * URL labels, scrollback search box or scrollback position indicator
      sometimes not showing up, caused by invalidly sized surface buffers
      when output scaling was enabled
      (https://codeberg.org/dnkl/foot/issues/409).
    * Empty sixels resulted in non-empty images.
  • 1.7.0
    be6f7ff9 · changelog: 1.7.0 ·
    Release 1.7.0
    
    Added
    -----
    
    * The `pad` option now accepts an optional third argument, `center`
      (e.g. `pad=5x5 center`), causing the grid to be centered in the
      window, with equal amount of padding of the left/right and
      top/bottom side (https://codeberg.org/dnkl/foot/issues/273).
    * `line-height`, `letter-spacing`, `horizontal-letter-offset` and
      `vertical-letter-offset` to `foot.ini`. These options let you tweak
      cell size and glyph positioning
      (https://codeberg.org/dnkl/foot/issues/244).
    * Key/mouse binding `select-extend-character-wise`, which forces the
      selection mode to 'character-wise' when extending a selection.
    * `DECSET` `47`, `1047` and `1048`.
    * URL detection and OSC-8 support. URLs are highlighted and activated
      using the keyboard (**no** mouse support). See **foot**(1)::URLs, or
      [README.md](README.md#urls) for details
      (https://codeberg.org/dnkl/foot/issues/14).
    * `-d,--log-level={info|warning|error}` to both `foot` and
      `footclient` (https://codeberg.org/dnkl/foot/issues/337).
    * `-D,--working-directory=DIR` to both `foot` and `footclient`
      (https://codeberg.org/dnkl/foot/issues/347)
    * `DECSET 80` - sixel scrolling
      (https://codeberg.org/dnkl/foot/issues/361).
    * `DECSET 1070` - sixel private color palette
      (https://codeberg.org/dnkl/foot/issues/362).
    * `DECSET 8452` - position cursor to the right of sixels
      (https://codeberg.org/dnkl/foot/issues/363).
    * Man page **foot-ctlseqs**(7), documenting all supported escape
      sequences (https://codeberg.org/dnkl/foot/issues/235).
    * Support for transparent sixels (DCS parameter `P2=1`)
      (https://codeberg.org/dnkl/foot/issues/391).
    * `-N,--no-wait` to `footclient`
      (https://codeberg.org/dnkl/foot/issues/395).
    * Completions for Bash shell
      (https://codeberg.org/dnkl/foot/issues/10).
    
    Changed
    -------
    
    * The fcft and tllist library subprojects are now handled via Meson
      [wrap files](https://mesonbuild.com/Wrap-dependency-system-manual.html)
      instead of needing to be manually cloned.
    * Box drawing characters are now rendered by foot, instead of using
      font glyphs (https://codeberg.org/dnkl/foot/issues/198)
    * Double- or triple clicking then dragging now extends the selection
      word- or line-wise (https://codeberg.org/dnkl/foot/issues/267).
    * The line thickness of box drawing characters now depend on the font
      size (https://codeberg.org/dnkl/foot/issues/281).
    * Extending a word/line-wise selection now uses the original selection
      mode instead of switching to character-wise.
    * While doing an interactive resize of a foot window, foot now
      requires 100ms of idle time (where the window size does not change)
      before sending the new dimensions to the client application. The
      timing can be tweaked, or completely disabled, by setting
      `resize-delay-ms` (https://codeberg.org/dnkl/foot/issues/301).
    * `CSI 13 ; 2 t` now reports (0,0).
    * Key binding matching logic; key combinations like `Control+Shift+C`
      **must** now be written as either `Control+C` or `Control+Shift+c`,
      the latter being the preferred
      variant. (https://codeberg.org/dnkl/foot/issues/376)
    * Consumed modifiers are no longer sent to the client application
      (https://codeberg.org/dnkl/foot/issues/376).
    * The minimum version requirement for the libxkbcommon dependency is
      now 1.0.0.
    * Empty pixel rows at the bottom of a sixel is now trimmed.
    * Sixels with DCS parameter `P2=0|2` now use the _current_ ANSI
      background color for empty pixels instead of the default background
      color (https://codeberg.org/dnkl/foot/issues/391).
    * Sixel decoding optimized; up to 100% faster in some cases.
    * Reported sixel “max geometry” from current window size, to the
      configured maximum size (defaulting to 10000x10000).
    
    Removed
    -------
    
    * The `-g,--geometry` command-line option (which had been deprecated
      and superseded by `-w,--window-size-pixels` since 1.5.0).
    
    Fixed
    -----
    
    * Some mouse bindings (_primary paste_, for example) did not require
      `shift` to be pressed while used in a mouse grabbing
      application. This meant the mouse event was never seen by the
      application.
    * Terminals spawned with `ctrl`+`shift`+`n` not terminating when
      exiting shell (https://codeberg.org/dnkl/foot/issues/366).
    * Default value of `-t,--term` in `--help` output when foot was built
      without terminfo support.
    * Drain PTY when the client application terminates.
    
    Contributors
    ------------
    
    * [craigbarnes](https://codeberg.org/craigbarnes)
    * toast
    * [l3mon4d3](https://codeberg.org/l3mon4d3)
    * [Simon Schricker](mailto:s.schricker@sillage.at)
  • 1.6.4
    Release 1.6.4
    
    Added
    -----
    
    * `selection-target=none|primary|clipboard|both` to `foot.ini`. It can
      be used to configure which clipboard(s) selected text should be
      copied to. The default is `primary`, which corresponds to the
      behavior in older foot releases
      (https://codeberg.org/dnkl/foot/issues/288).
    
    Changed
    -------
    
    * The IME state no longer stays stuck in the terminal if the IME goes
      away during preedit.
    * `-Dterminfo` changed from a `boolean` to a `feature` option.
    * Use standard signals instead of a signalfd to handle
      `SIGCHLD`. Fixes an issue on FreeBSD where foot did not detect when
      the client application had terminated.
    
    Fixed
    -----
    
    * `BS`, `HT` and `DEL` from being stripped in bracketed paste mode.
    
    Contributors
    ------------
    
    * [tdeo](https://codeberg.org/tdeo)
    * jbeich
  • 1.6.3
    Release 1.6.3
    
    Added
    -----
    
    * Completions for fish shell
      (https://codeberg.org/dnkl/foot/issues/11)
    * FreeBSD support (https://codeberg.org/dnkl/foot/issues/238).
    * IME popup location support: foot now sends the location of the cursor
      so any popup can be displayed near the text that is being typed.
    
    Changed
    -------
    
    * Trailing comments in `foot.ini` must now be preceded by a space or tab
      (https://codeberg.org/dnkl/foot/issues/270)
    * The scrollback search box no longer accepts non-printable characters.
    * Non-formatting C0 control characters, `BS`, `HT` and `DEL` are now
      stripped from pasted text.
    
    Fixed
    -----
    
    * Exit when the client application terminates, not when the TTY file
      descriptor is closed.
    * Crash on compositors not implementing the _text input_ interface
      (https://codeberg.org/dnkl/foot/issues/259).
    * Erased, overflowing glyphs (when
      `tweak.allow-overflowing-double-width-glyphs=yes` - the default) not
      properly erasing the cell overflowed **into**.
    * `word-delimiters` option ignores `#` and subsequent characters
      (https://codeberg.org/dnkl/foot/issues/270)
    * Combining characters not being rendered when composed with colored
      bitmap glyphs (i.e. colored emojis).
    * Pasting URIs from the clipboard when the source has not
      newline-terminated the last URI
      (https://codeberg.org/dnkl/foot/issues/291).
    * Sixel “current geometry” query response not being bounded by the
      current window dimensions (fixes `lsix` output)
    * Crash on keyboard input when repeat rate was zero (i.e. no repeat).
    * Wrong button encoding of mouse buttons 6 and 7 in mouse events.
    * Scrollback search not matching composed characters.
    * High CPU usage when holding down e.g. arrow keys while in scrollback
      search mode.
    * Rendering of composed characters in the scrollback search box.
    * IME pre-edit cursor when positioned at the end of the pre-edit
      string.
    * Scrollback search not matching multi-column characters.
    
    Contributors
    ------------
    
    * [birger](https://codeberg.org/birger)
    * [pc](https://codeberg.org/pc)
    * [FollieHiyuki](https://codeberg.org/FollieHiyuki)
    * jbeich
    * [tdeo](https://codeberg.org/tdeo)