wlroots (0.12.0-1hybrismobian9+z1+git20230625192601.4e4ddc7.trixie.production) trixie; urgency=medium

  * [skip ci] [ci] Use the checkout step provided by the droidian-buildd orb
  * [skip ci] Move to Droidian rolling

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Sun, 25 Jun 2023 21:26:01 +0200

wlroots (0.12.0-1hybrismobian10) bookworm; urgency=medium

  * backend: hwcomposer: better handle resource destroyal when output creation fails

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Mon, 12 Dec 2022 19:52:46 +0100

wlroots (0.12.0-1hybrismobian9) bookworm; urgency=medium

  [ Alexander Orzechowski ]
  * xdg-foreign: Fix crash on destroy of degenerate surface

  [ Simon Ser ]
  * xdg-foreign-v2: use error enum

  [ Tadeo Kondrak ]
  * xdg-foreign: Make imported object inert when exported is destroyed
  * xdg-foreign: rename finish_* functions to destroy_*

 -- Alexander Orzechowski <orzechowski.alexander@gmail.com>  Sat, 10 Dec 2022 22:36:45 +0100

wlroots (0.12.0-1hybrismobian8+z1) bookworm; urgency=medium

  * [skip ci] Replace Drone with CircleCI
  * [wlroots] Rebuild

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Sun, 09 Oct 2022 15:40:53 +0200

wlroots (0.12.0-1hybrismobian8) bookworm; urgency=medium

  [ Eugenio Paolantonio (g7) ]
  * backend: hwcomposer: make the two different hwc implementations implement a generic interface
  * backend: hwcomposer: uniformise wlr_hwcomposer_backend name
  * backend: hwcomposer: add new (*register_callbacks) function to the interface, and move relevant code in the implementations there
  * backend: hwcomposer: move global vsync variables initialization in wlr_hwcomposer_backend
  * backend: hwcomposer: allow creating multiple outputs
  * backend: hwcomposer: allow scheduling an output destruction after the current frame event
  * backend: hwcomposer: handle hotplug events
  * backend: hwcomposer: assume the hwc2 backend if the module failed to load
  * types: wlr_layer_shell_v1: fixes for our our older wlroots
  * backend: libinput: handle LIBINPUT_SWITCH_KEYPAD_SLIDE
  * backend: hwcomposer: expose physical output width and height
  * treewide: get rid of warnings
  * backend: hwcomposer: allow skipping version check
  * meson: bump soversion to 7d
  * [packaging] Bump to libwlroots7d

  [ Simon Ser ]
  * surface: allow placing subsurfaces below parent
  * xdg-activation-v1: new protocol implementation
  * xdg-activation-v1: add token timeout
  * xdg-activation-v1: fix wlr_xdg_activation_v1_create error path
  * util/box: introduce wlr_fbox_empty
  * xdg-shell: introduce wlr_xdg_surface.current
  * subsurface: rename wlr_subsurface_state to wlr_subsurface_parent_state
  * subsurface: move parent link to state
  * cursor: add touch frame event
  * seat: add wlr_seat_touch_{send,notify}_frame
  * touch: add frame event
  * backend/libinput: send touch frame events
  * backend/wayland: send touch frame events
  * backend/x11: send touch frame events
  * output: send commit event after pending state is cleared

  [ Sebastian Krzyszkowiak ]
  * wlr_output_layout_contains_point: handle outputs that aren't in the layout

  [ Guido Günther ]
  * xdg-activation: Allow to submit tokens
  * xdg-activation: Deduplicate token creation code
  * seat: Allow to cancel touches

  [ Ilia Bozhinov ]
  * xdg-shell: add wlr_xdg_toplevel_set_parent
  * types: add wlr_xdg_foreign_registry
  * types: add wlr_xdg_foreign_v1
  * types: add wlr_xdg_foreign_v2
  * xwm: add wlr_xwayland_surface_restack()

  [ Kirill Primak ]
  * util/box: introduce wlr_fbox_transform()
  * layer-shell: refactor configure/state flow
  * layer-shell: add `committed` bitmask
  * xdg-toplevel: refactor configure/state flow
  * xdg popup: move function to a file it belongs to
  * xdg-surface: simplify configure mechanism
  * xdg surface: check adding configure_idle for NULL
  * xdg-surface: add pending state
  * surface: fix place_below handling
  * surface: move subsurface lists to state
  * layer-shell: move NULL buffer check to role precommit handler
  * xdg-decoration: refactor configure/state flow

  [ Stacy Harper ]
  * layer-shell: don't set committed flag if the property didn't change

  [ tiosgz ]
  * for_each_surface: only iterate mapped surfaces
  * surface_at: check if surfaces are mapped

  [ zccrs ]
  * Make the xdg_popup_get_position to public

  [ Isaac Freund ]
  * layer shell: advertise version 3
  * Replace wlr_key_state with wl_keyboard_key_state
  * layer shell: add wlr_layer_surface_v1_popup_surface_at()
  * xdg/layer shell: reduce code duplication in iterators
  * layer shell: rename popup iterator for consistency
  * layer-shell: replace close() with destroy()
  * xdg shell: add wlr_xdg_surface_for_each_popup_surface()
  * xdg shell: add wlr_xdg_surface_popup_surface_at()
  * xdg shell: remove wlr_xdg_surface_for_each_popup()

  [ Simon Zeni ]
  * types/wlr_box: remove unused wlr_box_from_pixman_box32 and wlr_box_rotated_bounds functions
  * move wlr_box from /types to /util
  * util/box: stabilize interface

  [ Ronan Pigott ]
  * xdg-activation-v1: enable compositors to request their own tokens
  * xdg-activation-v1: add data field and emit token destroy events

  [ Ryan Farley ]
  * util/uuid: replace with util/token, remove libuuid

  [ Tadeo Kondrak ]
  * text_input_v3: correct typo in enum field

  [ Daniel Kondor ]
  * layer-shell: allow new values for keyboard-interactivity

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Sun, 11 Sep 2022 15:54:36 +0200

wlroots (0.12.0-1hybrismobian7) bookworm; urgency=medium

  * meson: introduce option for Droidian-specific extensions
  * libinput: avoid going through wlr_session to manage input devices

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Wed, 22 Dec 2021 00:58:04 +0100

wlroots (0.12.0-1hybrismobian6) bullseye; urgency=medium

  [ Eugenio Paolantonio (g7) ]
  * [packaging] Bump to libwlroots7c

  [ Guido Günther ]
  * xwayland: Allow to retrieve _NET_STARTUP_ID
  * xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
  * Bump soversion to 7c

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Thu, 28 Oct 2021 23:36:43 +0200

wlroots (0.12.0-1hybrismobian5) bullseye; urgency=medium

  [ Eugenio Paolantonio ]
  * Merge pull request #7 from droidian/feature/bullseye/various-fixes

  [ Eugenio Paolantonio (g7) ]
  * backend: hwcomposer: ensure we report the correct refresh rate
  * gles2: rename texture0 to tex in fragment_src_external
  * HACK: backend: hwcomposer: do not adjust sequence id when sending a presentation event

 -- Eugenio Paolantonio <me@medesimo.eu>  Mon, 25 Oct 2021 23:24:02 +0200

wlroots (0.12.0-1hybrismobian4) bullseye; urgency=medium

  * backend: hwcomposer: implement .test() and ensure we signal that we don't support direct scan-out yet

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Wed, 25 Aug 2021 20:27:18 +0200

wlroots (0.12.0-1hybrismobian3) bullseye; urgency=medium

  [ Eugenio Paolantonio ]
  * Merge pull request #4 from droidian/feature/bullseye/libinput-wake

  [ Eugenio Paolantonio (g7) ]
  * HACK: backend: libinput: forcibly process events on resume

 -- Eugenio Paolantonio <me@medesimo.eu>  Mon, 24 May 2021 22:17:24 +0200

wlroots (0.12.0-1hybrismobian2) bullseye; urgency=medium

  [ Eugenio Paolantonio ]
  * Merge pull request #2 from droidian/feature/bullseye/damage-tracking

  [ Eugenio Paolantonio (g7) ]
  * render: egl: query for the EGL_KHR_partial_update extension, and load eglSetDamageRegionKHR if found
  * render: egl: move damage transformation stuff to its own function
  * render: add wlr_egl_set_damage_region()
  * HACK: types: wlr_output{,_damage}: support new "handle_damage" backend function
  * HACK: backend: hwcomposer: support damage tracking via the EGL_KHR_partial_update extension
  * [ci] Updated to match new name [CI SKIP]

 -- Eugenio Paolantonio <me@medesimo.eu>  Tue, 30 Mar 2021 22:23:41 +0200

wlroots (0.12.0-1hybismobian1) bullseye; urgency=medium

  [ Eugenio Paolantonio ]
  * Merge pull request #1 from hybris-mobian/feature/bullseye/rendering-loop

  [ Eugenio Paolantonio (g7) ]
  * backend: hwcomposer: implement a real rendering loop syncronized to the nearest vsync

  [ Simon Ser ]
  * util/time: add timespec_from_nsec

 -- Eugenio Paolantonio <me@medesimo.eu>  Thu, 18 Mar 2021 23:27:21 +0100

