--- /dev/null
+
+ ┌──────────────────────────────┐
+ │ Release notes for i3 v4.3 │
+ └──────────────────────────────┘
+
+This is the third release of the new major version of i3, v4.3. It is
+considered stable. All users of i3 are strongly encouraged to upgrade.
+
+One of the most visible changes is probably that commands which lead to an
+ error will now spawn i3-nagbar. This will make you immediately aware of
+ problems such as typos in your configuration file (such as "bindsym $mod+x exc
+ firefox" instead of "exec"). This is not restricted to parser errors, but all
+ errors (such as when trying to move a window to another workspace without
+ actually having a window focused). If this is annoying to you for some specific
+ key configuration, you can turn it off by replacing a binding like:
+ bindsym $mod+x move absolute position center
+ with something like this:
+ bindsym $mod+x exec --no-startup-id i3-msg move absolute position center >/dev/null 2>&1
+ (Yes, this is somewhat painful, but intended. You should not suppress errors in
+ general, so we don’t want to make it too easy.)
+
+
+We also made the orientation (horizontal/vertical) part of the layout
+ mechanism: Before, we got the default layout and you could change
+ orientation. Now, there are two new layouts "splitv" and "splith", which
+ replace the default layout. The "split h" and "split v" commands continue to
+ work as before, they split the current container and you will end up in a
+ split container with layout splith (after "split h") or splitv (after "split
+ v").
+
+ To change a splith container into a splitv container, use either "layout
+ splitv" or "layout toggle split". The latter command is used in the
+ default config as mod+l (previously "layout default"). In case you have
+ "layout default" in your config file, it is recommended to just replace
+ it by "layout toggle split", which will work as "layout default" did
+ before when pressing it once, but toggle between horizontal/vertical
+ when pressing it repeatedly.
+
+ The rationale behind this commit is that it’s cleaner to have all
+ parameters that influence how windows are rendered in the layout itself
+ rather than having a special parameter in combination with only one
+ layout. This enables us to change existing split containers in all cases
+ without breaking existing features (see ticket #464). Also, users should
+ feel more confident about whether they are actually splitting or just
+ changing an existing split container now.
+
+ As a nice side-effect, this commit brings back the "layout toggle"
+ feature we once had in i3 version 3 (see the userguide).
+
+
+Another very important change is that we now support pango for rendering text.
+ The default is still to use misc-fixed (X core fonts), but you can use a font
+ specification starting with "xft:" now, such as "xft:DejaVu Sans Mono 10" and
+ i3 will use pango. The sole motivation for this is NOT to have fancier window
+ decorations, but to support fonts which have more glyphs (think Japanese for
+ example) and to support right-to-left rendering (open http://www.ftpal.net/
+ for an example). Supporting users from all over the planet is important, and
+ as such I would strongly advise distribution packagers to leave pango support
+ in. In case you are working on a very low-spec embedded device, it is easy
+ enough to disable pango support, see common.mk.
+
+ ┌────────────────────────────┐
+ │ Changes in v4.3 │
+ └────────────────────────────┘
+
+ • docs/refcard: update for v4
+ • docs/userguide: clarify the default for focus_follows_mouse and new_window
+ • docs/userguide: add section about implicit containers
+ • docs/ipc: document the 'window' field in the GET_TREE reply
+ • docs/ipc: update links to ipc libraries
+ • docs/ipc: make the reply sections consistent
+ • docs/i3bar-protocol: add example (illustration-only!) shell script
+ • man/i3bar.man: reference i3bar-protocol
+ • IPC: Commands now lead to proper error messages in general. If we forgot
+ about a specific one, please open a ticket.
+ • IPC: implement GET_VERSION to find out the i3 version
+ • i3-dump-log now comes with a massively more helpful error message that
+ should cover all the use cases.
+ • 'workspace number <number>' now opens a new workspace
+ • 'workspace number <number>' now works with the back_and_forth option
+ • Allow focus with target (criteria) when in fullscreen mode in some cases
+ • Allow focus child/parent when in fullscreen mode
+ • Restrict directional focus when in fullscreen mode
+ • Prevent moving out of fullscreen containers
+ • Add 'move to workspace current' (useful when used with criteria)
+ • replace loglevels by a global debug logging
+ • make: new makefile layout
+ • make: canonicalize path when compiling. This leads to sth like
+ ../i3-4.2/src/main.c in backtraces, clearly identifying i3 code.
+ • automatically hide i3bar when it’s unneeded (after urgency hints)
+ • i3-config-wizard: use the level 0 keysym whenever it’s unambiguous
+ • i3-nagbar: use custom scripts to work around different terminal emulators
+ using different ways of interpreting the arguments to -e
+ • i3-sensible-terminal: add xfce4-terminal
+ • default config: require confirmation when exiting i3
+ • Display i3-nagbar when a command leads to an error.
+ • testcases: complete-run now supports --xtrace
+ • testcases: handle EAGAIN (fixes hangs)
+ • testcases: handle test bailouts
+ • Introduce splith/splitv layouts, remove orientation
+ • Implement hide_edge_borders option
+ • Support _NET_ACTIVE_WINDOW ClientMessages
+ • Set I3_PID atom on the X11 root window
+ • Implement i3 --moreversion, handy for figuring out whether you run the
+ latest binary which is installed.
+ • i3bar: be less strict about the {"version":1} JSON header
+ • shm-logging: implement i3-dump-log -f (follow)
+ • Implement pango support
+
+ ┌────────────────────────────┐
+ │ Bugfixes │
+ └────────────────────────────┘
+
+ • Fix floating precision bug when floating windows are moved between outputs.
+ • i3bar won’t crash when full_text is missing or null in the JSON input
+ • When having "workspace number 1" in your config, there will no longer be a
+ stray workspace "number 1".
+ • i3.config.keycodes used bindsym instead of bindcode for the arrow key
+ resizing bindings by mistake
+ • Fix 'move to workspace' when used with criteria
+ • Handle clicks to the very left edge of i3bar
+ • When using i3 -C, don’t send remaining arguments as an IPC command
+ • Fix reload crashes in rare cases
+ • i3bar: inform all clients of new tray selection owner (fixes tray problems
+ with X-Chat and possibly others)
+ • resizing: traverse containers up properly (fixes non-working resizing when
+ having a h-split within a h-split for example)
+ • Fix floating coordinates when moving assigned workspaces
+ • Properly fix floating coordinates when disabling outputs
+ • floating_fix_coordinates: properly deal with negative positions
+ • floating windows: add deco_height only when in normal border mode (fixes
+ initial floating window position/size when using a different default border
+ setting).
+ • Fix moving scratchpad window
+ • Cleanup zero-byte logfile on immediate exit (they are created by i3
+ --get-socketpath for example).
+
+ ┌────────────────────────────┐
+ │ Thanks! │
+ └────────────────────────────┘
+
+Thanks for testing, bugfixes, discussions and everything I forgot go out to:
+
+ aksr, Axel Wagner, darkraven, David Coppa, eeemsi, Felicitus, Fernando Tarlá
+ Cardoso Lemos, Iakov Davydov, jh, Julius Plenz, Marcel Hellwig, Marcus,
+ Michael Stapelberg, mloskot, Moritz Bandemer, oblique, Ondrej Grover, Pavel
+ Löbl, Philipp Middendorf, prg, Quentin Glidic, somelauw, stfn, tucos,
+ TunnelWicht, Valentin Haenel
+
+-- Michael Stapelberg, 2012-08-18