Welcome to the official release of Weston 1.11, here's a run-down of some of the main changes since the last stable release.
== libweston == A concerted effort to push the libweston development along reworked how backends are configured to permit them to be initialized independent of Weston's main.c. This was a relatively major change this cycle, restructuring the setup logic for most of the backends and adding a new backend loading routine. Config parsing is still done in main.c but the config data is passed as a structure to the (dynamically loaded) backend module and used or copied into its internal data storage (the config object provided by main.c has a lifetime that ends at the completion of initialization). This passed structure is defined in a header and versioned to enable compatibility validation between frontend and backend. The following backends received this treatment: wayland, drm, x11, headless, fbdev, and rdp. == IVI == Another major area of development focused on the IVI shell and related code. Huge amounts of cleanup, refactoring, and documentation copyediting are helping polish this codebase. A large number of unnecessary API calls were dropped or simplified. Limitations such as seat handling were improved or at least worked around to avoid crashing or other misbehaviors. Dynamic memory allocation was changed to use the stack where possible. NULL pointer checks were added for sanity checking in some APIs, and dropped elsewhere where not strictly needed. Other IVI changes: * When destroying ivi-layout layers, invalidate on_layout handler * Add a 'get_label' functionality for debugging purposes in ivi-shell * Straighten out configuration calls from ivi-layout.c to ivi-shell.c, allowing configure events to be sent more directly. * Remove ivi-shell surface transitions when the surface itself gets removed. == Build system == * Standardize build to use AC_SEARCH_LIBS macro, and cleanup unnecessary alternatives. * More efficiently check for and properly use librt's clock_gettime() in build system * Fix build to not enable systemd-login unless dbus is present. * Straighten out the handling of systemd CFLAGS * Make jpeglib an optional dependency (--with-jpeg/--without-jpeg) * Make WebP an optional dependency (--with-webp/--without-webp) and improve error messages * Instead of tracking the version requirements on wayland-server and wayland-client separately, we now check just a single common version for both. * Various other cleanups to build logic. == Client fixes and improvements == * Add new icons for weston terminal, flower, and editor clients * Cleanup eventdemo output and minor refactoring * Fix weston-info report of clock times and improve its output formatting * Fix crash in weston-simple-egl client when lacking shell and/or ivi-shell objects * Make the panel clock configurable through the config file (Fixes https://bugs.freedesktop.org/show_bug.cgi?id=57583) == Noteworthy Bug Fixes == * Fix crash when focused client doesn't have pointer resources (Fixes https://bugs.freedesktop.org/show_bug.cgi?id=94899) * Fix bad pointer passed to memcpy in drm_output_choose_initial_mode (Fixes https://bugs.freedesktop.org/show_bug.cgi?id=94562) * Fix crash on destruction of clients with two or more surfaces * Fix wrong background surface size and wrong panel width in hmi-controller * Fix crash with wl_seat.release when listener is NULL * Fix incorrect assumptions with the wl_shm_format * Fix a few build issues against FreeRDP 2.0. == Other changes == * Avoid various dependency headers in compositor.h for better encapsulation when writing plugins. * Add shell_interface.get_output_work_area to enable plugins to be better aware of their surroundings (e.g. panels) * Improve lseek checks when testing multi-plane buffers. * Improve drag-and-drop updates for old source versions * Improve handling of systemd sockets for wayland displays. Useful when weston and an early rendering client are started in parallel. * Stop using the input_loop in the x11 backend, as this concept assumed a single output, resulting in random behavior when multiple outputs were present. * Continued work sanitizing wl_fixed_t internals to switch over to the use of doubles. * Rename several gbm fields with gbm_ prefixes to disambiguate them from proposed additions from Nvidia. * Add a check_extension() function for checking for GL extensions instead of using error-prone strstr() tests. * Make option-parser handle short double-arg options * Add the newly stable presentation-time protocol, and in general enable tracking of stable protocols from the wayland-protocols package. * Streamline click handling for surfaces already active Along with the above are the usual vast number of minor changes. Various warnings text improvements, whitespace cleanup, spelling fixes, and grammar corrections. Various error handling improvements, NULL Pointer checks, and leak fixes. Various improvements to usage of x*alloc and related functions. Various codebase refactoring, removal of unneeded functions, casting cleanups, etc. One crash bug relating to xwayland drag-and-drop is being tracked for possible inclusion in the release, but no other major changes are anticipated between now and the release. Changes since RC: ----------------- Bryce Harrington (2): releasing: Update script name configure.ac: bump to version 1.11.0 for the official release Full list of changes since 1.10.0: ---------------------------------- Armin Krezović (1): desktop-shell: make panel clock configurable Benoit Gschwind (24): headless: port the headless backend to the new init api compositor-rdp: refactor configuration API fbdev-backend: refactor configuration API headless-backend: fix leak of transform configuration x11: port the x11 backend to the new init api compositor-wayland: create a basic config structure to use in new init API compositor-wayland: fix memory leak of display_name compositor-wayland: use new config struture to create backend compositor-wayland: move config parsing in create_cursor compositor-wayland: split wayland_output_create_for_config compositor-wayland: split backend_init compositor-wayland: put configuration structure in separate header compositor-wayland: fix spacing and lines wraping compositor-wayland: rename wayland_output_init_from_config compositor-wayland: rename misleading output arg of weston_wayland_output_config_init compositor-wayland: add versionning to config structure compositor-wayland: move configuration parsing to weston main.c main: rename load_wayland_backend_config arg "config" to wc main: replace and remove new_config in load_wayland_backend_config main: rename wayland_backend_config_add_new_output function main: rename wayland_backend_config_release function main: rename new_config arg of weston_wayland_backend_config_release main: rename new_config arg of weston_wayland_backend_config_add_new_output main: let load_wayland_backend() clean up on error Bryce Harrington (23): configure.ac: bump to version 1.10.90 for open development config-parser: Check malloc and strdup returns option-parser: Handle short double-arg options clients: Use zalloc clients & tests: Unify multiple definitions of x*alloc and related functions shared: Print .c file/line number in x* routines ivi: Switch from MEM_ALLOC to the now equivalent xzalloc drm: Spelling fix in comment compositor: Drop unneeded create_output callback compositor: Version the backend configuration structures Revert 'main: Remove unused function load_backend_new()' main: document load_backend_new() x11: Fix incorrect output counting logic configure.ac: bump to version 1.10.91 for the alpha release releasing: Correct documentation for script name data: Some client icons configure.ac: bump to version 1.10.92 for the beta release ivi: Fix spellings in comments build: Define wayland prereq version releasing: Update release docs in regards to the wayland versioned dependency configure.ac: bump to version 1.10.93 for the RC1 release releasing: Update script name configure.ac: bump to version 1.11.0 for the official release Chris Michael (1): libinput-device: Remove unnecessary function call Christopher Michael (1): libinput-device: Remove unnecessary function call Daniel Stone (1): libinput: Remove unused static values Derek Foreman (2): shell: Don't send extra configure events on click linux-dmabuf: Keep checking planes even if the first doesn't support lseek Emmanuel Gil Peyrot (7): configure: Make WebP support togglable, and improve its error message. configure: Make jpeglib an optional dependency. compositor-drm: Remove unused output reference in drm_fb compositor-drm: Write a name in the mode generated from a modeline compositor-drm: Prevent a crash in the pixman renderer zunitc: use platform-independent macros for integer formatting desktop-shell: Don’t reconfigure an already fullscreen surface Eric Engestrom (4): zunitc: remove `break` after `return` zunitc: fix spelling mistake xwayland: fix spelling mistake client: fix spelling mistake FORT David (3): rdp: allow to compile against FreeRDP 2.0 rdp: Fix the ContextNew callback with recent FreeRDP versions compositor: use generated constant instead of hardcoded value Friedrich, Eugen (ADITG/SW1) (1): systemd: take over sockets created by systemd Giulio Camuffo (2): input: use doubles in the interfaces to notify of input events drm: port the drm backend to the new init api Gustavo Zacarias (2): build: add check for clock_gettime() in librt build: actually use CLOCK_GETTIME_LIBS for libzunitc Jon A. Cruz (1): tests: cleanup test runner script. Jonas Ådahl (4): desktop-shell: Unset the shell surface owner when it goes away desktop-shell: Get rid of some unused fields data-device: Update current action even if source version is old input: Don't try to send axis_source when there are no resources Manuel Bachmann (1): build: Require dbus for systemd-login Marek Chalupa (1): simple-egl: use roundtrip after get_registry request Mateusz Polrola (1): ivi-shell: Remove all surface transitions when it is being removed. Matthias Treydte (1): platform: explicitly cast the return value of weston_platform_get_egl_proc_address Miguel A. Vico (2): gl-renderer: Implement & use check_extension compositor-drm: Renaming of gbm fields Murray Calavera (1): clients: fix incorrect format handling in simple-shm Pekka Paalanen (30): Makefile: move presentation_timing source out of toytoolkit Makefile: handle also stable wayland-protocols protocol: migrate to stable presentation-time.xml ivi-shell: include config.h in ivi-layout-transition.c ivi-shell: add include guards on ivi-shell.h ivi-shell: call shell_surface_send_configure() directly ivi-shell: remove configured signal from ivi-layout ivi-shell: introduce ivi-layout-shell.h ivi-shell: remove add_configured_listener left-over ivi-shell: add shell surface labels ivi-shell: add input panel label func ivi-shell: add sanity check in ivi_shell_surface_configure ivi-shell: harden get_ivi_shell_surface() compositor-x11: stop using input_loop compositor: remove input_loop weston-info: do not round refresh rates Makefile: fix systemd-notify plugin CFLAGS weston-info: look for the right wp_presentation tests: check for NULL surface in keyboard and pointer handlers compositor-fbdev: make copy of the device string compositor: constify weston_surface_build_buffer_matrix() compositor: refactor into convert_size_by_transform_scale() ivi-shell-user-interface: ignore all but first seat ivi-layout: clarify get_layers_under_surface doc eventdemo: do not print pointer frames alone eventdemo: use zalloc eventdemo: do not print axis events if not requested eventdemo: use %u for uint32_t printing compositor: fix comments about weston_compositor::surface_list compositor: surface and view output comment fixes Quentin Glidic (4): input: Implement wl_seat.release build: Add (and use) an AC_SEARCH_LIBS wrapper compositor.h: Add shell_interface.get_output_work_area weston.pc: Properly specify Requires.private U. Artie Eoff (1): clients/nested: fix undefined reference to xzalloc Ucan, Emre (ADITG/SW1) (25): ivi-shell: remove content_observer notification ivi-shell: simplify ivi_layout_remove_surface ivi-shell: simplify ivi_layout_layer_add_surface ivi-shell: simplify ivi_layout_set_render_order ivi-shell: simplify ivi_layout_screen_add_layer ivi-shell: simplify ivi_layout_screen_set_render_order hmi-controller: fix wrong background surface size hmi-controller: fix wrong panel width ivi-shell: remove id_screen ivi-shell: remove ivi_layout_get_id_of_screen API ivi-shell: remove ivi_layout_get_screen_resolution API ivi-shell: remove ivi_layout_get_screens API ivi-shell: use weston_output in public APIs ivi-shell: implement get_screen_from_output ivi-shell: remove ivi_layout_get_screen_from_id API ivi-shell: remove ivi_layout_get_screen_output API ivi-shell: remove content_observer leftover ivi-shell: move event_mask to properties struct ivi-shell: rework surface_add_notification API ivi-shell: rework layer_add_notification API ivi-shell: rework create_surface notification ivi-shell: rework create_layer_notification ivi-shell: rework remove_layer notification ivi-shell: rework remove_surface notification ivi-shell: rework configure_surface notification Ucan, Emre \(ADITG/SW1\) (14): ivi-shell: remove ivi_layout_surface_get_visibility API ivi-shell: remove ivi_layout_layer_get_visibility API ivi-shell: remove ivi_layout_surface_get_opacity API ivi-shell: remove ivi_layout_layer_get_opacity API ivi-shell: remove ivi_layout_surface_get_position API ivi-shell: remove ivi_layout_layer_get_position API ivi-shell: remove ivi_layout_surface_get_dimension API ivi-shell: remove ivi_layout_layer_get_dimension API ivi-shell: remove ivi_layout_surface_get_orientation API ivi-shell: remove ivi_layout_layer_get_orientation API ivi-shell: remove ivi_layout_surface_set_position API ivi-shell: remove ivi_layout_layer_set_position API ivi-shell: remove ivi_layout_surface_set_dimension API ivi-shell: remove ivi_layout_layer_set_dimension API Wataru Natsume (4): hmi-controller: remove duplicate commit_changes in random mode remove warning of ivisurface reassign on the ivilayer hmi-controller: fix leak of ivi surface list ivi-layout: clear on_layer when layer_destroy Yong Bakos (6): man: Clarify weston.ini scale option desktop-shell: Use 'surface-local' to correct grammar fullscreen-shell: Use 'surface-local' to correct grammar ivi-layout: Correct coordinate adjective grammar, misspellings ivi-application: Hyphenate compound adjective surface-local compositor: Hyphenate compound adjective surface-local comic fans (1): compositor-drm: fix memcmp using a bad pointer in drm_outout_choose_initial_mode git tag: 1.11.0 http://wayland.freedesktop.org/releases/weston-1.11.0.tar.xz MD5: bc6f90a2039163804aecfa663b69c4c2 weston-1.11.0.tar.xz SHA1: 8b051ee16b785b6db16657161aeed6cd6724f028 weston-1.11.0.tar.xz SHA256: 05e086e9f186a06843b9f7a5e1abf19347b1a6e4be26d7e74927abc17b6b7125 weston-1.11.0.tar.xz PGP: http://wayland.freedesktop.org/releases/weston-1.11.0.tar.xz.sig _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
