[Xcb] [ANNOUNCE] xcb-util 0.3.8

Jeremy Huddleston jeremyhu at freedesktop.org
Tue May 24 20:47:39 PDT 2011


Thanks, Arnaud.

On May 24, 2011, at 8:16 PM, Arnaud Fontaine wrote:

> Hi,
> 
>> I didn't see mention of this  in the announce list, so I wanted to
>> point out  to other packagers  that this release of  xcb-util-* is
>> *NOT* binary  compatible with  0.3.6.  That really  should've been
>> mentioned at the top of the release notes.
> 
> I agree that I should  have provided more information about that release
> in the announce email (sorry about that), especially for packagers as it
> might be very confusing. So here it is:
> 
> Previously, there  was only one  git repository, namely  xcb/util (still
> available there[0]), containing the following libraries:
> 
>  * libxcb-atom (atom directory)
>  * libxcb-property (property directory)
>  * libxcb-aux (aux directory)
>  * libxcb-event (event directory)
>  * libxcb-icccm (icccm directory)
>  * libxcb-image (image directory)
>  * libxcb-keysyms (keysyms directory)
>  * libxcb-render-util (renderutil directory)
> 
> Following  the  split up  of  xcb-util  git  repository, here  are  more
> information  to update  an existing  application/library to  0.3.8 (note
> that  ones   depending  only  on   libxcb-image,  libxcb-render-util  or
> libxcb-keysyms should have nothing to do at all):
> 
> * xcb/util (where  event, aux  and atom directories  were merged  into a
>  single directory,  namely src/ directory):
> 
>  + 4010e92: Remove xcb_atom_get_fast*(), meaningless without predefined
>    atoms,   and   xcb_atom_get_name(),   use  xcb_get_atom_name()   (or
>    xcb_get_atom_name_unchecked())     and     xcb_get_atom_name_reply()
>    instead.
> 
>  +    00a192d:    Remove    xcb_atom_get(),    xcb_intern_atom()    (or
>    xcb_intern_atom_unchecked())  and xcb_intern_atom_reply()  should be
>    used instead.
> 
>  + 2f0334b: Remove atoms previously  declared in xcb_atom.h as they are
>    available as part of xcb-proto since 1.6.
> 
>  + 118a3c8:  Create a single shared  library and header  file and reset
>    SONAME.
> 
>    - Merge  libxcb-atom,  libxcb-aux  and  libxcb-event into  a  single
>      library, namely libxcb-util.
> 
>      The  pkgconfig  files  and  header  files  for  atom  (xcb-atom.pc
>      xcb_atom.h),   aux  (xcb-aux.pc   and  xcb_aux.h)   and  xcb-event
>      (xcb-event.pc  and  xcb_event.h)   have  been  kept  for  backward
>      compatibility.
> 
>      xcb_util.h  is only  a convenient  header  to include  all of  the
>      others.
> 
>  +  81c62e7: Delete  callback-based  APIs for  events, properties,  and
>    replies (bad API that should not be used).
> 
>    - Remove libxcb-property library.
>    - Remove xcb_event_handlers_init().
>    - Remove xcb_event_get_xcb_connection().
>    - Remove xcb_event_wait_for_event_loop().
>    - Remove xcb_event_poll_for_event_loop().
>    - Remove xcb_event_handle().
>    - Remove xcb_event_set_handler().
>    - Remove xcb_event_set_error_handler().
>    - Remove xcb_event_set_EVENT_handler() functions.
> 
>  +  16dd0d5:   Delete  redundant  core-protocol   error  codes  (namely
>    XCB_EVENT_* macros  for error  codes), the following  sed expression
>    should correct any existing code:
> 
>      s/\<XCB_EVENT_ERROR_SUCCESS\>/0/g
>      s/\<XCB_EVENT_ERROR_BAD_COLOR\>/XCB_COLORMAP/g
>      s/\<XCB_EVENT_ERROR_BAD_GC\>/XCB_G_CONTEXT/g
>      s/\<XCB_EVENT_ERROR_BAD_/XCB_/g
> 
>  +  9139e56: Rename  XCB_EVENT_ERROR_SUCESS  to XCB_EVENT_ERROR_SUCCESS
>    (was a typo).
> 
> * xcb/util-wm:
> 
>  + 0e78799:  Prefix all public  icccm functions by  xcb_icccm following
>    the naming scheme of other libraries.
> 
>  +  a371b9d: Delete  callback-based  APIs for  events, properties,  and
>    replies (bad API that should not be used).
> 
>    - Remove xcb_watch_*().
> 
>  +  857235f: xcb_set_wm_protocols()  and xcb_set_wm_protocols_checked()
>    window parameter was inverted with wm_protocols parameter.
> 
>  + ad5cac4: Add API for WM_COLORMAP_WINDOWS.
> 
>  + 896ab26: Add extra 'format' parameter for xcb_set_wm_name*().
> 
>  + 3eeeb19: Add setters for WM_CLASS and WM_TRANSIENT.
> 
> 
> You can also find examples of updating applications there[1][2][3]. Hope
> that helps.
> 
> Cheers,
> --
> Arnaud Fontaine
> 
> [0] http://cgit.freedesktop.org/xcb/util-old/
> [1] http://cgit.freedesktop.org/xorg/app/xlsclients/commit/?id=223851b68fedad730747652bc6560e40ca695ea7
> [2] http://git.naquadah.org/?p=awesome.git;a=commitdiff;h=be7fda45d818ebe6d1029b4813e5fed3e81c19db
> [3] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=pulseaudio-xcb-util-0.3.8-debian.patch;att=1;bug=624847



More information about the Xcb mailing list