- Re-add details for 0.1.0 - 0.4.0
- Add 0.5.1-unreleased notes
- Split sections into change-types, for example "added" and "changed"
- Describe current branches
- Add lines-of-code to the summary table
This commit is contained in:
Johan Malm 2022-02-28 23:06:28 +00:00
parent 3d6e942eee
commit e4a8672b05

206
NEWS.md
View file

@ -1,69 +1,205 @@
# NEWS
# Introduction
This file contains significant user-visible changes for each version.
For full changelog, use `git log`
For full changelog, use `git log`.
[We are currently in the process of update the code-base to use the wlroots
scene-graph API](https://github.com/johanmalm/labwc/tree/scene)
The format is based on [Keep a Changelog]
Tag 0.5.0 is the last minor release before the move to scene-graph. An
associated v0.5 branch exists for patches and patch-tags if needed. It's
not envisaged that new features will be added on that branch though.
We are currently in the process of updating the code-base to use the
wlroots scene-graph API and have decided to use three branches at this
time:
## 0.5.0 (2022-02-18)
- `v0.5` - the last minor release before the move to scene-graph. It is
not envisaged that new major features will be added on that branch.
This release contains the following two breaking changes:
- `scene-graph` - where the active porting is taking place until it is
merged into master at which point the scene-graph branch will be
removed.
1. Disabling outputs now causes views to be re-arranged, so in the
context of idle system power management (for example when using
swaylock), it is no longer suitable to call wlr-randr {--off,--on}
to enable/disable outputs.
- `master` - which is mostly frozen to make the rebase/merge a bit
easier.
2. The "Drag" mouse-event and the unmaximize-on-move feature require
slightly different `<mousebind>` settings to feel natural, so suggest
updating any local `rc.xml` settings in accordance with
`docs/rc.xml.all`
# Summary of Releases
| Date | Release notes | wlroots version | lines-of-code |
|------------|---------------|-----------------|---------------|
| 2022-02-18 | [0.5.0] | 0.15.1 | 8766 |
| 2021-12-31 | [0.4.0] | 0.15.0 | 8159 |
| 2021-06-28 | [0.3.0] | 0.14.0 | 5051 |
| 2021-04-15 | [0.2.0] | 0.13.0 | 5011 |
| 2021-03-05 | [0.1.0] | 0.12.0 | 4627 |
## 0.5.1 - unreleased
### Fixed
- Implement cursor input for unmanaged xwayland surfaces outside their
parent view. Without this menus extending outside the main application
window do not receive mouse input. Written-by: @jlindgren90
- Allow dragging scrollbar or selecting text even when moving cursor
outside of the window (issue #241). Written-by: @Consolatis
- Fix positioning of xwayland views with multiple queued configure
events. Written-by: @Consolatis
- Force a pointer enter event on the surface below the cursor when
cycling views (issue #162). Written-by: @Consolatis
- Fix qt application crash on touchpad scroll (issue #225).
Written-by: @Consolatis
## [0.5.0] - 2022-02-18
As usual, this release contains a bunch of fixes and improvements, of
which the most notable feature-type changes are listed below. A big
thank you to @ARDiDo, @Consolatis and @jlindgren90 for much of the hard
work.
### Added
- Render overlay layer popups to support sfwbar (issue #239)
- Support HiDPI on-screen-display images for outputs with different scales
- Reload environment variables on SIGHUPi (issue #227)
- Add client menu
- Allow applications to start in fullscreen
- Add config option `<core><cycleViewPreview>` to preview the contents
of each view when cycling through them (for example using alt-tab).
- Allow mouse movements to trigger SnapToEdge. When dragging a view, move
the cursor outside an output to snap in that direction.
- Unmaximize on Move
- Support wlroots environment variable `WLR_{WL,X11}_OUTPUTS` for running
in running nested in X11 or a wlroots compositor.
- Support pointer gestures (pinch/swipe)
- Adjust views to account for output layout changes
## Previous releases
### Changed
| Date | Release notes | wlroots version |
|------------|---------------|-----------------|
| 2022-02-18 | [0.5.0] | 0.15.1 |
| 2021-12-31 | [0.4.0] | 0.15.0 |
| 2021-06-28 | [0.3.0] | 0.14.0 |
| 2021-04-15 | [0.2.0] | 0.13.0 |
| 2021-03-05 | [0.1.0] | 0.12.0 |
This release contains the following two breaking changes:
- Disabling outputs now causes views to be re-arranged, so in the
context of idle system power management (for example when using
swaylock), it is no longer suitable to call wlr-randr {--off,--on}
to enable/disable outputs.
- The "Drag" mouse-event and the unmaximize-on-move feature require
slightly different `<mousebind>` settings to feel natural, so suggest
updating any local `rc.xml` settings in accordance with
`docs/rc.xml.all`
## [0.4.0] - 2021-12-31
Compile with wlroots 0.15.0
This release contains lots of internal changes, fixes and new features.
A big thank you goes out to @ARDiDo, @bi4k8, @Joshua-Ashton,
@jlindgren90, @Consolatis, @telent and @apbryan. The most notable
feature-type changes are listed below.
### Added
- Add support for the following wayland protocols:
- `pointer_constraints` and `relative_pointer` - mostly for gaming.
Written-by: @Joshua-Ashton
- `viewporter` - needed for some games to fake modesets.
Written-by: @Joshua-Ashton
- `wlr_input_inhibit`. This enables swaylock to be run.
Written-by: @telent
- `wlr_foreign_toplevel`. This enables controlling windows from clients
such as waybar.
- `idle` and `idle_inhibit` (Written-by: @ARDiDo)
- Support fullscreen mode.
- Support drag-and-drop. Written-by: @ARDiDo
- Add the following config options:
- Load default keybinds on `<keyboard><default />`
- `<keyboard><repeatRate>` and `<keyboard><repeatDelay>`
- Specify distance between views and output edges with `<core><gap>`
- `<core><adaptiveSync>`
- Set menu item font with `<theme><font place="MenuItem">`
- Allow `<theme><font>` without place="" attribute, thus enabling
simpler config files
- Support `<mousebind>` with `contexts` (e.g. `TitleBar`, `Left`,
`TLCorner`, `Frame`), `buttons` (e.g. `left`, `right`), and
`mouse actions` (e.g. `Press`, `DoubleClick`). Modifier keys are
also supported to handle configurations such as `alt` + mouse button
to move/resize windows. (Written-by: @bi4k8, @apbryan)
- `<libinput>` configuration. Written-by: @ARDiDo
- `<resistance><screenEdgeStrength>`
- Support for primary selection. Written-by: @telent
- Support 'alt-tab' on screen display when cycling between windows
including going backwards by pressing `shift` (Written-by: @Joshua-Ashton)
and cancelling with `escape` (Written-by: @jlindgren90)
- Add the following theme options:
- set buttons colors individually (for iconify, close and maximize)
- `window.(in)active.label.text.color`
- `window.label.text.justify`
- OSD colors
- Show application title in window decoration title bar
- Handle double click on window decoration title bar
- Support a 'resize-edges' area that is wider than than the visible
window decoration. This makes it easier to grab edges to resize
windows.
- Add window actions 'MoveToEdge', 'ToggleMaximize', 'Close', 'Iconify',
'ToggleDecorations', 'ToggleFullscreen', 'SnapToEdge', 'Focus', 'Raise',
'Move', 'MoveToEdge', 'Resize', 'PreviousWindow', 'ShowMenu'
- Add labwc.desktop for display managers
- layer-shell:
- Take into account exclusive areas of clients (such as panels) when
maximizing windows
- Support popups
- Handle xwayland `set_decorations` and xdg-shell-decoration requests.
Written-by: @Joshua-Ashton
- Handle view min/max size better, including xwayland hint support.
Written-by: @Joshua-Ashton
- Handle xwayland move/resize events. Written-by: @Joshua-Ashton
- Support audio and monitor-brightness keys by default
- Catch ctrl-alt-F1 to F12 to switch tty
- Support `XCURSOR_THEME` and `XCURSOR_SIZE` environment variables
- Support submenus including inline definitions
### Changed
- The config option `<lab><xdg_shell_server_side_deco>` has changed to
`<core><decoration>` (breaking change)
## [0.3.0] - 2021-06-28
Compile with wlroots 0.14.0
### Added
- Add config options `<focus><followMouse>` and `<focus><raiseOnFocus>`
(provided-by: Mikhail Kshevetskiy)
- Do not use Clearlooks-3.4 theme by default, just use built-in theme
- Fix bug which triggered Qt application segfault
## [0.2.0] - 2021-04-15
Compile with wlroots 0.13.0
### Added
- Support wlr-output-management protcol for setting output position, scale
and orientation with kanshi or similar
- Support server side decoration rounded corners
- Change built-in theme to match default GTK style
- Add labwc-environment(5)
- Call `wlr_output_enable_adaptive_sync()` if `LABWC_ADAPTIVE_SYNC` set
## [0.1.0] - 2021-03-05
Compile with wlroots 0.12.0 and wayland-server >=1.16
### Added
- Support xdg-shell and optionally xwayland-shell
- Show xbm buttons for maximize, iconify and close
- Support layer-shell protocol (partial)
- Support damage tracking to reduce CPU usage
- Support very basic root-menu implementation
- Re-load config and theme on SIGHUP
- Support simple configuration to auto-start applications, set
environment variables and specify theme, font and keybinds.
- Support some basic theme settings for window borders and title bars
- Support basic actions including Execute, Exit, NextWindow, Reconfigure and
ShowMenu
[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
[0.5.0]: https://github.com/labwc/labwc/releases/tag/0.5.0
[0.4.0]: https://github.com/labwc/labwc/releases/tag/0.4.0
[0.3.0]: https://github.com/labwc/labwc/releases/tag/0.3.0