wlroots (0.12.0-1hybismobian0) bullseye; urgency=medium

  [ Eugenio Paolantonio (g7) ]
  * Merge tag 'upstream/0.12.0' into feature/bullseye/upgrade-0.12.0
  * [ci] Move to Drone CI
  * Revert "layer-shell: error on 0 dimension without anchors"
  * backend: hwcomposer: always commit even if the output has been blanked
  * backend: hwcomposer: uniformize coding styles

  [ Guido Günther ]
  * debian: Adjust to soname change
  * d/control: Bump standards version
  * d/upstream/metadata: Add upstream bug tracker URLs
  * d/rules: Enable all hardening opts

  [ Simon Ser ]
  * render: define EGL_NO_PLATFORM_SPECIFIC_TYPES (#2452)
  * backend/drm: fix "a page-flip is already pending" errors on modeset
  * xwayland: minor code style fixes
  * xwayland: log unhandled NET_WM_STATE property changes
  * gamma-control-v1: apply gamma LUT when output gets enabled
  * screencopy: stop setting needs_frame flag
  * backend/drm: export pending FB in export_dmabuf, if any
  * output: update docs to reflect reality
  * output: add when field to wlr_output_event_commit
  * export-dmabuf: export DMA-BUF on output commit
  * screencopy: perform DMA-BUF copy on output commit
  * screencopy: send failed when copying a DMA-BUF with a region
  * input-method: send modifiers in set_keyboard
  * Update version to 0.12.0

  [ Ilia Bozhinov ]
  * xdg_shell: fix a typo
  * xdg_shell: handle inert popups

  [ Isaac Freund ]
  * xwayland: remove unused listener

  [ Tudor Brindus ]
  * types/wlr_keyboard: use bitmasks for wlr_keyboard_led and wlr_keyboard_modifier enums
  * types/wlr_output_layout: use bitmask for wlr_direction
  * util/edges: use bitmask for wlr_edges
  * render/dmabuf: use bitmask for wlr_dmabuf_attributes_flags

  [ Marten Ringwelski ]
  * backend/drm: Check if output is enabled before sending frame event

 -- Eugenio Paolantonio (g7) <me@medesimo.eu>  Wed, 03 Mar 2021 00:57:01 +0100

wlroots (0.11.0-2) bullseye; urgency=medium

  [ Erfan Abdi ]
  * hwcomposer: Report enabled after BlankOutput toggle
  * hwcomposer: Reduce frame delay

  [ Scott Moreau ]
  * foreign toplevel: Fix whitespace error

  [ Daniel Kondor ]
  * foreign-toplevel-management: report parent toplevel
  * foreign toplevel: send parent event only to clients that support it

  [ Tudor Brindus ]
  * examples: use `perror` instead of `fprintf` GNU %m `printf` extension
  * xwayland: using %m in `wlr_log` is broken, use `wlr_log_errno` instead
  * xwayland: fix use-after-free in selection handling
  * xwayland: introduce WLR_XWAYLAND for specifying which Xwayland to use
  * xwayland: remove stale transfers from the same requestor
  * xwayland: notify requestor when we fail to respond to their request
  * xwayland: fix minor typo in debug log

  [ Mykola Orliuk ]
  * backend/wayland: manage cursor for current pointer
  * backend/wayland: factor out wlr_wl_seat
  * backend/wayland: add error flow in create_wl_seat
  * backend/wayland: fix input creation error handling
  * backend/wayland: fix some keyboard/touch leaks

  [ Ilia Bozhinov ]
  * xwayland: add set_geometry event
  * backend/wayland: add touch support to the wayland backend

  [ Isaac Freund ]
  * layer-shell: error on 0 dimension without anchors
  * xdg_positioner: remove unused field
  * wlr_drag: remove unused point_destroy field

  [ Simon Ser ]
  * backend/libinput: improve logger callback

  [ Roman Gilg ]
  * output-management-v1: send complete head state on enable change

  [ Rouven Czerwinski ]
  * xwm: add loop detection for read_surface_parent

 -- Erfan Abdi <erfangplus@gmail.com>  Mon, 26 Oct 2020 06:58:41 +0318

wlroots (0.11.0-1) bullseye; urgency=medium

  [ r3vn ]
  * build using travis ci
  * [debian] added android-headers as build-dep

  [ Simon Ser ]
  * data-device: ignore accept for selection offers
  * output: introduce wlr_output_preferred_mode
  * rootston: use wlr_output_preferred_mode
  * output: refactor frame submission API
  * output: refactor backend API
  * output: rename swap_buffers event to precommit
  * output-damage: refactor API
  * output: rename needs_commit to needs_frame
  * render/egl: fix zero-length VLA
  * backend/wayland: fix wlr_wl_pointer use-after-free
  * output-damage: fix segfault after destroy
  * render/egl: fix swapping with no damage
  * rootston: don't submit too much damage
  * output: disambiguate the two types of damage
  * rootston: fix damage tracking debug mode
  * output: introduce wlr_output_schedule_done
  * xdg-output: schedule a wl_output.done event on update
  * seat: fallback to v6 if libwayland 1.17 isn't available
  * backend/noop: disallow rendering
  * ci: enable Meson auto features
  * backend/wayland: use xdg-decoration-unstable-v1
  * backend/wayland: remove wl_shm
  * render/gles2: print GL_RENDERER
  * Remove orbital screenshooter and gamma-control
  * backend/drm: check format when scanning out DMA-BUF
  * backend/drm: strip alpha channel on scan-out
  * render/dmabuf: add wlr_dmabuf_attributes_copy
  * buffer: add wlr_buffer_get_dmabuf
  * output: change set_dmabuf to attach_buffer
  * output: fix attach_buffer semantics
  * output: save buffer in pending state
  * backend/drm: hold buffers while scanning out
  * backend/drm: reject DMA-BUFs with flags
  * rootston: add support for direct scan-out
  * output: refuse to scan-out if software cursors are used
  * output: introduce wlr_output_lock_attach_render
  * output-damage: support direct scan-out
  * backend/drm: fallback to drmModeAddFB2
  * backend/drm: add support for multiplanar BOs
  * output: reset the pending state on failed commit
  * output: remove wlr_output_impl.transform
  * output: drop wlr_output_mode.flags
  * Remove all wayland-server.h includes
  * output: atomic mode, enabled, scale and transform
  * xdg-output: add support for xdg-output-unstable-v1 version 3
  * backend/drm: fix missing plane formats
  * compositor: disconnect client on OOM in create_surface
  * build: workaround for meson disabler object not working with if not
  * render/egl: support formats with zero modifiers
  * backend/drm: use modifiers for our GBM buffers
  * build: simplify by using disabler deps
  * backend/wayland: add support for direct scan-out
  * render/gles2: don't unset the current EGL surface when destroying texture
  * protocol: sync layer-shell with upstream
  * backend/drm: track gbm_bo during direct scan-out
  * render/egl: prevent use-after-free when destroying current surface
  * backend/drm: retry without modifiers for the primary plane
  * backend/drm: add support for custom modes
  * output-management-v1: add assertion as a safety net
  * render: remove EGL includes from wlr_texture.h
  * render/gles2: provide public API to access GL texture
  * backend/wayland: add support for relative-pointer-unstable-v1
  * backend/wayland: expose remote objects
  * output: add wlr_output_event_present.commit_seq
  * Add -Wmissing-prototypes
  * output: set wlr_output.commit_seq before firing the commit event
  * output: fix off-by-one wlr_output_event_present.commit_seq
  * presentation-time: make API more flexible
  * presentation-time: add helper for common case
  * backend/wayland: add support for presentation-time
  * render: remove return in wlr_texture_get_size
  * Simplify globals implementation by removing destructors
  * Revert "output: add block_idle_frame"
  * keyboard: emit key events without keymap
  * backend/drm, backend/libinput: listen to session destroy
  * backend/drm: fix segfault in init_drm_surface
  * backend/drm: add BenQ to manufacturer list
  * buffer: improve error handling
  * surface: don't unref the current buffer on failure
  * output: fix wlr_output_preferred_mode fallback
  * Refactor EGL/GL API loading
  * ci: add xorgproto dep to Arch build
  * render: fix EGL extensions not loaded
  * Revert "ci: add xorgproto dep to Arch build"
  * ci: add a build run with all features disabled
  * output: add description
  * xdg-output-v1: use wlr_output.description
  * output-management-v1: use wlr_output.description
  * output: re-introduce atomic mode, enabled, scale and transform
  * backend/drm: modeset before enabling an output
  * output: clear pending bit if pending == current
  * output: refuse to commit a buffer or modeset a disabled output
  * tinywl: enable and commit output when modesetting
  * xdg-shell: fix inert xdg_surface handling
  * xdg-shell: make wlr_xdg_surface_from_resource reject NULL
  * output: only advertise current mode
  * backend/drm: don't modeset with a NULL mode after TTY switch
  * render: guard rendering operations between begin() and end()
  * backend/wayland: fix frame callback not registered
  * backend/wayland: listen to wl_buffer.release events
  * backend/wayland: handle display errors more gracefully
  * render/egl: remove SURFACELESS_MESA special case
  * render/gles2: unbind textures after use
  * docs: remove rootston-specific env vars
  * docs: establish one section per backend
  * docs: document XDG_SESSION_ID
  * backend/drm: prevent outputs from being destroyed on commit
  * keyboard-group: two NULL keymaps are equal
  * build: replace version with soversion
  * render: unconditionally disable implicit X11 includes
  * meson: fix wayland-server minimum required version
  * util: add wlr_output_destroy_safe
  * output: don't destroy global immediately
  * seat: don't destroy global immediately
  * xwayland: ignore pointer focus changes
  * backend/wayland: rename wl_seat.c to seat.c
  * output: remove wlr_output_impl.schedule_frame
  * backend/wayland: fix seat caps handling
  * Introduce wlr_client_buffer
  * output: add adaptive_sync_enabled property
  * backend/x11: add support for adaptive_sync_enabled
  * backend/drm: add support for adaptive_sync_enabled
  * xwayland: use explicit indexes when initializing atom_map
  * xwayland: remove duplicate _NET_WM_NAME entry
  * xwayland: remove underscore prefix from atom names
  * output: make wlr_output_schedule_frame set output->needs_frame
  * output: don't send a needs_frame event if already sent
  * util/log: improve time prefix
  * render/gles2: remove duplicated format list
  * buffer: remove unused wlr_client_buffer fields
  * output: add comment about needs_frame in wlr_output_schedule_frame
  * output: replace wlr_output.damage with a damage event
  * backend/wayland: close keymap FD
  * Gracefully handle inert wl_output resources
  * buffer: add destroy event
  * buffer: add a release event
  * buffer: add width and height
  * output: introduce wlr_output_test
  * output: check buffer in wlr_output_test
  * backend: reset EGL surface after buffer swap
  * Add wlr_output_impl.rollback
  * render/egl: make config attribs const
  * backend: set EGL_RENDERABLE_TYPE and EGL_SURFACE_TYPE
  * render/gles2: only call wlr_egl_bind_display if supported
  * render: only expose linux-dmabuf if EGL extension is supported
  * output: fix blurred hw cursors with fractional scaling
  * output: check for buffer size compatibility in common code
  * backend/wayland: check scan-out buffer is compatible in output_test
  * output: fix maybe-uninitialized warning
  * backend/multi: add backends at end of list
  * build: use meson.override_dependency
  * build: use dicts instead of get_variable
  * build: use summary instead of message
  * output_layout: improve docs
  * render/drm_format_set: disallow DRM_FORMAT_INVALID
  * render/gles2: add wlr_gles2_renderer_check_ext
  * backend/headless: use FBOs instead of pbuffers
  * backend/headless: add wlr_headless_backend_create_with_renderer
  * render/texture: add width and height fields
  * render/texture: make write_pixels optional
  * backend/drm: strip alpha channel if necessary
  * Remove .swp file added by mistake
  * util/log: write log importance
  * backend/drm: make page-flip error scarier
  * examples/dmabuf-capture: use getopt
  * backend/multi: handle backends depending on each other properly
  * backend/headless: handle renderer destroy
  * backend/drm: remove wlr_drm_interface.crtc_move_cursor
  * backend/drm: remove unused fields
  * backend/drm: remove mode argument to crtc_pageflip
  * backend/drm: apply gamma LUT on page-flip
  * backend/drm: rename crtc_pageflip to crtc_commit
  * backend/drm: remove conn_enable from interface
  * backend/drm: remove crtc_set_cursor from interface
  * backend/drm: GAMMA_LUT_SIZE isn't atomic
  * backend/drm: simplify atomic commit logic
  * backend/drm: fix crash in session_signal
  * backend/drm: remove missing cursor plane workaround
  * backend/drm: fix combined modeset+enable commits
  * backend/drm: disable cursor in dealloc_crtc
  * backend/drm: print error in set_plane_props
  * backend/drm: fix segfault in drm_crtc_page_flip
  * output: make wlr_output_set_gamma atomic
  * backend/drm: fix atomic commits when the GAMMA_LUT prop is missing
  * Fix -Wreturn-type warnings
  * render/egl: introduce wlr_egl_unset_current
  * backend/drm: fix current EGL context on multi-GPU
  * backend/drm: add missing wlr_egl_unset_current
  * xwayland: split server
  * xwayland: add option to disable WM
  * render/egl: unset current context after swapping buffers
  * backend/drm: rollback atomic blobs
  * backend/drm: refuse to enable an output without a mode
  * backend/drm: remove drm_connector_set_custom_mode
  * backend/drm: remove enable_drm_connector
  * backend/drm: make drm_connector_set_mode take a wlr_drm_connector
  * backend/drm: nuke retry_pageflip
  * backend/drm: introduce pending and current CRTC state
  * backend/drm: don't set cursor if off-screen
  * backend/drm: fix missing crtc->cursor NULL check
  * Add comments for missing tablet tool entries
  * backend/drm: rollback pending CRTC state on test commit
  * backend/drm: make adaptive_sync atomic
  * backend/drm: commit/rollback FBs in drm_crtc_commit
  * backend/drm: drop extra wlr_output_update_enabled call
  * backend/drm: always perform a CRTC commit in drm_connector_commit
  * backend/wayland: fix spurious eglSwapBuffers failures
  * render: stop making EGL context current in wlr_egl_init
  * backend/drm: fix black screens when enabling output
  * render: choose DMA-BUF texture target via eglQueryDmaBufModifiersEXT
  * contributing: resource destroy handlers need to cleanup pointers
  * contributing: add note about events that destroy objects
  * backend/drm: fix stack overflow in dealloc_crtc
  * buffer: document wlr_buffer_get_dmabuf DMA-BUF lifetime
  * output: document wlr_output_export_dmabuf
  * render/egl: explicit client extension handling
  * examples/screencopy-dmabuf: call strncpy with maxlen - 1
  * examples/fullscreen-shell: stop advertising linux-dmabuf unconditonally
  * render/gles2: use .x/.y instead of .s/.t
  * box: add wlr_fbox
  * util/region: add wlr_region_scale_xy
  * render: add wlr_render_subtexture_with_matrix
  * surface: add wlr_surface_state.viewport
  * surface: introduce wlr_surface_get_buffer_source_box
  * viewporter: new protocol implementation
  * surface: ignore viewport src rect on NULL buffer
  * render/egl: print error name
  * output: rename impl->rollback to rollback_render
  * output: make rollback_render mandatory
  * output: fix dangling renderer context after wlr_output_preferred_read_format
  * backend/noop: add missing rollback_render output impl
  * examples/pointer: fix wlr_renderer_end call order
  * output: add backend docs
  * backend/drm: fix DPMS on legacy interface
  * backend/drm: fix typo in drm_surface_make_current arg
  * backend/drm: check drm_surface_make_current return value
  * Update version to 0.11.0
  * xwayland/xwm: don't insert surface in list on error
  * xwayland/xwm: add prop count assert in xsurface_set_net_wm_state
  * xwayland/xwm: use initializer for props in xsurface_set_wm_state
  * render/gles2: make wlr_gles2_texture_from_* private
  * render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture
  * render/gles2: make push/pop debug functions take a wlr_renderer
  * render/gles2: remove gles2_procs
  * gamma-control-v1: fix use-after-free in gamma_control_handle_set_gamma
  * examples/simple: use wlr_output_preferred_mode
  * examples/simple: use wlr_renderer instead of GL
  * Remove unnecessary wl_display_dispatch calls
  * output: introduce wlr_output_event_commit
  * output-power-management-v1: listen to output commit
  * examples/dmabuf-capture: add extra roundtrip for wl_output listener
  * backend/session/libseat: register log handler
  * backend: remove check for _WAYLAND_DISPLAY

  [ Isaac Freund ]
  * Send keyboard enter/leave on capability change
  * Properly popluate keys array for enter on creation
  * Send pointer enter/leave on capability change
  * Return failure of wlr_renderer_init_wl_display()
  * Return false on wlr_keyboard_set_keymap() failure
  * tinywl: remove redundant create output global call
  * Document the events of wlr_layer_surface
  * tinywl: remove unused variables
  * tinywl: handle request set selection
  * layer shell: only send unmap on close if mapped
  * Make wlr_xcursor_manager_load() return a bool
  * layer-shell: handle serial wrapping overflow
  * xdg-shell: handle serial wrapping overflow
  * xdg-decoration: free old configure structs
  * layer-shell: upgrade to v3, implement destructor
  * layer-shell: remove unused surface list
  * xdg-shell: split last-acked and current state
  * layer-shell: add for_each_popup

  [ Roman Gilg ]
  * output-management-v1: add head identifying events
  * output-management-v1: send head identifying information

  [ Ilia Bozhinov ]
  * add missing wlr_box.h include in wlr_screencopy_v1.h
  * output: add wlr_output_preferred_read_format()
  * types: implement wlr_foreign_toplevel_management_v1
  * rootston: add title/app_id/class listeners
  * rootston: add support for wlr_foreign_toplevel_management_v1
  * examples: add wlr_foreign_toplevel_management_v1 example
  * xdg-popup: fix wlr_xdg_popup_get_toplevel_coords()
  * rootston: create foreign toplevel handle before sending outputs
  * xwm: use min size as base size hint if it is missing and vice versa
  * xwm: fix typos in WM_NORMAL_HINTS handling
  * meson.build: require libinput >= 1.9.0
  * noop: implement setting a custom mode
  * rootston: remove disabled outputs from the output layout
  * output: do nothing in output_set_image if backend has no renderer
  * idle: enable the compositors to add custom idle timeouts (#1655)
  * foreign-toplevel: support fullscreen state and request
  * rootston: add support for foreign-toplevel fullscreening
  * examples: add fullscreening to foreign-toplevel.c
  * output: clear output->damage on successful commit
  * output-damage: set needs swap only when we have new damage
  * layer-shell: ignore ack_configure() on closed surfaces
  * wlr_box: properly calculate closest point for non-positive area boxes
  * xwm: allow applications to change focus between their own surfaces
  * output-management: add current_configuration_dirty
  * examples: make output-power-management oneshot by default
  * xwayland: do not allow apps to change focus after wlroots request
  * make sure to fail setting gamma on disabled outputs
  * backend/wayland: destroy relative pointer when output is disconnected
  * wayland: emit relative pointer events only for current pointer
  * xwayland: disconnect display destroy listener even if xwayland didn't initialize

  [ nerdopolis ]
  * Accommodate for CONFIG_VT=0, all TTYs are in seat0, but not all

  [ Patrick Steinhardt ]
  * session: Don't refuse unprivileged creation of "direct" backend

  [ Drew DeVault ]
  * Tiny Wayland compositor
  * Fix various bugs
  * Fix uninitialized variable
  * Implement Alt+F1 (next window) and Alt+Esc (exit)
  * CC0
  * Add README
  * Merge pull request #1191 from emersion/drm-conn-dpi
  * Merge pull request #1194 from ascent12/meson_feature
  * Revert "Merge pull request #1194 from ascent12/meson_feature"
  * Merge pull request #1198 from ascent12/meson_feature
  * Update required meson version to 0.47.1
  * Merge pull request #1200 from alexbakker/destroy-signal
  * Merge pull request #1202 from alexbakker/destroy-signal-fix
  * Use legacy modesetting for gamma control
  * Merge pull request #1208 from arandomhuman/master
  * Merge pull request #1210 from ammen99/fix-include
  * Merge pull request #1215 from emersion/disabled-no-modeset
  * Merge pull request #1219 from emersion/disable-when-needs-modeset
  * Merge pull request #1220 from emersion/grouped-new-output
  * Merge pull request #1213 from arandomhuman/wlr_log_get_verbosity
  * Merge pull request #1231 from ascent12/editorconfig
  * Merge pull request #1229 from emersion/drm-hotplug-fixes
  * Merge pull request #1205 from sghctoma/fix-freebsd-direct-session
  * Merge pull request #1227 from emersion/rootston-segfault-tablet-destroy
  * Merge pull request #1235 from emersion/dealloc-unused-crtcs
  * Merge pull request #1239 from dcz-purism/layer_order_master
  * Merge pull request #1240 from emersion/no-hardware-cursors
  * Merge pull request #1244 from emersion/xdg-output-suffix
  * Merge pull request #1243 from emersion/layer-shell-suffix
  * Merge pull request #1241 from emersion/output-enable-error-checking
  * Merge pull request #1237 from emersion/disabled-crtc
  * Merge pull request #1246 from emersion/output-layout-no-mode
  * Merge pull request #1250 from arandomhuman/wlr_session
  * Merge pull request #1248 from emersion/assert-all-the-things
  * Merge pull request #1245 from emersion/capture-disable-hw-cursors
  * Merge pull request #1252 from emersion/fatal-unknown-buffer
  * Merge pull request #1264 from emersion/examples-unknown-cursor
  * Merge pull request #852 from Laaas/master
  * Merge pull request #1266 from Ongy/xdc_tablet_fix
  * Merge pull request #1268 from emersion/drm-connector-disappeared
  * Merge pull request #1275 from linkmauve/fix-xdg-decoration-destroy-crash
  * Merge pull request #1279 from emersion/update-edid-manufacturers
  * Merge pull request #1262 from nyorain/session_fix
  * Merge pull request #1272 from emersion/presentation-time
  * Merge pull request #1282 from RyanDwyer/fix-idle-frame
  * Revert "Prevent excessive frame events when compositor doesn't swap buffers"
  * Merge pull request #1283 from swaywm/revert-1282-fix-idle-frame
  * Merge pull request #1286 from emersion/drm-no-crtc
  * Merge pull request #1294 from emersion/xcursor-env-config
  * Merge pull request #1299 from Emantor/set-drm-version
  * Merge pull request #1298 from emersion/output-dangling-idle-frame
  * Merge pull request #1301 from emersion/cleanup-page-flip
  * Merge pull request #1203 from dcz-purism/input
  * Update README.md
  * Assert read return value in examples/input-method
  * Merge pull request #1304 from nyorain/dmabuf_v1
  * Merge pull request #1308 from dcz-purism/fix_disable_text_input
  * Fix headless backend
  * Merge pull request #1312 from ascent12/drm_include
  * Merge pull request #1317 from sghctoma/freebsd-fixes
  * Merge pull request #1316 from agx/fullscreen-vs-layershell
  * Merge pull request #1318 from dcz-purism/text_input_error
  * Merge pull request #1319 from emersion/x11-configure-mask
  * Merge pull request #1287 from emersion/source-seat-client
  * Merge pull request #1307 from emersion/static-analysis
  * Merge pull request #1289 from ixru/fix-cursor-visibility
  * Merge pull request #1327 from RyanDwyer/xwm-unset-minmax-hints
  * Add FreeBSD build
  * Merge pull request #1338 from emersion/wayland-swap-interval
  * Merge pull request #1340 from emersion/fix-input-method-destroy
  * Merge pull request #1332 from emersion/shm-open
  * Merge pull request #1346 from emersion/fix-schedule-frame-mgpu
  * Merge pull request #1341 from emersion/view-at-unmapped
  * Merge pull request #1350 from emersion/check-gles2-bgra-ext
  * Merge pull request #1261 from arandomhuman/damage-control
  * Merge pull request #1357 from emersion/xopen-source
  * Merge pull request #1358 from emersion/xcursor-heap
  * Merge pull request #1364 from ManDay/master
  * Merge pull request #1356 from emersion/egl-renderable-type
  * Merge pull request #1369 from ascent12/wayland_backend
  * Merge pull request #1372 from emersion/config10
  * Merge pull request #1373 from emersion/fix-teardown-segfaults
  * Merge pull request #1366 from emersion/render-software-cursors
  * Merge pull request #1375 from emersion/tablet-segfault
  * Merge pull request #1392 from emersion/disable-static-analysis
  * Merge pull request #1396 from emersion/fix-destroyed-subsurface
  * Merge pull request #1384 from emersion/data-multiple-devices
  * Merge pull request #1387 from emersion/rename-gtk-primary-selection
  * Merge pull request #1399 from emersion/fix-wl-backend-zero-vla
  * Merge pull request #1400 from emersion/xcursor-fixes
  * Merge pull request #1397 from emersion/refactor-primary-selection
  * Merge pull request #1403 from emersion/swap-buffers-damage-coords
  * Merge pull request #1409 from Duncaen/wlr_pointer_constraints
  * Merge pull request #1412 from emersion/drm-vla-overflow
  * Merge pull request #1410 from emersion/xdg-surface-destroy
  * Merge pull request #1415 from emersion/tablet-seat-leak
  * Merge pull request #1419 from emersion/ci-alpine
  * Merge pull request #1416 from kragniz/rootston-use-box
  * Merge pull request #1413 from emersion/logind-session-logs
  * Merge pull request #1422 from emersion/dmabuf-export-destroy
  * Merge pull request #1429 from emersion/primary-serial-validation
  * Merge pull request #1426 from emersion/drm-disappear-index
  * Merge pull request #1433 from ammen99/fix-layer-shell-unconstrain
  * Merge pull request #1441 from Timidger/box-parameter-standardize
  * Merge pull request #1444 from emersion/edid-phys-size
  * Merge remote-tracking branch 'tinywl/master' into tinywl
  * Update READMEs per tinywl merge
  * Annotate the source
  * Use pkg-config for tinywl deps
  * Merge pull request #1449 from swaywm/tinywl
  * Merge pull request #1423 from emersion/data-control
  * Merge pull request #1454 from jbeich/freebsd
  * Update Wayland backend to xdg-shell stable
  * Merge pull request #1455 from emersion/codespell
  * Remove unused struct from tinywl
  * Add wlr_wl_output_set_title
  * Merge pull request #1462 from alexbakker/fix-soft-cursors
  * Merge pull request #1473 from RyanDwyer/noop-backend
  * Merge pull request #1475 from emersion/xwayland-shutdown
  * Merge pull request #1474 from emersion/meson-yield
  * Merge pull request #1479 from emersion/lost-crtc-state
  * Merge pull request #1476 from emersion/fullscreen-shell
  * Merge pull request #1482 from Hjdskes/x11_output_set_title
  * Merge pull request #1484 from emersion/fix-indent
  * Merge pull request #1488 from Lahvuun/relative-constraints_fixes
  * Merge pull request #1495 from Hjdskes/safe_set_title
  * Merge pull request #1494 from emersion/wayland-protocols-text-input
  * Merge pull request #1427 from emersion/refactor-data-device
  * Merge pull request #1498 from emersion/editorconfig-indent-size
  * Merge pull request #1505 from emersion/data-control-unset
  * Merge pull request #1503 from emersion/pointer-frame
  * Merge pull request #1509 from emersion/gbm-fmt-mismatch
  * Merge pull request #1510 from emersion/libdrm-version
  * Merge pull request #1511 from emersion/scan-build-fixes
  * Merge pull request #1515 from emersion/shell-grab-frame
  * Merge pull request #1513 from emersion/fix-dnd
  * Merge pull request #1518 from emersion/relative-pointer-usec
  * Merge pull request #1522 from emersion/logind-no-dup-leak
  * Merge pull request #1519 from emersion/dedup-source-mime-type
  * Merge pull request #1523 from emersion/set-same-selection-crash
  * Merge pull request #1527 from johnchen902/fix-sway-3545-2
  * Merge pull request #1530 from emersion/unmap-destroy-popups
  * Merge pull request #1529 from emersion/better-dnd-fix
  * Merge pull request #1532 from emersion/deprecate-old-protocols
  * Use freebsd/latest for FreeBSD sr.ht builds
  * Merge pull request #1548 from emersion/error-invalid-transform
  * Revert "drm: do not modeset to current mode"
  * Merge pull request #1537 from VincentVanlaer/cursor-dmabuf-nouveau
  * Merge pull request #1553 from emersion/subsurface-map
  * Merge pull request #1558 from emersion/fix-hide-cursor-mgpu
  * Merge pull request #1556 from emersion/unmap
  * Merge pull request #1557 from emersion/inert-offers
  * Merge pull request #1493 from emersion/primary-selection-v1
  * Merge pull request #1562 from emersion/remove-sock-cloexec
  * Merge pull request #1564 from emersion/remove-sock-cloexec
  * Merge pull request #1568 from emersion/rootston-refactor
  * Merge pull request #1517 from emersion/refactor-dnd
  * Update version to 0.4.1
  * Update version to 0.5.0
  * Add FreeRDP backend for remote desktop support
  * Remove wlr_wl_shell
  * Update version to 0.6.0
  * Remove rootston
  * Add libinput-1.14 support
  * Revert "render/drm: keep old drm_format if realloc fails"
  * Add _incr_version to contrib/
  * Update version to 0.7.0
  * Update version to 0.8.1
  * Introduce wlr_renderer_get_egl
  * Update version to 0.9.0
  * Update version to 0.9.1
  * Drop RDP backend
  * Update version to 0.10.0
  * Remove xdg-shell v6

  [ Ryan Walklin ]
  * [WIP][DONTMERGE]Add support for libinput_switch input devices
  * Factor out binding command execution to separate file
  * Remove redundant signal in seat.c
  * Update config struct, reduce complexity and correctly parse config.ini
  * Remove debug logs
  * Working switches in rootston:
  * Fix style nits
  * Improve event matching logic
  * Remove unused variables
  * s/lid_switch/switch_device
  * Implement logind session SetType method to change session type to wayland
  * Also set XDG_SESSION_TYPE
  * Don't set XDG_SESSION_TYPE unless logind SetType succeeds
  * Quieten failure to set login session type

  [ Valentin ]
  * Use fixed size integer type
  * Fix undefined behavior

  [ Erfan Abdi ]
  * Import debian packing
  * debian: Drop source
  * wlroots: Fix android headers path
  * examples: Nuke dmabuf-capture
  * render/egl: Only use EGL_EXT when platform is set
  * hwcomposer: Setup rollback_render
  * hwcomposer: Drop duplicated EGL config
  * hwcomposer: Set propper EGL platform
  * hwcomposer: Drop unused parameters
  * hwcomposer: Setup Vsync for hwc2
  * hwcomposer: Fix hwc version detection on init
  * hwcomposer: Set hwc2 power mode right after init
  * hwcomposer: Add BlankOutput toggle
  * gles2: Don’t set EXT gl format if renderer doesn’t support
  * hwcomposer: Use proper android pixel format
  * hwcomposer: Use wlr_egl_unset_current on commiting
  * hwcomposer: Nuke EGL_PBUFFER_BIT leftover from headless

  [ Guido Cella ]
  * render: Don't crash on 0 dimensions

  [ Kenny Levinsen ]
  * logind: Close fd before releasing device
  * seat: Create inert objects for missing capabilities
  * wlr_drag: Destroy drag after releasing grabs
  * session: Add libseat backend
  * session: Add missing init to direct-freebsd

  [ Daniel De Graaf ]
  * wlr_virtual_keyboard: fix fd leak

  [ Devin J. Pohly ]
  * drm: fix uninitialized read

  [ Rouven Czerwinski ]
  * backend/drm: set drmEventContext version to 2
  * backend/drm: fix memory leak in realloc crtcs
  * wlr_output: remove idle_done on output destroy
  * drm: legacy: issue a NULL modeset on disable
  * backend: drm: switch to pageflip_handler_2
  * backend/drm: destroy output immediately
  * Revert "output: atomic mode"
  * backend/drm: check for mst: in path property
  * backend/drm: print preferred mode
  * backend/drm: add env variable to disable modifiers
  * backend/drm: remove overzealous finish_drm_surface
  * render: assert sane values for box functions
  * surface: don't unset width and height in finalize
  * examples: remove unnecessary gles2.h imports

  [ Scott Moreau ]
  * xwayland: Expose configure request mask
  * build: Pass library as first argument to pkgconfig.generate()
  * xwayland: Clean up if Xwayland fails to start
  * build: Add 'auto' to logind-provider combo option
  * xwayland: Don't discard ready signals
  * xwm: Destroy xwm on hangup or error
  * xwm: Set _NET_WM_STATE_FOCUSED property for the focused surface

  [ Antonin Décimo ]
  * render/drm: keep old drm_format if realloc fails
  * xcursor: avoid leak and loss of all cursors if cursors realloc fails
  * Fix memory leak
  * Simplify check
  * wlr_surface: condition is always false
  * xdg_shell: remove variable self-assignment
  * backend/session: non-void function should return a value
  * backend/drm: use UINT64_C for uint64_t literals
  * Avoid loss of a fractional part
  * backend/wayland: check if zxdg_toplevel_decoration_v1 is not NULL
  * xwayland: prevent possible array overrun
  * examples: remove duplicated condition
  * Fix typos
  * Fix incorrect format parameters
  * xwayland: free server in error path

  [ Ronan Pigott ]
  * session/logind: support CanGraphical property
  * render/gles2: do not set GL_TEXTURE_MAG_FILTER
  * virtual_pointer: remember current axis for axis events

  [ Tobias Langendorf ]
  * xwm: add support for xwayland minimize

  [ Danct12 ]
  * Add support for HWC2

  [ Nick Gasson ]
  * Rebase hwcomposer backend on 0.10.1
  * Remove hard-coded width and height

  [ TheKit ]
  * hwcomposer backend: update for latest wlroots
  * render/egl: fallback to plain eglGetDisplay

  [ NeKit ]
  * Start hwcomposer backend as a copy of headless
  * Add hwcomposer backend creation to wlr_backend_autocreate
  * Remove headless backend's input device code from hwcomposer backend
  * hwcomposer: use separate function to setup layers (adapted from KWin code)

  [ Tudor Brindus ]
  * backend/libinput: correctly populate x/y fields on tablet proximity in
  * input/tablet: populate tool tip event position
  * input/tablet: fix up updated axes after rotation
  * input/tablet: clear focused surface on surface destroy
  * wlr/types: use bitshifts for tablet axes enum
  * backend/wayland: emit tablet tool axis events to the axis handler
  * input/keyboard: expose keymap matching helper
  * input/pointer: notify compositor when constraint region changes
  * tablet: pass motion events to implicitly grabbed surface
  * tablet: expose wlr_tablet_tool_v2_has_implicit_grab function
  * util/log: use bright black rather than black for WLR_DEBUG
  * xwayland: send focus change event unconditionally
  * xwayland: add error-checking to `server_start_lazy`
  * backend/wayland: scale tablet tool position into [0, 1] range
  * util: fix and move `get_current_time_msec` into a util file
  * util/time: de-duplicate `timespec_to_msec`
  * util/time: move `timespec_sub` to time utilities
  * input/keyboard: send modifiers on first keyboard enter
  * input/pointer: add wlr_seat_pointer_wrap

  [ Andri Yngvason ]
  * backend: touch: Assign good ids to single touch devices
  * backend: touch: Fixup incomplete patch for single touch devices.
  * output: Add commit sequence number
  * protocol/screencopy: Add damage reporting
  * screencopy: Implement damage reporting
  * virtual-pointer: Actually use the value passed to axis_discrete
  * virtual-pointer: Add request for mapping to specific output
  * export-dmabuf: Schedule output frame on request
  * export-dmabuf: Keep frame->output = NULL until frame is ready
  * render: egl: Add utility functions for saving/restoring context
  * render: Add wlr_renderer_blit_dmabuf()
  * protocol: screencopy: Extend to report linux-dmabuf capability
  * screencopy: Implement copying into linux-dmabuf
  * examples: Add screencopy-dmabuf example
  * render: Fix blit_dmabuf() breakage due to API change
  * backend: drm: Fix dmabuf resource leak
  * screencopy: Use correct constant for y-inversion
  * render: gles2: Fix y-inversion in gles2_blit_dmabuf()
  * screencopy: Use correct dmabuf to get y-inversion flag
  * examples: screencopy-dmabuf: Fix y-inversion
  * render: egl: Use current display to restore NULL context

  [ xdavidwu ]
  * text-input: fix missing destroy signal init
  * virtual-keyboard: add wlr_input_device_get_virtual_keyboard
  * input-method: implement keyboard grabs
  * examples/input-method-keyboard-grab: new example

  [ j-n-f ]
  * examples: fix improper use of `free`

  [ Greg V ]
  * rootston: fix crash with fullscreen surfaces
  * Implement the pointer-gestures-unstable-v1 protocol
  * Support pointer-gestures on Wayland backend
  * xdg-shell: check for existing role before setting xdg_popup_surface_role

  [ John Chadwick ]
  * xwm: end transfers when the requestor is destroyed

  [ Kirill Chibisov ]
  * xcursor: add xorg-x11 and cursors path to XCURSORPATH

  [ Simon Zeni ]
  * render/gles2: use glGetAttribLocation instead of hardcoded indices

  [ Thomas Hebb ]
  * wlr_seat: Declare functions in the same order for pointer, keyboard, and touch
  * wlr_seat: Clarify wording of non-grab-respecting function comments
  * Allow keyboard and pointer grabs to hook clear_focus()

  [ Brian Ashworth ]
  * Merge pull request #1199 from apreiml/farthest_output
  * Merge pull request #1196 from dcz-purism/surface_move
  * backend/wayland: fix resizing
  * wlr_xdg_output_v1: only send name/description once
  * xwm: stack below on map
  * drm: do not modeset to current mode
  * wlr_output: do not modeset to current mode
  * backend/drm: fix modeset on drm fd resume
  * wlr_output_layout_get_box: handle empty layout
  * backend/wayland: improve output number handling
  * backend/x11: improve output number handling
  * backend/headless: improve output number handling
  * backend/noop: improve output number handling
  * wlr_xdg_toplevel: store pending fullscreen output
  * wlr_xdg_toplevel_v6: store pending fullscreen output
  * session/logind: keep active for pause_device gone
  * zwp_virtual-keyboard: fix mmap error handling
  * wlr_xdg_toplevel: reparent on parent unmap
  * wlr-layer-shell-v1: destroy xdg popups on unmap
  * Introduce wlr_keyboard_group
  * wlr_keyboard_group: fix mem leak in refresh_state
  * meson.build: update wayland requirement to 1.18
  * wlr_keyboard_group: introduce enter and leave

  [ Kalyan Sriram ]
  * tinywl: fix geo_box bug in cursor resizing
  * Don't send redundant capability updates

  [ Julien Olivain ]
  * render/egl: include EGL/eglmesaext.h only if present

  [ JonnyMako ]
  * backend/drm: fix missing cursor on external monitors with multi-GPU setup and nouveau

  [ David96 ]
  * Add wlr_surface_accepts_touch

  [ Will Daly ]
  * Fix error when reconnecting external display

  [ Scott Anderson ]
  * Remove unneeded mesa-specific header
  * Add new feature options
  * Use feature options for libcap/logind
  * Use new options for X11 backend and Xwayland
  * Update rootston to use new option
  * Update examples to use new option
  * Add link dependency on symbols file
  * Remove unnecessary project arguments
  * Make style more consistent
  * Install headers explicitly
  * Use pkg-config to find wayland-scanner
  * Use current_source_dir instead of source_root
  * Use input file for configure_file
  * Replace generator with custom_target
  * Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""
  * Change how glgen.sh outputs files
  * Remove indent_size from .editorconfig
  * Merge pull request #1277 from emersion/reset-gamma
  * Merge pull request #1284 from emersion/schedule-frame
  * Merge pull request #1280 from emersion/drm-link-status
  * Include wlr/config.h in x11.h
  * Fix libdrm includes
  * Merge pull request #1313 from colemickens/libdrm
  * backend/wayland: Move registry into backend
  * backend/wayland: Use specific wl_global versions
  * backend/wayland: Move initilisation code earlier
  * backend/wayland: Make header order consistent
  * backend/x11: Rename xcb_conn to xcb
  * backend/x11: Make header order consistent
  * backend/x11: Move atom initilisation earlier
  * backend/x11: Check for xinput extension
  * backend/x11: Add new Xinput events
  * backend/x11: Remove old input functions
  * backend/x11: Hide cursor with Xfixes
  * backend/drm: Improve encoder logic
  * backend/drm: Fix uninitialized variable
  * Merge pull request #1524 from mnussbaum/user-unit-wip
  * Merge pull request #1526 from VincentVanlaer/cursor-dmabuf
  * Merge pull request #1565 from Emantor/fix/realloc_allocation
  * backend/drm: Unset cursor on cleanup
  * Merge pull request #1604 from emersion/direct-session-cloexec
  * backend/drm: Don't fail on failing to find overlay format
  * Merge pull request #1606 from emersion/xwayland-dev-null
  * render: introduce wlr_drm_format_set
  * Advertise wl_seat version 7
  * Merge pull request #1696 from RedSoxFan/logind-stay-active-on-gone
  * Merge pull request #1704 from rindeal/patch-2
  * Merge pull request #1705 from rindeal/patch-2
  * Merge pull request #1713 from Emantor/fix/legacy_null_modeset
  * Remove WLR_DRM_NO_ATOMIC_GAMMA workaround
  * backend/drm: Simplify object matching code
  * backend/drm: Exit-early if 0 crtcs
  * render/egl: Change KHR_debug log to include error code
  * backend/x11: Give X11 a real rendering loop
  * session/logind: Clean up add_signal_matches
  * render/gles: Simplify textures a bit
  * backend: Do not attempt DRM on X11/WL failure
  * backend/x11: Drop required present version
  * backend/x11: Revert usage of present extension
  * meson: Various improvements
  * meson: Remove tag generation
  * Bump meson version to 0.51.2
  * meson: Fix protocol includes for compositor examples
  * examples: Fix compositor-examples
  * wlr_surface: Post error if multiple role objects created
  * backend/drm: introduce wlr_drm_fb
  * backend/drm: don't have fallback atomic commits
  * backend/drm: move atomic cursor code into pageflip code
  * backend/drm: don't allow legacy to use direct scanout
  * Remove libcap support

  [ Greg Depoire--Ferrer ]
  * tinywl: Fix wrong anchor point while resizing a window

  [ Tudor Roman ]
  * seat: add selection event docs

  [ r-c-f ]
  * seat: add check for NULL keyboard

  [ Rabit ]
  * Prevent memory leak in copypaste of the screencopy example

  [ Filip Sandborg ]
  * render/gles2: fix calculation for partial gles2 pixel read (#1809)
  * Fix uint32 overflow in fill_empty_gamma_table on Icelake platform

  [ Jan Beich ]
  * Simplify evdev includes on FreeBSD by relying on up-to-date package
  * Update FreeBSD build
  * Add xcb-errors to FreeBSD build
  * backend: unbreak on 32-bit architectures
  * Switch to system epoll-shim.pc in FreeBSD build
  * Test RDP backend on FreeBSD as well
  * examples: set mode when creating shm object
  * backend/session: allow GPU enumeration on FreeBSD
  * xcursor: also look for cursor themes under ${datadir}/icons by default

  [ Guido Günther ]
  * ctags: use -f instead of -o
  * rootston: Don't let the wlr_output handle the fullscreen view in case of layer-shell overlays
  * rootston: Make add_{switch,binding}_config static
  * Unbreak build with '-Wstrict-prototypes'
  * rootston/view: Remove redundant declaration in the same file
  * wlr_xdg_shell: Remove redundant declaration in the same file
  * Remove glEGLImageTargetTexture2DOES
  * wlr_output: Add preferred property (#1625)
  * rootston: Also iterate layer shell popups
  * Merge pull request #1642 from emersion/format-set
  * Emit preferred mode
  * wlr_seat_touch: Don't destroy touch point with surface
  * layer-shell: Remove unused event source
  * layer-shell: Reject requests on gone surfaces
  * text_input: Don't forget to send enter events
  * Add wlr-output-power-management
  * Implement wlr-output-power-management-v1
  * examples: add output-power-management example client
  * wlr_output_power_management_v1: Init output_power->link

  [ Aleksei Bavshin ]
  * xdg-shell: fix popups rendered outside of the screen

  [ Michael Weiser ]
  * keyboard-shortcuts-inhibit: Implement the protocol
  * keyboard-shortcuts-inhibit: Add client example
  * idle-inhibit: Style and naming improvements

  [ Dorota Czaplejewicz ]
  * wlr_input_device: fix keyboard destruction
  * wlr_virtual_keyboard: use wlr_input_device_destroy
  * rootston/layer_shell: fix clicking after surface moved/resized
  * rootston: Keep older anchored layers near anchor points
  * wlroots: add support for zwp_text_input_unstable_v3
  * build: bump wayland-scanner version
  * wlroots: add basic support for zwp_input_method_v2
  * rootston: add support for text input and the basic of input method
  * text-input: fix releasing destroy handlers
  * text-input: Accept disable requests
  * text-input: Don't reject enable requests when unfocused
  * x11: Send a frame event on the pointer after button events
  * virtual_keyboard: Require keymap before accepting keycodes
  * virtual_keyboard: Accept keycode 0
  * text_input_v3: Note features supported by the text field

  [ Manuel Stoeckl ]
  * Implement serial validation for selection requests
  * wlr_seat: Fix edge cases with serial validation
  * wlr_pointer_gestures: Register event serials
  * wlr_tablet_v2: Register event serials
  * wlr_seat: special-case first serial set use
  * Use -fmacro-prefix-map to strip build path
  * output: fix cursor wl_surface.{enter,leave} tracking
  * Fix output rotation direction
  * output: fix output transform compositions

  [ Jan Staněk ]
  * Honor the `examples` meson setting
  * Declare wlr_seat globals as extern

  [ Jason ]
  * Amend typos
  * Amend typo
  * Allow WLR_RDP_PORT to be any valid TCP/UDP port number

  [ Josef Gajdusek ]
  * virtual-pointer: Add support for the wlr-virtual-pointer-unstable-v1

  [ Ting-Wei Lan ]
  * backend/session/freebsd: Fix the way to get TTY path

  [ myfreeweb ]
  * Send tablet tool frame on proximity_out

  [ n3rdopolis ]
  * meson.build: require logind v237
  * Update environment variable documentation to include more backends
  * note libinput as well

  [ Timidger ]
  * Standardize the wlr_box input paramaters
  * layer_shell: set layer of existing surface
  * Use layer shell v2

  [ Alynx Zhou ]
  * Skip assign when sub_x or sub_y is NULL in wlr_surface_surface_at

  [ György Kurucz ]
  * Fix heap-use-after-free in wlr_send_tablet_v2_tablet_pad_leave

  [ Ferdinand Bachmann ]
  * Add missing include required by mesa and libglvnd change

  [ Ivan Molodetskikh ]
  * data-control: add primary selection support
  * Update data-control
  * presentation_feedback: add the sampled state
  * drm: use IMPORT_FD for INVALID modifier
  * output: add block_idle_frame

  [ Danilo Spinella ]
  * Add new define EGL_NO_X11 for newer mesa library

  [ amingin ]
  * Fixes crash of compositor when unvalidated keycode 0 is passed (#1833)

  [ Markus Ongyerth ]
  * Implement feedback
  * Fix tablet_tool tilt and send proximity_out
  * Prevent NULL dereference in tablet_tool handler
  * send proximity_out in proximity in for tablet_v2
  * Move initialization of wlr_tablet_pad into types/wlr_tablet_pad
  * Add zwp-tablet-unstable-v2 client support
  * Clean up wayland backend tablet support

  [ Versus Void ]
  * xdg-output: send wl_output.done after xdg_output created

  [ Sebastian Krzyszkowiak ]
  * Post protocol error on invalid wl_surface scale
  * rootston: don't try to maximize fullscreen surfaces
  * rootston: surface_at: check for fullscreen surfaces in between TOP and OVERLAY layers
  * seat: Move focus back to first shell surface when unfocusing layer surface
  * xdg_shell(_v6): Take maximize/fullscreen state into account on view init
  * wlr_touch: Declare wlr_touch_impl usage as const
  * backends/x11: Touch support
  * wlr_input_method_v2: Remove input method's resource from the list on destroy
  * wlr_seat_touch: add a way for a grab to ignore a touch point
  * wlr_xdg_popup: grab touch events alongside pointer and keyboard
  * wlr_xdg_popup: don't treat all surfaces of grabbing client as grabbing surfaces
  * Revert "wlr_xdg_popup: don't treat all surfaces of grabbing client as grabbing surfaces"
  * wlr_seat_touch: Destroy the touchpoint on client destroy

  [ Jason Francis ]
  * screencopy: fix segfault on disabled output
  * screencopy: send failed after output disconnect
  * export-dmabuf-v1: fix segfault on output disable

  [ Ashkan Kiani ]
  * Use a set to track pointer button state.

  [ emersion ]
  * Fix build on FreeBSD
  * Merge pull request #1188 from emersion/freebsd-fixes
  * Merge pull request #1189 from agx/ctags-f
  * rootston: fix again FreeBSD build
  * backend/drm: add support for DRM_MODE_CONNECTOR_DPI
  * Do not modeset disabled outputs
  * backend/drm: allow disabling outputs in NEEDS_MODESET state
  * backend/drm: emit new_output after scanning connectors
  * Init dmabuf global in renderer
  * backend/drm: fix invalid VLA size in scan_drm_connectors
  * rootston: fix segfault on tablet pad destroy
  * Merge pull request #1228 from arandomhuman/misc-mem
  * Merge pull request #1226 from RyanDwyer/xwayland-set-role
  * backend/drm: better hotplug handling
  * backend/drm: log when de-allocating CRTC
  * backend/drm: remove unused if
  * backend/drm: prevent use of uninitialized data
  * backend/drm: consider continue not using resources
  * backend/drm: cosmetic enhancements
  * backend/drm: damage outputs when switching CRTCs
  * Merge pull request #1232 from nyorain/fix/dnd-offset
  * Merge pull request #1233 from nyorain/fix/xwayland_destroy
  * Merge pull request #1234 from mntmn/master
  * backend/drm: de-allocate unused CRTCs
  * Merge pull request #1160 from Ongy/tablet-grabs
  * output: introduce WLR_NO_HARDWARE_CURSORS
  * output: make wlr_output_enable return a bool
  * xdg-output: add _v1 suffix
  * layer-shell: add _v1 suffix
  * backend/drm: steal CRTCs from disabled outputs
  * output-layout: don't expose outputs without a mode
  * Merge pull request #1249 from arandomhuman/keymap_fd
  * backend/headless: add assertions
  * backend/libinput: add assertions
  * backend/multi: add assertions
  * backend/session: add assertions
  * backend/wayland: add assertions
  * backend/x11: add assertions
  * backend/drm: add assertions
  * output: add wlr_output_set_hardware_cursors_enabled
  * export-dmabuf: disable hardware cursors if desired
  * buffer: disconnect clients that commit an unknown buffer type
  * Merge pull request #1253 from RyanDwyer/multi-for-each-backend
  * Merge pull request #1256 from sghctoma/fbsd-multiseat-fixes
  * Merge pull request #1257 from sghctoma/fix-protocol_meson
  * Merge pull request #1260 from RyanDwyer/xwayland-set-decorations
  * Fix unknown cursor in layer-shell example
  * examples/pointer-constraints: style fixes
  * pointer-constraints: rename wl_{global,resources}
  * pointer-constraints: make region not a pointer, add committed bitfield
  * pointer-constraints: refactoring
  * rootston: remove broken rotated pointer constraint handling
  * pointer-constraints: use proper wayland-scanner functions
  * seat: remove unused keyboard focus_change event
  * pointer-constraints: add unstable header
  * backend/drm: don't free connector immediately
  * Merge pull request #1269 from ivyl/remove_xcb_image
  * Merge pull request #1265 from sghctoma/conditional-b_lundef
  * gamma-control-v1: add missing destroy handler
  * Merge pull request #1271 from emersion/gamma-control-destroy
  * output: make gamma size a size_t and gamma table const
  * backend/drm: reset gamma table on VT switch
  * backend/drm: update EDID manufacturers database
  * Merge pull request #1281 from aereaux/edid-sizes
  * backend/drm: add support for the link-status property
  * presentation-time: add protocol implementation
  * output: add present event
  * output: send present event from all backends
  * output: document signals
  * backend: add get_present_clock
  * output: fix clock_gettime return value handling
  * Rename get_present_clock to get_presentation clock, use it
  * rootston: add layer_for_each_surface
  * rootston: add output_for_each_surface
  * rootston: send presentation events
  * output: add presentation refresh prediction
  * output: don't trigger a frame immediately in schedule_frame
  * output: fix busy loop when backend doesn't implement schedule_frame
  * backend/drm: properly handle GPUs without CRTCs
  * backend/drm: fix zero-length VLAs
  * data-device: remove wlr_data_source.seat_client
  * Merge pull request #1292 from n3rdopolis/patch-3
  * rootston: export XCURSOR_SIZE and XCURSOR_THEME
  * output: remove idle_frame event source when destroying output
  * backend/drm: don't reset conn->pageflip_pending in drm_connector_cleanup
  * Merge pull request #1302 from ascent12/x11_config
  * input-method-v2: fix include guard name
  * Merge pull request #1303 from dcz-purism/fix_surface_gone
  * Merge pull request #1305 from Wolf480pl/fix-xwayland-input-hint
  * backend: fix use-after-free in wlr_backend_autocreate
  * tablet-v2: fix memory leak on OOM, fix resource version
  * Merge pull request #1310 from colemickens/patch-1
  * Merge pull request #1309 from swaywm/fix-headless-libinput
  * xwayland: handle configure event mask
  * Merge pull request #1314 from nyorain/write_pixels_format
  * output-layout, cursor: fix duplicate cursors
  * Merge pull request #1321 from RyanDwyer/xwm-remove-dangling-parent
  * Merge pull request #1320 from emersion/fix-duplicate-cursors
  * Update version to 0.1
  * xwayland: fix typo to enable transparency
  * Merge pull request #1336 from swaywm/freebsd
  * idle: allow zero timeout
  * render: on Wayland, make eglSwapBuffers non-blocking
  * Merge pull request #1337 from emersion/idle-zero-timeout
  * Merge pull request #1339 from MrSorcus/master
  * input-method-v2: initialize destroy signal
  * util: use shm_open for in-memory files
  * xwayland: don't fail if XDG_RUNTIME_DIR is not set
  * rootston: fix segfault in view_at
  * rootston: fix segfault when destroying unmapped fullscreen views
  * backend/drm: add WLR_DRM_NO_ATOMIC_GAMMA env variable
  * backend/drm: fix frame scheduling on secondary GPUs
  * Merge pull request #1344 from emersion/no-atomic-gamma
  * render/gles2: remove assumptions about supported formats
  * backend/drm: specify minimum config attributes
  * render/gles2: check for GL_OES_EGL_image_external
  * surface: fix wlr_surface_get_effective_damage to give surface coords
  * Use _POSIX_C_SOURCE, use shm_open
  * examples: only link clients to wlroots if necessary
  * Merge pull request #1362 from julio641742/patch-1
  * Merge pull request #1361 from sghctoma/fix-shm
  * render: correctly set EGL_RENDERABLE_TYPE
  * backend/wayland: handle WL_EVENT_WRITABLE for Wayland socket
  * Use #if instead of #ifdef for wlroots config data
  * xdg-shell: don't destroy xdg role state on role destroy
  * tablet-v2: fix segfault on display destroy
  * Merge pull request #1368 from ascent12/x11_backend
  * output: remove wlr_output_set_fullscreen_surface
  * output: add wlr_output_render_software_cursors
  * output: make wlr_egl flip the damage
  * gtk-primary-selection: support multiple devices
  * gtk-primary-selection: track resources
  * Merge pull request #1382 from atomnuker/master
  * Merge pull request #1380 from emersion/gtk-primary-selection-multiple-devices
  * Merge pull request #1385 from atomnuker/master
  * Rename wlr_primary_selection to wlr_gtk_primary_selection
  * Merge pull request #1390 from ammen99/fix-preferred-read-format
  * Merge pull request #1391 from buffet/fix-loc-count
  * Disable Clang static analysis
  * text-input-v3: remove newline in log message
  * data-device: allow multiple devices for the same seat
  * data-device: never cancel the source when offer is destroyed
  * surface: fix destroyed subsurfaces handling
  * gtk-primary-selection: refactor everything, untie from seat
  * gtk-primary-selection: remove offer struct
  * gtk-primary-selection: use impl pattern for sources
  * gtk-primary-selection: fix segfault when no focus
  * backend/wayland: fix zero-length VLA
  * primary-selection: introduce wlr_primary_selection_source
  * output: switch swap_buffers damage to output-buffer-local coords
  * Merge pull request #1404 from saimen/bump-version-number
  * xdg-shell: emit xdg_surface destroy when role object is destroyed
  * backend/drm: fix VLA overflow
  * tablet-v2: fix wlr_tablet_seat_v2 leak
  * ci: add Alpine build
  * backend/session/logind: improve logging
  * export-dmabuf-v1: add missing destroy request handler
  * Merge pull request #1201 from ammen99/master
  * backend/drm: fix disappeared output indices
  * gtk-primary-selection: basic serial validation
  * gtk-primary-selection: warn when offering MIME type after set_selection
  * Merge pull request #1434 from martinetd/xwayland_clearenv
  * Merge pull request #1377 from tokyovigilante/switch-events
  * backend/drm: don't insert duplicate custom modes, fix refresh rate
  * Merge pull request #1435 from emersion/duplicate-custom-modes
  * Merge pull request #1439 from ammen99/master
  * Merge pull request #1440 from sghctoma/fbsd-manifest
  * backend/drm: get physical size from libdrm
  * data-control-v1: initial protocol implementation
  * data-control-v1: fix crash after wlr_data_control_v1_destroy
  * data-control-v1: update protocol to allow NULL selections
  * data-control-v1: fix crash in manager_handle_get_data_control
  * data-device: fix dangling listener in seat_client_selection_source_destroy
  * data-control-v1: allow clearing selection
  * data-control-v1: fix data source not properly destroyed
  * data-control-v1: update to latest protocol proposal
  * Merge pull request #1432 from ForTheReallys/relative-pointers
  * Merge pull request #1448 from myfreeweb/fix-retroarch-crash
  * fullscreen-shell-v1: initial protocol implementation
  * relative-pointer-v1: move pointer iteration in wlroots
  * Merge pull request #1451 from emersion/relative-pointer-send
  * Fix a few typos
  * Merge pull request #1457 from swaywm/xdg-shell
  * Merge pull request #1459 from swaywm/wl-output-title
  * Merge pull request #1461 from c-edw/feature/WLRToplevelAndPopup
  * Merge pull request #1471 from SimulaVR/tinywl-lib-order
  * meson: yield xwayland option
  * rootston: document why Xwayland is disconnected before clients
  * Merge pull request #1478 from Lahvuun/relative_pointer
  * backend/drm: fix state for outputs loosing their CRTC
  * Merge pull request #1480 from RyanDwyer/noop-header
  * Fix indentation in various files
  * primary-selection: add a serial argument
  * Merge pull request #1485 from emersion/data-device-serial
  * data-device, primary-selection: add request_set_selection
  * text-input-v3: use protocol from wayland-protocols
  * data-device: make sources inert, rename cancel to destroy
  * data-device: remove data_source_send_offer
  * data-device: send offer on get_data_device
  * data-device: unexport wlr_seat_client_send_selection
  * data-control-v1: use new wlr_data_source API
  * data-device: fix missing listener removal
  * seat: simplify data source destroy
  * data-device: make device inert when seat is destroyed
  * data-device: add wlr_data_offer.type
  * data-device: keep track of wlr_data_offer in wlr_seat lists
  * Set .editorconfig ident_size
  * pointer: add a frame event
  * backend/wayland: handle wl_pointer.axis_stop
  * data-control-v1: handle NULL sources in set_selection
  * backend/drm: fix GBM format mismatch
  * Require libdrm >= 2.4.95
  * Fix two issues found with Clang's static analyzer
  * meson: remove b_lundef=false on FreeBSD
  * Add missing frame events to shell pointer grabs
  * data-device: fix use-after-free on drop
  * seat: don't send motion if pointer hasn't moved
  * rootston: only allow one drag icon per seat
  * data-device: only allow one drag at a time
  * relative-pointer-v1: time is in usec, not msec
  * De-duplicate data source MIME types
  * backend/session/logind: dup FD with CLOEXEC
  * data-device: fix crash when setting the same selection twice
  * Bump project version to 0.3
  * data-device: destroy previous source when starting drag
  * xdg-shell: destroy child popups on unmap
  * Deprecate old protocols
  * primary-selection-v1: copy from gtk-primary-selection
  * surface: error out on invalid transform
  * subsurface: add map/unmap events
  * xwayland, data-device: fix surface state on unmap
  * data-device: make old offers inert before sending selection
  * backend/drm: fix NULL dereference when unsetting cursor
  * xwayland: don't use SOCK_CLOEXEC
  * xwayland: remove remaining SOCK_CLOEXEC
  * data-device: refactor wlr_drag
  * data-device: fix drag cleanup if not started
  * rootston: cancel drag on invalid serial
  * data-offer: send WL_DATA_OFFER_ERROR_INVALID_FINISH
  * data-device: unbreak wl_data_source.cancel during drag-and-drop
  * rootston: move part of desktop.c to view.c, use an interface for views
  * rootston: add a view child interface
  * rootston: make roots_view embedded and remove unions
  * data-device: check if there's a source before sending dnd_finish
  * Bump version to 0.4
  * seat: guard against button count corruption
  * meson: enable more compiler warnings
  * seat: use wlr_button_state enum instead of uint32_t
  * seat: only store serial if pressing a button
  * tinywl: send pointer frame events
  * backend/session: add noop session
  * rootston: refactor rendering
  * rootston: fix rotated views rendering
  * rootston: fix Xwayland children rendering when fullscreen
  * rootston: split rendering code into render.c
  * rootston: fix input events for rotated views
  * xwayland: don't set DISPLAY
  * seat: add debug logs when validating grab serials
  * backend/session: open TTY with O_CLOEXEC for direct session
  * xwayland: set CLOEXEC on /dev/null FD
  * meson: remove -Wredundant-decls
  * render: switch wlr_renderer to wlr_drm_format_set
  * util/log: setup wayland log handler
  * Add support for wlr-output-management-unstable-v1
  * Split wlr_output_configuration_head_v1
  * Add apply and test events to manager
  * output-management-v1: various fixes
  * rootston: add output-management-v1 support
  * output-management-v1: add support for modes
  * rootston: update output-management-v1 state when output is modeset
  * output-management-v1: add support for position, transform and scale
  * output-management-v1: support applying configuration
  * output-management-v1: fix wl_fixed_t conversion
  * output-management-v1: support outputs without modes
  * output-management-v1: update protocol, add set_custom_mode
  * rootston: disable then enable outputs when applying output-management state
  * output-management-v1: add more docs
  * output: remove lx, ly
  * backend/drm: add basic support for direct scan-out

  [ Jan Chren ]
  * session/logind: specify seat exactly
  * session/logind: check for XDG_SESSION_ID first

  [ Silvan Jegen ]
  * rootston: remove duplicated include

  [ Michiel ]
  * Fixes #1689 RDP RemoteFX crash

  [ Alyssa Ross ]
  * Fix missing headers when building without X11

  [ Stuart Dilts ]
  * types/meson.build: Add compile args for libinput to lib_wlr_types (#1636)

  [ Niklas Schulze ]
  * backend/session: Allow setting a custom tty via WLR_DIRECT_TTY

  [ Ian Fan ]
  * examples/layer-shell.c: check popup exists before drawing
  * wlr_xdg_output_v1: move where name & description are sent
  * seat: fix remaining wlr_button_state enum rename

  [ athrungithub ]
  * clang compile fix #1572

  [ Vincent Vanlaer ]
  * Allow cursor render surface to be used as fb
  * Copy cursor surface to secondary gpu if necessary
  * Add workaround for hardware cursors on nouveau

  [ Uli Schlachter ]
  * xwm: Add _NET_CLIENT_LIST support

  [ Geoff Greer ]
  * Add a wlr_output_set_subpixel()

  [ Connor E ]
  * Remove wlr_xdg_surface_send_close.
  * Use assertions instead of guard.
  * Make popup inert when destroyed.
  * Add build-*/ to gitignore.

  [ mnussbaum ]
  * Allow compositors to run as systemd user units

  [ John Chen ]
  * Fix swaywm/sway#3545.
  * Fix another instance of swaywm/sway#3545.

  [ Yong Joseph Bakos ]
  * tinywl/README: Fix misspelling.

  [ Jente Hidskes ]
  * Protect against redefining MESA_EGL_NO_X11_HEADERS
  * wlr/backend/x11.h: add documentation
  * Add wlr_x11_output_set_title
  * backend/x11 & backend/wayland: make set_title NULL-safe

  [ Ilya Trukhanov ]
  * Fix segfault in get_relative_pointer
  * Check if client understands wl_pointer::frame

  [ Ryan Dwyer ]
  * Merge pull request #1211 from aereaux/aereaux-patch-1
  * xwayland: Add WM_STATE modal property
  * xwayland: Introduce request_activate event
  * xwayland: Introduce set_role event
  * Introduce wlr_multi_for_each_backend
  * xwayland: Introduce set_decorations event
  * Prevent excessive frame events when compositor doesn't swap buffers
  * xwm: Remove child->parent pointer when parent destroys
  * xwm: Unset min/max size hints if they're not used
  * Merge pull request #1335 from emersion/fucking-transparency
  * Merge pull request #1395 from emersion/text-input-log-newline
  * Introduce noop backend
  * Add noop.h to include/wlr/backend/meson.build

  [ David Kraeutmann ]
  * Fix tinywl linking order (#1463)

  [ Alexander Bakker ]
  * Add destroy signals to types that are destroyed by wl_display_destroy
  * Init the new destroy signals added by #1200
  * Fix software cursor rendering for tinywl and some examples

  [ Alex Maese ]
  * Add wlr_relative_pointer_v1.h to meson.build
  * Remove wl_client from wlr_relative_pointer_v1
  * Removed relative pointers from wlr_seat
  * Only send relative motion to correct seat
  * Remove pointer resource from relative pointer
  * Address @emersion's comments
  * Add unaccelerated pointer values to wlr_event_pointer_motion events
  * Address more of @emersion's comments
  * Add a listener for when the pointer gets destroyed
  * Rename some variables for clarity
  * Finish addressing @emersion's comments
  * Only send relative events to the focused client in rootston

  [ random human ]
  * Fixes examples/dmabuf-capture being built with unmet dependencies
  * Fix bugs listed by clang's static analyzer
  * Add clang's static analyzer to build.yml
  * Add function wlr_log_get_verbosity()
  * Free unused pointer in x11/backend.c
  * Handle setting keymap in examples more securely
  * Call wl_global_create first in case of failure
  * Destroy layout after display in examples/output-layout
  * Release registry pointer in examples/idle
  * Release pointers in examples/multi-pointer
  * Remove listener link after tablet_manager destroy
  * Close stdout/stderr for Xwayland
  * Add support for setting log verbosity in rootston
  * Update wlr_log_init docs
  * Add support for WLR_SESSION env variable
  * Send unique keymap file descriptors
  * wlr_surface: fix surface damage transformation
  * wlr_surface: fix surface damage on resize
  * wlr_surface: remove duplicated damage calculation
  * wlr_surface: more consistent argument naming in surface_update_damage
  * wlr_surface: add wlr_surface_get_effective_damage
  * relative_pointer: create skeleton and build
  * relative_pointer: implement protocol requests
  * relative_pointer: implement protocol events
  * relative_pointer: code formatting fixes
  * relative_pointer: send frame event to pointer for Xwayland
  * relative_pointer: add relative-pointer example
  * relative_pointer: implementation and code fixes

  [ sghctoma ]
  * Fix that major(st_rdev) have no meaning on FreeBSD
  * Merge remote-tracking branch 'upstream/master' into fix-freebsd-direct-session
  * Activate last active VT after compositor exit
  * Merge remote-tracking branch 'upstream/master' into fix-freebsd-direct-session
  * Implement device type discovery using ioctl calls
  * Fix build failure on non-FreeBSD systems
  * Fix partial dependency in protocol/meson.build
  * Apply multiseat fixes to FreeBSD direct backend
  * Add b_lundef=false Meson option on FreeBSD
  * Adjust README to reflect change regarding b_lundef
  * Set minimum Meson version to 0.48.0
  * Use == to check system instead of a prefix match
  * Increase _POSIX_C_SOURCE to 200112L
  * Add epoll-shim dependency on FreeBSD
  * Force ftruncate for shared mem. objects on FreeBSD
  * Use ftruncate to set shared memory object's size
  * Remove WLR_HAS_POSIX_FALLOCATE from build system
  * Fix FreeBSD build manifest

  [ Dominique Martinet ]
  * xwayland: remove clearenv() call

  [ Louis Taylor ]
  * Correct WLR_BUTTON_PRESSED to WLR_KEY_PRESSED
  * view_at: remove unused variable
  * rootston: use int for width, height
  * rootston: use box for views position

  [ Duncaen ]
  * Install wlr_pointer_constraints_v1.h

  [ Simon Barth ]
  * build: bump versino to 0.2.0

  [ Cosimo Cecchi ]
  * xcursor: Support XDG user data dir location

  [ Philipp Ludwig ]
  * xcursor: fix crash when encountering cursor themes with circular dependencies

  [ buffet ]
  * Fixed loc count in readme

  [ Rostislav Pehlivanov ]
  * Skip interlaced modes during drm mode detection
  * Fix interlaced mode rejection

  [ Cedric Sodhi ]
  * Tell Mesa not to attempt X11 headers

  [ Julio Galvan ]
  * Fix compilation error on musl

  [ Tobias Stoeckmann ]
  * xcursor: Fix heap overflows when parsing malicious files

  [ Sorcus ]
  * Fix "variable ‘cursor_default’ set but not used"

  [ nyorain ]
  * Fix #1129 and remove sx, sy from wlr_drag_icon
  * Fix wlr_xwayland_destroy
  * Rework session handling
  * Use sd_bus_get_property_trivial & remove numbering
  * Support older wlr_linux_dmabuf_v1 clients
  * Remove fmt parameter from wlr_texture_write_pixels
  * Use enum wl_shm_format for gles2 texture formats

  [ Cole Mickens ]
  * Fix include path for (libdrm/)drm_fourcc.h
  * render: fix meson including libdrm

  [ Wolf480pl ]
  * xwayland/xwm: make hints->input default to true

  [ ixru ]
  * Fix cursor visibility on surface commit
  * Better placement of visibility check

  [ Aidan Epstein ]
  * Fix uninitialized value in wlr_cursor.
  * Update sizes for new EDID database.

  [ Emmanuel Gil Peyrot ]
  * Fix a crash on zxdg_decoration_manager_v1 destroy

  [ Arkadiusz Hiler ]
  * xwayland/xwm: Stop including xcb_image.h

  [ Las ]
  * Add focus change event for seats
  * Make roots_cursor::pointer_view available even if there is a surface
  * Make (wlr_)seat_client_from_pointer_resource public
  * Update pointer focus when cycling focus
  * Remove extraneous indentation and conform to coding style
  * Add wlr_surface::input_region member
  * Make wlr_seat->data in rootston point to the wrapping roots_seat
  * Implement pointer-constraints protocol in wlroots and rootston
  * Fix implicit conversion of floats to ints in calls to pixman_region32_contains_point

  [ mntmn ]
  * fix cursor loss w/ legacy drm and software cursor (tested on etnaviv)

  [ cnt0 ]
  * fix incorrect NULL check

  [ Armin Preiml ]
  * introduce wlr_output_layout_farthest_output

 -- r3vn <giuseppe.corti@protonmail.com>  Wed, 07 Oct 2020 01:04:46 +0200

