[ANNOUNCE] wayland 1.7.0

The 1.7 release of Wayland is now available for download. Thanks to all who have contributed, and especially to the desktop environments and client applications that now converse using Wayland. git tag: 1.7.0 http://wayland.freedesktop.org/releases/wayland-1.7.0.tar.xz MD5: 6f46ac47c3a18c6503a40b5fa58a1066 wayland-1.7.0.tar.xz SHA1: a731201534dcf6ec76a1184411724376cbf1acb6 wayland-1.7.0.tar.xz SHA256: bdea47a2db96f7e53f1ce0351559c0af5b7f7aae7e95f0a884a78af9f1057c9c wayland-1.7.0.tar.xz PGP: http://wayland.freedesktop.org/releases/wayland-1.7.0.tar.xz.sig The Wayland protocol may be considered "done" but that doesn't mean there's not work to be done. This release focused on major improvements to Wayland's documentation, minor improvements to the testsuite, and some scattered bugfixes to the code itself. Wayland's developer documentation is comprised of three different pieces. First is a manually written prose, which includes diagrams and a high level description of everything. Second is the protocol documentation, which is mechanically generated from the protocol definitions and works more like a reference manual. Third is the code documentation, which is also mechanically generated but from the library source code itself. We've moved the written prose from being generated by publican to xmlto. xmlto provides the same functionality and is more widely available. Publican's advantage was its nicer stylesheets, but we ported these to run on xmlto, and polished them up while we were at it. Architectural diagrams in the developer documentation is now mechanically generated with graphviz - this both improves its look a little and makes it easier to maintain going forward. For the protocol documentation, the recently added wl_surface role concept is defined and given several examples. wl_display_destroy and wl_display_add_socket are now documented, and some aspects of threading clarified. It's also been reorganized, with deprecated functions dropped and all validation errors fixed. The auto-generated code documentation is prettier now thanks to a lot of polishing work done to the xslt files, and markup improvements done to code comments. The protocol documentation content is tightened up: We've dropped long-deprecated functions, hidden private functionality like wl_map, and recategorized functions more accurately with the objects they modify. You can check out this spiffed up documentation at: http://wayland.freedesktop.org/docs/html/ A number of potential memory and event leaks in tests and clients have been cleaned up, and leak checking is now enforced by the test suite infrastructure. Leak checking is also added to the sample clients. The testsuite now has a way to set timeouts for test completion. The timeouts can be turned off by setting the environment variable WAYLAND_TEST_NO_TIMEOUTS. For consistency, NO_ASSERT_LEAK_CHECK is now called WAYLAND_TEST_NO_LEAK_CHECK. Both the timeouts and leak checks are disabled when a debugger is attached. There's a new C++ compilation test; even though Wayland and Weston are in C, we want to make sure Wayland can be linked with compositors written in C++ without incurring basic compilation failures. Apart from tests and docs, there were a handful of changes to the codebase itself. Notably, the client listen queue is increased to 128,to allow numerous clients to be connected simultaneously without connection refused errors. Some cross-platform fixes, such as a FreeBSD bug with sendmsg() usage, have been addressed. The remaining fixes improve error checking and handling in various places. Our next release will be version 1.8, planned as follows: - Development of the 1.8 cycle starts immediately. A focus will be major testing infrastructure enhancements, and cross-compositor testing utilities. - 1.8-alpha around May 1st. Major features should be in by this point. - 1.8-rc1 around May 15th. - 1.8-rc2 around May 22nd. - 1.8.0 release around May 29th -- Bryce Harrington Senior Open Source Developer - bryce at osg.samsung.com Open Source Group - Samsung Research America Andrew Oakley (1): configure.ac: use pkg-config to find expat Benjamin Herr (4): doc: Mark up some code examples doc: Mostly use apply-templates over value-of doc: Translate doxygen <sp/> tags to spaces connection: Leave fd open in wl_connection_destroy Bill Spitzak (34): doc: make rebuilds doxygen output on code changes doc: Preserve spaces doc: preserve links produced by Doxygen doc: Don't print dash if doxygen brief description missing doc: removed some unnecessary nested listing from doxygen output doc: Added \code tags around sample code in doxygen comments v4 doc: fixed reference to non-existent function doc: fixed a typo doc: Removed \ref when it refers to the subject the text is attached to doc: Removed extra indentation from wl_list code sample doc: removed redundant dependency doc: Remove duplicated descriptions of wayland objects doc: fix doxygen->man command line doc: Split libwayland-client and -server into different pages doc: fix for parallel make doc: Make it easier to add a new doxygen page fixup doc: Make it easier to add a new doxygen page doc: Reduce the validation errors of the docbook input doc: removed the word "interface" from the link names doc: Each class in doxygen output is a section doc: Document structures and unions in addition to classes doc: make itemized lists from doxygen work doc: add missing \memberof to wl_display_get_protocol_error doc: Remove deprecated functions from documentation doc: Remove wl_map from documentation doc: made functions taking wl_event_queue arg belong to wl_event_queue doc: compress the lists in the protocol docs some doc: Add object types and links to arguments int protocol documentation doc: remove redundant subtitles doc: there is no need to move the _8h files doc: Add macros and typedefs to the documentation doc: Put a dash between type/enum value and description doc: Intro text for doxygen output in it's own file configure.ac: Fallback to older detection code if pkg-config can't find expat Bryce Harrington (12): Don't document an absent parameter. configure.ac: bump version to 1.6.91 for the alpha release cosmetic: Cleanup trailing whitespace tests: Fix typo "evnironment" tests: Correct return code handling gitignore: Add the new cpp-compile-test configure.ac: bump version to 1.6.92 for rc1 release configure.ac: re-bump version to 1.6.92 for rc1 release doc: Fill in high level description for Surfaces tests: Fix FAIL in sanity-test (*timeout*) when Yama LSM enabled configure.ac: bump to version 1.6.93 for rc2 release configure.ac: bump to version 1.7.0 for release Carlos Olmedo Escobar (1): Remove useless semicolon. Daniel Stone (1): README: Tiny cosmetic change Derek Foreman (4): cosmetic: convert some function returns from int to bool doc: fixed grammar and a typo cosmetic: Move the deprecated functions back to the end of the file event-loop: Dispatch idle callbacks twice Imran Zaman (2): scanner, client: Added more error checks when strtol function is used server: increase listen queue to 128 Jon A. Cruz (5): doc: Removed redundant xslt output elements. doc: Invoke doxygen via the defined make variable. doc: Add config check for doxygen 1.6.0+. doc: General makefile cleanup. doc: Minor makefile cleanup. Jon Cruz (4): doc: Switch from static image files to generated diagrams. doc: Create hot-linked areas in documents. doc: update diagrams for compatibility. doc: Fix out-of-tree build and also distcheck Jonas Ådahl (5): scanner: Improve XML parse error reporting scanner: Remove stray newline protocol: Fix typo in wl_data_offer protocol: Clarify selection data offer destruction requirement server: Use existing id variable when inserting created object Marek Chalupa (25): tests: use our own XDG_RUNTIME_DIR for tests tests: add timeout tests: add test_usleep and test_sleep functions tests: add timeout tests tests: use test_set_timeout in display-test queue-test: put back timeout tests: don't print '\0' character client: read_events should return -1 after an error tests: rename env vars for tests test-runner: print separator line after each test-case tests: use color when printing on terminal tests: detect if debugger is attached tests: split queue-test testcases tests: fix memory leak client: update obsolete comments client: update documentation about threading test-runner: move leak checking into function test-compositor: extend leak checks into clients tests: add tests for leak check in clients connection-test: add tests for closure leaks client: release display queue in wl_display_disconnect() client: unref or destroy proxy when releasing queue tests: add possibility to disable leak check for single test display-test: disable leak check in tests that use pthread test-runner: wait for concrete pid Mariusz Ceier (2): tests: C++ compilation test scanner: Fix header generation for server protocols Olivier Blin (1): gitignore: adpat to scanner and protocol path changes Pekka Paalanen (7): configure.ac: bump version to 1.6.90 protocol: define the concept of wl_surface role protocol: wl_pointer.set_cursor gives a role protocol: wl_data_device.start_drag may give a role protocol: wl_subcompositor.get_subsurface gives a role protocol: wl_shell.get_shell_surface gives a role protocol: define error codes for role reassignment Peter Hutterer (1): doc: replace publican with xmlto Philip Withnall (4): connection: Fix sendmsg() on FreeBSD event-loop.c: Use correct OS abstraction function for dupfd() wayland-server: Abort if a read from a client gives 0 length queue-test: Add another assertion Rui Matos (1): doc/publican/Makefile.am: Add a missing order-only prerequisite Ryo Munakata (1): connection: abort if a listener function is NULL Seedo Eldho Paul (1): scanner.c: Use WL_PRINTF instead of __attribute__((format(printf))) Srivardhan Hebbar (1): doc: Added API documentation for wl_display_destroy and wl_display_add_socket functions. kabeer khan (1): Protocol : Added destructor to wl_data_device interface