--- /dev/null
+
+ ┌──────────────────────────────┐
+ │ Release notes for i3 v4.9 │
+ └──────────────────────────────┘
+
+This is i3 v4.9. This version is considered stable. All users of i3 are
+strongly encouraged to upgrade.
+
+Notable new features include mouse button bindings and improved EWMH
+compatibility, meaning more external pager programs work with i3 now.
+
+Aside from that, this release contains plenty of bugfixes and little
+enhancements.
+
+The new dependency on libxkbcommon ≥ 0.4.0 is notable for distribution
+packages. This dependency allowed us to drop our last direct dependency
+on Xlib :).
+
+It’s also worth mentioning that all i3 repositories are now on GitHub, see
+http://thread.gmane.org/gmane.comp.window-managers.i3.general/1666 for the
+announcement.
+
+ ┌────────────────────────────┐
+ │ Changes in v4.9 │
+ └────────────────────────────┘
+
+ • docs/ipc: use an actual event type
+ • docs/debugging: use logs.i3wm.org
+ • docs/testsuite: add hint to use xvfb-run
+ • testcases: use Xephyr instead of XDummy
+ • i3-sensible-*: use command -v (built-in) instead of which(1)
+ • i3.xsession.desktop: set DesktopNames (which gdm uses)
+ • i3-save-tree: interpret commandline parameters as utf-8
+ • i3-save-tree: add 'mark' as allowed key to i3-save-tree output
+ • i3bar-protocol: ensure align = left is the default
+ • i3bar: implement custom mouse wheel commands
+ • i3bar: improve error message when a full_text property is missing
+ • i3bar: respect the urgency flag on status blocks
+ • i3bar: inset the urgent background of a status block for consistency with
+ workspace buttons
+ • i3bar: suspend the child when bars are fully obscured
+ • i3bar: use Pango markup
+ • ipc: implement the window::close event
+ • ipc: implement the window::move event
+ • ipc: implement the window::floating event
+ • ipc: implement the window::urgent event
+ • ipc: set ws reply "num" member to -1 when named
+ • ipc: add deco_rect property to con in ipc response
+ • ipc: include workspace con in workspace event
+ • ewmh: implement property _NET_NUMBER_OF_DESKTOPS
+ • ewmh: implement property _NET_DESKTOP_VIEWPORT
+ • ewmh: implement property _NET_DESKTOP_NAMES
+ • ewmh: handle _NET_CURRENT_DESKTOP requests
+ • ewmh: handle _NET_CLOSE_WINDOW requests
+ • ewmh: handle _NET_WM_MOVERESIZE requests
+ • implement mouse bindings (e.g. bindsym button3 kill)
+ • add mouse binding --whole-window flag
+ • add mouse binding --release flag
+ • switch to xcb-xkb and libxkbcommon, removing our last direct Xlib dep
+ • make “move [direction]” work with criteria
+ • make “move <window|container> to <absolute> position” work with criteria
+ • “workspace <n>” and “move to workspace <n>” now look for a workspace
+ starting with number <n> (unless there is a workspace exactly matching that
+ number). I.e., “workspace 4” will go to a workspace called “4: www” unless
+ you have a workspace “4”
+ • “focus <direction>” now focuses floating containers when there are no
+ tiling containers on the destination output
+ • take the motif border into account when calculating floating window
+ geometry
+ • revert “Disable pointer warps when focus_follows_mouse is disabled” as it
+ was unexpected by a number of users. Sorry for the back-and-forth
+ • handle WM_CLASS changes
+ • raise floating windows on “focus <direction>”
+ • align lower line of bar decoration to border width
+ • parse tray_output as a word, not string
+ • allow to validate the config file without X
+ • do not resend focus on click, fixes compatibility problems with some wine
+ or mono apps (e.g. Office 2010)
+ • don't draw borders wider than actual width
+ • prevent workspace change during global fullscreen
+ • extend the fullscreen command (fullscreen <enable|toggle|disable> [global])
+ • fix start_application() doc about which shell is used
+
+ ┌────────────────────────────┐
+ │ Bugfixes │
+ └────────────────────────────┘
+
+ • i3-dmenu-desktop: quote path
+ • i3bar: fix a double free when changing color configuration
+ • i3bar: render bars after the first chunk of JSON
+ • i3bar: add a sync call to confirm reparents before exiting (fixes tray
+ restart issues)
+ • i3bar: correctly calculate clicks on i3bar status blocks
+ • i3bar: make click events on status blocks work with 'workspace_buttons no'
+ • retina support: convert logical to physical pixels for default_border_width
+ • retina support: treat everything up to 120 dpi as 96 dpi
+ • don’t set input focus if not accepted (fixes problems with xfce4-notifyd)
+ • don’t focus unmapped container on manage
+ • create the directory for storing the restart state
+ • avoid changing border width when changing containers from tiling to
+ floating
+ • layout saving: properly restore workspace containers
+ • rerender the decoration when the container requires a pixmap and doesn’t
+ have one
+ • don’t set focus in con_set_layout() on invisible workspaces
+ • properly handle windows unsetting WM_TRANSIENT_FOR
+ • use the command parser to properly extract workspace names
+ • copy binding before run (fixes reloads)
+ • revert "Bugfix: Set input focus with last timestamp"
+ • render floating windows during global fullscreen
+ • actually parse client.placeholder
+
+ ┌────────────────────────────┐
+ │ Thanks! │
+ └────────────────────────────┘
+
+Thanks for testing, bugfixes, discussions and everything I forgot go out to:
+
+ Alexander Monakov, aszlig, cornerman, dmurph, Mats, dsargrad, hercek, hjem,
+ Ingo, Ingo Bürk, Janus, javier, jefvel, Lukas K, Marein Konings, Mats,
+ Michael Stapelberg, Mii, nikolaus, okraits, Peter, smlb, sur5r, Tony Crisci,
+ val, vals, xeen, Yves-Alexis
+
+-- Michael Stapelberg, 2015-02-28