Blame NEWS

Packit Service dc579d
Version 1.1.2 - 2007-06-03
Packit Service dc579d
Packit Service dc579d
* Security fixes:
Packit Service dc579d
  * Fix CVE-2007-1667: Multiple integer overflows in the XGetPixel() and
Packit Service dc579d
    XInitImage() functions.
Packit Service dc579d
  * Bug #9279: Fixed a file descriptor leak.
Packit Service dc579d
Packit Service dc579d
* Xlib/XCB: Ensure _XReadEvents reads at least one new event and blocks for
Packit Service dc579d
  exactly one event.  Large performance improvement for XIfEvent and similar.
Packit Service dc579d
Packit Service dc579d
* Hold XCB's Xlib lock even when only the user lock (XLockDisplay) is held.
Packit Service dc579d
  An Xlib client can query Display state, such as with NextRequest, while it
Packit Service dc579d
  holds only the Xlib user lock (between XLockDisplay and XUnlockDisplay), so
Packit Service dc579d
  XCB requests in other threads should be blocked when the Xlib user lock is
Packit Service dc579d
  held.  We acquire the lock even when XInitThreads was not called, so that
Packit Service dc579d
  pure XCB code can use multiple threads even in an otherwise single-threaded
Packit Service dc579d
  Xlib application.
Packit Service dc579d
Packit Service dc579d
* Allow re-entrant Xlib calls from _XIOError.
Packit Service dc579d
  Some libraries try to clean up X resources from atexit handlers, _fini, or
Packit Service dc579d
  C++ destructors. To make these work, downgrade the Display lock to a user
Packit Service dc579d
  lock (as in XLockDisplay) before calling exit(3).  This blocks Xlib calls
Packit Service dc579d
  from threads other than the one calling exit(3) while still allowing the
Packit Service dc579d
  exit handlers to call Xlib.
Packit Service dc579d
Packit Service dc579d
* Xlib/XCB: Avoid re-crashing after _XIOError.
Packit Service dc579d
Packit Service dc579d
* Xlib/XCB: Only remove pending_requests when there are provably no more responses.
Packit Service dc579d
Packit Service dc579d
* For NetBSD, define XTHREADLIB and XTHREAD_CFLAGS.
Packit Service dc579d
Packit Service dc579d
* Bug #7703: Fixed XSetSizeHints() et al wrt use of uninitialized data.
Packit Service dc579d
  Now only those fields of the respective hint struct are set that
Packit Service dc579d
  are actually valid in the input data.
Packit Service dc579d
Packit Service dc579d
* Bug #10292: Fixed a memory leak related to XOpenDisplay() in the XCB code.
Packit Service dc579d
Packit Service dc579d
* Bug #7713: Initialize all of the event's fields before sending it.
Packit Service dc579d
Packit Service dc579d
* Bug #10562: Define _GNU_SOURCE on glibc systems.
Packit Service dc579d
Packit Service dc579d
* Use unistd.h to get getresuid() and friends, now that we have _GNU_SOURCE
Packit Service dc579d
  defined.
Packit Service dc579d
Packit Service dc579d
* Switched function definitions from K&R to ANSI style.
Packit Service dc579d
Packit Service dc579d
* Many constness fixes.
Packit Service dc579d
Packit Service dc579d
* Fixed a few warnings.
Packit Service dc579d
Packit Service dc579d
* Fix 64bit issues with reallocation.
Packit Service dc579d
Packit Service dc579d
* Manpage fixes:
Packit Service dc579d
  * Add man pages for XKB APIs.
Packit Service dc579d
    (Volunteer needed to convert prototypes in man pages to ANSI C style...)
Packit Service dc579d
  * Protect C comments and #defines in XKB man pages from being mangled by cpp
Packit Service dc579d
  * Fix typo in nroff macro in XkbAddGeomOverlayKey.man
Packit Service dc579d
  * Bug #9695: Fixed a few argument types in the XOpenIM manpage.
Packit Service dc579d
  * Markup tweak for XOpenIM.
Packit Service dc579d
  * Bug #9696: refer to XDefineCursor() instead of XDefineCusor().
Packit Service dc579d
  * Bug #9697: Fixed documentation of XVisualInfo struct.  The "depth" member
