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