--- /dev/null
+
+ ┌────────────────────────────┐
+ │ Release notes for i3 v4.12 │
+ └────────────────────────────┘
+
+This is i3 v4.12. This version is considered stable. All users of i3 are
+strongly encouraged to upgrade.
+
+If cairo ≥ 1.14.4 is available, i3 and i3bar will use cairo for rendering
+(instead of raw X11 drawing primitives). While this is currently optional,
+having cairo ≥ 1.14.4 will be a hard requirement in future release.
+
+This release contains a good number of detail improvements and fixes.
+
+ ┌────────────────────────────┐
+ │ Changes in i3 v4.12 │
+ └────────────────────────────┘
+
+ • use https instead of git/http, update contact information, add GPG key
+ • docs/hacking-howto: fix old cfgparse.y reference to config_parser.c
+ • docs/ipc: added link to i3ipcpp (C++ library)
+ • docs/userguide: clarify no_focus documentation
+ • docs/userguide: add documentation for binding modes
+ • docs/userguide: fix rendering of __focused__
+ • docs/userguide: improve placement of explicit IDs for headings
+ • docs/userguide: make rendering of key bindings more consistent
+ • docs/userguide: clarify quoting of “exec” commands
+ • man/i3-nagbar: fix example invocation
+ • man/i3: add “floating window” to terminology
+ • i3-sensible-*: quote variables correctly
+ • i3-sensible-editor: add neovim
+ • i3-sensible-terminal: add termit, st
+ • i3bar: use cairo for all drawing operations
+ • i3bar: support per-statusblock border and background colors
+ • i3bar: support different bar background colors depending on whether the bar
+ is on the focused output or not
+ • i3bar: multiple tray_output directives on the same bar are now supported
+ • i3bar: support disabling the modifier by specifying “modifier none”
+ • use cairo for all drawing operations
+ • fix a number of memory leaks, thanks to AddressSanitizer
+ • no_focus is now suppressed for the first window of a workspace
+ • “workspace next/prev” now looks for numbered workspaces after reaching the
+ last workspace (it used to incorrectly only look at named workspaces)
+ • multiple marks can now be set on a single window (but a mark can still only
+ be present on one window at a time)
+ • the “unmark” command now supports criteria
+ • the “con_id” criterion now supports the special value __focused__
+ • the “workspace” command now supports the --no-auto-back-and-forth parameter
+ • the “move window to workspace” command now supports the
+ --no-auto-back-and-forth parameter
+ • the “resize grow|shrink width|height” command now works for a nested split
+ in the same direction
+ • support _NET_WM_USER_TIME’s special 0 value, indicating that a window
+ should not be focused
+ • use 32-bit visual by default if available. This reduces graphical glitches
+ when using transparency (which is still not officially supported)
+ • the “move position center” command now supports criteria
+ • specifying invalid match criteria now results in an error instead of
+ blindly applying the operation to the currently focused window
+ • allow mouse bindings to run on the root window
+ • support matching _NET_WM_WINDOW_TYPE_NOTIFICATION in criteria
+ • all criteria are now matched, even when con_id or con_mark are given (used
+ to be a special case)
+ • allow the “id” criterion to be specified in any base recognized by
+ strtol(), not only base 10
+ • non-true color displays are now supported again (e.g. the Raspberry Pi)
+ • the “split” command now has a “toggle” option
+ • the additional color class “decoration_border” was added
+ • title_format is now stored on containers instead of windows, allowing the
+ use of title_format on split containers
+ • On OpenBSD, i3 now uses pledge(2)
+ • support _NET_WM_DESKTOP (for pager applications like gnome-panel)
+ • floating workspaces are no longer available (they were not supported for a
+ while now)
+ • floating windows now carry the I3_FLOATING_WINDOW atom so that tools like
+ compositors can be configured to match on floating windows
+
+ ┌────────────────────────────┐
+ │ Bugfixes │
+ └────────────────────────────┘
+
+ • i3bar: display short text only on the monitor(s) on which it is necessary
+ • i3bar: explicitly set cursor using libxcb-cursor if available
+ • i3bar: fix XEMBED messages
+ • i3-nagbar: explicitly set cursor using libxcb-cursor if available
+ • duplicated keybindings are now also detected when one uses bindcode but the
+ other(s) use(s) bindsym
+ • keymap fallback for servers without XKB (e.g. TightVNC) has been added
+ • using pango markup in mode names is now optional, fixing a regression in i3
+ v4.11 where modes which contained characters such as “<” would break.
+ • moving windows to a workspace by specifying a mark now works
+ • the root output is now used when any RandR request fails (for x2go)
+ • assignments are now marked as run before executing them, preventing endless
+ loops/crashes when assignments cause another assignment evaluation
+ • splitting/floating a dock container no longer crashes i3
+ • correctly compare modifier mask when identifying keybindings (fixes
+ bindings which use --release)
+ • no longer fail config validation when there is no newline at the end of
+ the config file
+ • scrollwheel buttons are now only grabbed when necessary, allowing the use
+ of “bindsym button*” or scrolling in windows without focusing them (in case
+ no “bindsym button*” is present)
+ • parse con_id in base 16 (affected FreeBSD only)
+ • fix crash when opening a large number of windows
+ • reject empty swallow definitions to avoid crashes
+ • don’t remove SubstructureRedirect event mask temporarily (fixes i3bar
+ stopping after system suspend)
+ • move urgent flag before killing the parent to avoid a crash
+ • correctly validate “kill” command to avoid crashing when “kill” is invoked
+ on workspace containers
+ • actually accept the documented “workspace” token as an alternative to “→”
+ in assign statements
+ • remove _NET_WM_STATE on withdrawn windows to comply with the spec
+ • the “border” command now uses logical pixels (relevant for hi-dpi displays)
+ • “tray_output primary” does not properly fall back and hence was removed
+ from the default config again
+ • correctly determine focused workspace when moving workspace to output
+ • revert to default binding mode before reloading the config file
+ • correctly interpret _MOTIF_WM_HINTS (endianness-dependent)
+
+ ┌────────────────────────────┐
+ │ Thanks! │
+ └────────────────────────────┘
+
+Thanks for testing, bugfixes, discussions and everything I forgot go out to:
+
+ Adaephon, Airblader, Alexis211, bendem, botovq, brianmillar, DavidMikeSimon,
+ dcoppa, Florian Merkel, fmthoma, frederik, hwangcc23, jolange, Juuso
+ Lapinlampi, kneitinger, lotheac, nicklan, norrland, pra85, romanblanco,
+ sur5r, tbu-, tyll, wodny
+
+-- Michael Stapelberg, 2016-03-06