Packit Service dc579d
    was said to be unsigned int, but it's signed.
Packit Service dc579d
Packit Service dc579d
* nls fixes:
Packit Service dc579d
  * Update el_GR.UTF-8/Compose.pre to match changes in xkeyboard-config cvs.
Packit Service dc579d
  * For nls/*.pre, allow people to comment lines by starting them with '##'.
Packit Service dc579d
Packit Service dc579d
* Build system fixes:
Packit Service dc579d
  * Add autogen.sh to EXTRA_DIST.
Packit Service dc579d
  * Makefile.am: make ChangeLog hook safer
Packit Service dc579d
  * Don't distribute the configure-generated XlibConf.h in tarballs.
Packit Service dc579d
Packit Service dc579d
Version 1.1.1 - 2006-11-30
Packit Service dc579d
Packit Service dc579d
The "xcompmgr is hard, let's go releasing" release
Packit Service dc579d
Packit Service dc579d
* Fix Bug #9154 and friends, to unbreak xcompmgr:
Packit Service dc579d
  Always process an event for _XReadEvents, even if an error occurs.
Packit Service dc579d
  Previously, process_responses (in the wait_for_first_event case called
Packit Service dc579d
  from _XReadEvents) considered any return from xcb_wait_for_event
Packit Service dc579d
  sufficient to think it had processed an event. If xcb_wait_for_event
Packit Service dc579d
  returned an error, and no more events occurred before process_responses
Packit Service dc579d
  called xcb_poll_for_event, process_responses would try to return with
Packit Service dc579d
  dpy->head NULL, and would fail an assertion for the _XReadEvents
Packit Service dc579d
  postcondition. Now, process_responses continues using xcb_wait_for_event
Packit Service dc579d
  until it gets an event.
Packit Service dc579d
Packit Service dc579d
* Bug #9153: Fix access to freed memory.
Packit Service dc579d
  The fix for bug #8622 introduced a smaller bug where _XReply would
Packit Service dc579d
  read memory shortly after freeing it. This patch caches the needed
Packit Service dc579d
  value in a stack-allocated variable before the heap-allocated memory
Packit Service dc579d
  is freed.
Packit Service dc579d
Packit Service dc579d
* libx11 doesn't use inputproto in public headers; don't require it in x11.pc.
Packit Service dc579d
  Based on a Debian patch.
Packit Service dc579d
Packit Service dc579d
* Debian bug #354315: Clarify return value in XGetWindowAttributes man page.
Packit Service dc579d
  Patch by Debian user Ross Combs.
Packit Service dc579d
Packit Service dc579d
Packit Service dc579d
Version 1.1 - 2006-11-23
Packit Service dc579d
Packit Service dc579d
* Add note in man-page that XListFontsWithInfo is not thread-safe.  _XReply
Packit Service dc579d
  drops the Display lock, so the value of dpy->request may change before
Packit Service dc579d
  _XReply is called again.  Jamey Sharp discovered this by inspection a few
Packit Service dc579d
  years ago.
Packit Service dc579d
Packit Service dc579d
* Fix Bug #8622, by fixing the response processing order for threaded apps.
Packit Service dc579d
  process_responses (the common code for _XReply, _XReadEvents, and
Packit Service dc579d
  _XEventsQueued) now handles responses in order, by adding condition variables
Packit Service dc579d
  to the list of outstanding requests in dpy->xcb->pending_requests, and
Packit Service dc579d
  blocking on them when those requests should get processed, to allow _XReply
Packit Service dc579d
  to process them; if actually called from _XReply, it returns when _XReply's
Packit Service dc579d
  request should get processed.  _XReply broadcasts on its condition variable
Packit Service dc579d
  after it has read its reply and re-acquired the display lock.
Packit Service dc579d
Packit Service dc579d
* Don't hold the display lock around callbacks to the application. This avoids
Packit Service dc579d
  recursive locking of the display lock (which triggers an XCB locking
Packit Service dc579d
  assertion), particularly with emacs.
Packit Service dc579d
Packit Service dc579d
* Add xcb-xlib dependency to x11.pc when built against XCB.
Packit Service dc579d
Packit Service dc579d
* Allocate the right amount of memory for dpy->lock_fns.  Fixes a crash on
Packit Service dc579d
  startup with gdk.
Packit Service dc579d
Packit Service dc579d
Packit Service dc579d
Version 1.1 RC2 - 2006-11-02
Packit Service dc579d
Packit Service dc579d
Benno Schulenberg:
Packit Service dc579d
      nls: remove duplicate compose entries (bug #2286)
Packit Service dc579d
      nls: remove shadowed compose entries (bug #2286)
Packit Service dc579d
      nls (en_US): remove long compositions that override shorter (bug #2286)
Packit Service dc579d
Packit Service dc579d
Caolan McNamara:
Packit Service dc579d
      XKB geometry: fix leaks in GetKeyboardByName (bug #8099)
Packit Service dc579d
Packit Service dc579d
David Nusinow:
Packit Service dc579d
      Dynamically generate internal manpage section using __libmanpagesuffix__ so that it actually matches the section if you don't use 3X11
Packit Service dc579d
Packit Service dc579d
Jamey Sharp:
Packit Service dc579d
      Add correct Display locking to XKB functions.
Packit Service dc579d
      XKB bugfix: SyncHandle must be called after UnlockDisplay, not before.
Packit Service dc579d
      XCB: check for and handle I/O errors in _XGetXCBBuffer.
Packit Service dc579d
Packit Service dc579d
Matthias Hopf:
Packit Service dc579d
      Fix double open of compose file.
Packit Service dc579d
Packit Service dc579d
Packit Service dc579d
Version 1.1 RC1 - 2006-10-06
Packit Service dc579d
Packit Service dc579d
This release includes the Xlib/XCB work, which uses XCB as the Xlib transport
Packit Service dc579d
layer, and allows a client to use both Xlib and XCB on the same connection.
Packit Service dc579d
This allows clients to transition from Xlib to XCB incrementally.
Packit Service dc579d
Packit Service dc579d
Clients which link only to libX11, and do not use XCB, should not notice any
Packit Service dc579d
differences in this release.  Clients desiring XCB interoperability should
Packit Service dc579d
additionally #include <X11/Xlib-xcb.h>, link to libX11-xcb, use
Packit Service dc579d
XGetXCBConnection(dpy) to obtain the underlying XCB connection, and then use
Packit Service dc579d
XCB functions directly on that connection.
Packit Service dc579d
Packit Service dc579d
Note that while a client can issue requests and handle their replies or errors
Packit Service dc579d
with either Xlib or XCB, only one can own and handle the event queue.  By
Packit Service dc579d
default, Xlib must own the event queue, for compatibility with legacy Xlib
Packit Service dc579d
clients.  Clients can use the function XSetEventQueueOwner immediately after
Packit Service dc579d
XOpenDisplay to let XCB own the event queue instead.  Clients may not call
Packit Service dc579d
this function after processing any responses, as this will potentially lose
Packit Service dc579d
responses.
Packit Service dc579d
Packit Service dc579d
We expect to have an RC2 release corresponding to the Xorg RC2 schedule, which
Packit Service dc579d
should include additional internal architecture enhancements, but no
Packit Service dc579d
user-visible changes.  1.0 final should match RC2.
Packit Service dc579d
Packit Service dc579d
Other smaller changes in this release:
Packit Service dc579d
* correct ChangeLog generation
Packit Service dc579d
* support running lint and sparse
Packit Service dc579d
* Autoconf 2.60
Packit Service dc579d
* fix man page for XUrgencyHint
Packit Service dc579d
* improve man pages for XGrabButton, XGrabKey, XGetWindowProperty
Packit Service dc579d
* new locales: as_IN.UTF-8, kn_IN.UTF-8, ml_IN.UTF-8, or_IN.UTF-8,
Packit Service dc579d
  te_IN.UTF-8, ur_IN.UTF-8
Packit Service dc579d
* on systems with both UNIXCONN and LOCALCONN, try unix if local fails
Packit Service dc579d
* fix sparse warnings
Packit Service dc579d
* ansify static functions
Packit Service dc579d
Packit Service dc579d
-- Josh Triplett <josh@freedesktop.org>, Jamey Sharp <jamey@minilop.net>