release i3 v4.9

next
Michael Stapelberg 2015-02-28 14:36:22 +01:00
parent d5ec59e5c1
commit 55ba1c5e56
3 changed files with 125 additions and 139 deletions

View File

@ -1,138 +0,0 @@
┌──────────────────────────────┐
│ Release notes for i3 v4.8 │
└──────────────────────────────┘
This is i3 v4.8. This version is considered stable. All users of i3 are
strongly encouraged to upgrade.
The biggest new feature certainly is layout saving/restoring. See
http://i3wm.org/docs/layout-saving.html for more details. tl;dr: export your
current layout as JSON file, load it into new i3 sessions, get placeholder
windows that will be replaced by the actual apps once you start them.
Also very important for owners of HiDPI/“retina” displays is that i3 will now
respect your configured DPI and scale up its UI elements accordingly. Use
“xrandr --dpi 184” to set your dpi to 184, in case your setup does not figure
it out automatically. To get properly scaling fonts, we also changed the
default font from a bitmap font to a pango font (“DejaVu Sans Mono 8”).
Multiple changes improve the compatibility of i3 with other software, e.g.
java-based software (focus handling, once again) or external pagers (we now
provide _NET_CLIENT_LIST and let pager applications change workspaces).
For packagers, another change is that yajl ≥ 2.0 is now required for compiling
i3. This should not be a problem for anyone, as that version is pretty old by
now.
For contributors, note that we have starting formatting the source code with
clang-format-3.5. This means that there will no longer be a need to argue about
coding style when discussing patches :).
┌────────────────────────────┐
│ Changes in v4.8 │
└────────────────────────────┘
• docs/ipc: reformat/update list of ipc libraries
• docs/ipc: fix current_workspace outputs reply member
• docs/ipc: update ipc COMMAND reply docs
• docs/userguide: fix multiple typos
• docs/debugging: use bzip2
• docs/debugging: explain how to enable logging on the fly
• docs/debugging: merge the debug symbols/backtrace section
• docs/debugging: recommend i3 --moreversion
• man/i3-nagbar.man: update manpage to document all options
• i3bar: Amend status line error 127 message
• i3bar: dont kill watcher on EOF, leads to better error messages
• i3bar: send mouse wheel events to child too
• i3bar: do click handling and tray padding retina-correctly
• i3bar: render separators render-correctly
• i3bar: reinit colors on barconfig update
• i3bar: Don't start child unless status_command
• i3bar: implement custom workspace numbers config
• resize floating windows when right-clicking the decoration
• enable shmlog when invoked as i3-with-shmlog
• Disable pointer warps when focus_follows_mouse is disabled
• Movement into a branch considers movement direction
• set ewmh desktop properties on startup
• handle ButtonPress events with child != XCB_NONE
• implement layout restoring
• only LOG() the DPI when it changes, DLOG() it otherwise
• send IPC window events for focus and title changes
• these types of windows are now floating by default:
dialog, utility, toolbar and splash windows, modal windows, windows with an
equal minimum and maximum size
• send last event timestamp with WM_TAKE_FOCUS message
• maintain the _NET_CLIENT_LIST property
• dont set input focus _and_ send WM_TAKE_FOCUS
• respect CFLAGS in linking command
• fix parallel make
• reset SIGPIPE handler before executing a command
• render default window border width retina-correctly
• draw workspace buttons and padded text blocks retina-correctly
• render resize windows retina-correctly
• delegate click handling to dock clients
• send complete config on barconfig_update
• implement the window::fullscreen_mode ipc event
• make all workspaces starting with "__" internal
• improve error messages for i3-internal workspace names
• allow _NET_ACTIVE_WINDOW requests to switch workspaces if they indicate
that they are a pager (following the spec)
• workspace assignments by number
• add configuration option for disabling mouse warping
• set _NET_ACTIVE_WINDOW to None when none has focus
• set X-LightDM-DesktopName in i3.xsession.desktop to fix autostart on Ubuntu
• dont ELOG ipc EOF
• replace all printf()s with D?LOG
• delete ipc socket when exiting, cleanup tmpdir
• default config: switch to DejaVu Sans Mono 8 as default font
• cleanup tmpdir when restarting and not using XDG_RUNTIME_DIR
• Snap pointer to resize bar on drag resize
• Size resizebar according to container size
• Fix clang -Wextra except -Wunused-parameter
• Respect Motif hint for window decorations
┌────────────────────────────┐
│ Bugfixes │
└────────────────────────────┘
• create con pixmaps when not needed
• i3bar: fix resource leak: statusline_ctx needs to be freed first
• tree_split should not split floating cons
• fix memory leak with ipc_receive_message
• fix invalid reads by setting con->window to NULL in tree_close
• fix memory leak when closing windows
• fix memory leak when matching window by criteria
• fix memory leak when matching window by con_id
• ignore dock clients in the resize command
• clear wm_size_hints if they are not set
• resize window check should check for NULL
• fix window event crash with no window
• i3-dmenu-desktop: also quote the %c field code
• new_window and new_float can now be used simultaneously with different
border widths
• fix crash when using multiple for_window statements that move windows
• Set input focus with last timestamp
• handle windows whose WM_TRANSIENT_FOR points to themselve
• dont overwrite the original size of floating windows when changing border
• dont errnously render floating fullscreen windows during restart
• ensure floating windows dont drop out of fullscreen when restarting
• dont overwrite the windows geometry after restartingnext
• i3bar: Set `mapped` flag on trayclient creation
• i3bar: don't show "EOF" status line error
┌────────────────────────────┐
│ Thanks! │
└────────────────────────────┘
Thanks for testing, bugfixes, discussions and everything I forgot go out to:
Aleksi Blinnikka, Alexander Berntsen, Alexander Kedrik, Antonio, Arun
Persaud, Atte Peltomaki, bo, Campbell Barton, chris, David Coppa, eeemsi,
Holger Langenau, Jean-Philippe Ouellet, Jens, jeroentbt, Jonas Maaskola,
Julian Ospald, Kernc, Koston, lasers, lkraav, Marcin, Marco Hunsicker,
Marcus Crestani, Matthias Thubauville, Maxime, Michael Stapelberg, Peter
Boström, Petr Písař, Quentin Glidic, Steve Jones, TonyC, Tony Crisci,
Vivien Didelot, Wieland Hoffmann, x33a, xeen
-- Michael Stapelberg, 2014-06-15

124
RELEASE-NOTES-4.9 Normal file
View File

@ -0,0 +1,124 @@
┌──────────────────────────────┐
│ 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 :).
Its 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
• dont set input focus if not accepted (fixes problems with xfce4-notifyd)
• dont 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 doesnt
have one
• dont 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

View File

@ -7,7 +7,7 @@ template::[header-declarations]
<refentrytitle>{mantitle}</refentrytitle>
<manvolnum>{manvolnum}</manvolnum>
<refmiscinfo class="source">i3</refmiscinfo>
<refmiscinfo class="version">4.8</refmiscinfo>
<refmiscinfo class="version">4.9</refmiscinfo>
<refmiscinfo class="manual">i3 Manual</refmiscinfo>
</refmeta>
<refnamediv>