]> git.sur5r.net Git - i3/i3/commitdiff
Add release notes for 3.ε
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 30 Mar 2010 11:13:51 +0000 (13:13 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 30 Mar 2010 11:13:51 +0000 (13:13 +0200)
RELEASE-NOTES-3.e [new file with mode: 0644]

diff --git a/RELEASE-NOTES-3.e b/RELEASE-NOTES-3.e
new file mode 100644 (file)
index 0000000..4bf590f
--- /dev/null
@@ -0,0 +1,128 @@
+Release notes for i3 v3.ε
+-----------------------------
+
+This is the fifth version (3.ε, transcribed 3.e) of i3. It is considered
+stable.
+
+A really big change in this release is the support of RandR instead of
+Xinerama. The Xinerama API is a subset of RandR and its limitations clearly
+showed when you reconfigured outputs using xrandr(1) during runtime (it was
+not designed to handle such changes). The implementation of RandR fixes some
+long-standing bugs (workspaces were messed up when reconfiguring outputs)
+and cleans up some code. Furthermore, you are now able to assign workspaces
+to outputs (like LVDS1, VGA1, …) instead of the formerly used heuristics
+like "the screen at position (x, y)" or "the second screen in the list".
+
+Furthermore, another big change is the separation of debug output (the
+so-called logfile): you now need to enable verbose output (parameter -V)
+and you need to specify which (if any) debug output you want to see (parameter
+-d <loglevels>). When starting without -V, i3 will only log errors. This is
+what you usually want for a production system. When enabling verbose output,
+you will see the names and window classes of new windows (useful for creating
+assignments in your configuration file) and other useful messages. For an
+explanation of the debuglevels, please see the "How to debug" document (for
+the impatient: "-d all" gives you full output).
+
+In 3.δ, a new parser/lexer was introduced and available using the -l option.
+The old parser/lexer has been removed in the meantime, so in 3.ε, the "new"
+parser/lexer is always used and you do not need the -l option anymore. To
+make debugging errors in your configuration easier, the error messages have
+been very much improved. Also, the parser tries to skip invalid lines (though
+it may not always succeed, it usually works and does not crash i3).
+
+Starting from version 3.ε, i3 obeys the XDG base directory specification,
+meaning that you can now put your configuration file into ~/.config/i3/config,
+which might be useful if you manage your ~/.config directory in some way (git,
+…). The old configuration file path is still supported (there are no plans
+to change this), but using ~/.config seems reasonable for clean setups.
+
+You can disable the internal workspace bar in this release. Instead of the
+internal bar, you can use dzen2 (or similar) in dock mode (-dock for dzen2,
+but you need an svn revision). The sample implementation i3-wsbar takes
+stdin, generates a combined bar (workspaces + stdin) and starts dzen2 on
+your outputs as needed (does the right thing when you reconfigure your
+monitors dynamically).
+
+To accomplish the external workspace bar feature, the IPC interface has
+seen much love: requests and replies now use JSON for serialization of
+data structures and provide a nice and simple way to get information (like
+the current workspaces or outputs) from i3 or send commands to it. You can
+also subscribe to certain types of events (workspace or output changes).
+See the AnyEvent::I3 module for a sample implementation of a library.
+
+Thanks for this release go out to Merovius, badboy, xeen, Atsutane, Ciprian,
+dirkson, Mirko, sur5r, artoj, Scytale, fallen, Thomas, Sasha, dothebart, msi
+and all other people who reported bugs/made suggestions.
+
+A complete list of changes follows:
+
+ * Implement RandR instead of Xinerama
+ * Obey the XDG Base Directory Specification for config file paths
+ * lexer/parser: proper error messages
+ * Add new options -V for verbose mode and -d <loglevel> for debug log levels
+ * Implement resize command for floating clients
+ * Include date of the last commit in version string
+ * Fixed cursor orientation when resizing
+ * Added focus_follows_mouse config option
+ * Feature: Cycle through workspaces
+ * Fix bindings using the cursor keys in default config
+ * added popup for handling SIGSEGV or SIGFPE
+ * Correctly exit when another window manager is already running
+ * Take into account the window’s base_{width,height} when resizing
+ * Disable XKB instead of quitting with an error
+ * Make containers containing exactly one window behave like default containers
+ * Also warp the pointer when moving a window to a another visible workspace
+ * work around clients setting 0xFFFF as resize increments
+ * Move autostart after creating the IPC socket in start process
+ * Restore geometry of all windows before exiting/restarting
+ * When in fullscreen mode, focus whole screens instead of denying to focus
+ * draw consistent borders for each frame in a tabbed/stacked container
+ * Update fullscreen client position/size when an output changes
+ * i3-input: Bugfix: repeatedly grab the keyboard if it does not succeed
+ * put windows with WM_CLIENT_LEADER on the workspace of their leader
+ * use real functions instead of nested functions (enables compilation with
+   llvm-clang)
+ * implement screen-spanning fullscreen mode
+ * floating resize now uses arbitrary corners
+ * floating resize now works proportionally when pressing shift
+ * Don’t use SYNC key bindings for mode_switch but re-grab keys
+ * support PREFIX and SYSCONFDIR in Makefile
+ * make pointer follow the focus when moving to a different screen also for
+   floating clients
+ * start dock clients on the output they request to be started on according
+   to their geometry
+ * handle destroy notify events like unmap notify events
+ * ewmh: correctly set _NET_CURRENT_DESKTOP to the number of the active
+   workspace
+ * ewmh: correctly set _NET_ACTIVE_WINDOW
+ * ewmh: implement support for _NET_WORKAREA (rdesktop can use that)
+ * default ipc-socket path is now ~/.i3/ipc.sock, enabled in the default config
+ * Bugfix: Containers could lose their snap state
+ * Bugfix: Use ev_loop_new to not block SIGCHLD
+ * Bugfix: if a font provides no per-char info for width, fall back to default
+ * Bugfix: lexer: return to INITIAL state after floating_modifier
+ * Bugfix: Don’t leak IPC socket to launched processes
+ * Bugfix: Use both parts of WM_CLASS (it contains instance and class)
+ * Bugfix: Correctly do boundary checking/moving to other workspaces when
+   moving floating clients via keyboard
+ * Bugfix: checked for wrong flag in size hints
+ * Bugfix: Correctly render workspace names containing some non-ascii chars
+ * Bugfix: Correctly position floating windows sending configure requests
+ * Bugfix: Don’t remap stack windows errnously when changing workspaces
+ * Bugfix: configure floating windows above tiling windows when moving them
+   to another workspace
+ * Bugfix: Take window out of fullscreen mode before entering floating mode
+ * Bugfix: Don’t enter BIND_A2WS_COND state too early
+ * Bugfix: only restore focus if the workspace is focused, not if it is visible
+ * Bugfix: numlock state will now be filtered in i3-input and signal handler
+ * Bugfix: Don’t unmap windows when current workspace gets reassigned
+ * Bugfix: correctly translate coordinates for floating windows when outputs
+   change
+ * Bugfix: Correctly switch workspace when using the "jump" command
+ * Bugfix: Fix rendering of workspace names after "reload"
+ * Bugfix: Correctly ignore clicks when in fullscreen mode
+ * Bugfix: Don’t allow fullscreen floating windows to be moved
+ * Bugfix: Don’t render containers which are not visible on hint changes
+ * Some memory leaks/invalid accesses have been fixed
+
+ -- Michael Stapelberg, 2010-03-30