[Spice-devel,2/2] Release 0.11.0

Submitted by Alon Levy on June 12, 2012, 11:23 a.m.

Details

Message ID 1339500213-24770-2-git-send-email-alevy@redhat.com
State New
Headers show

Not browsing as part of any series.

Commit Message

Alon Levy June 12, 2012, 11:23 a.m.
Current bumped and age bumped. Current bumped twice since previous
values (current = 1, age = 2) were illegal - age must be smaller or
equal to current, since it's interpreted as meaning our library supports
t interfaces [current, current - age].

New libtool version is thus 3.0.3, since there are added interfaces:

    spice_server_set_name;
    spice_server_set_uuid;
    spice_server_set_listen_socket_fd;
    spice_server_is_server_mouse;
---
 NEWS         |   33 +++++++++++++++++++++++++++++++++
 configure.ac |    8 ++++----
 2 files changed, 37 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/NEWS b/NEWS
index 2deba57..68369af 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,36 @@ 
+Major changes in 0.11.0:
+========================
+* !Development Release!
+* 8817549..d905a1f
+* now using git submodules: spice-common and spice-protocol.
+* New spice protocol messages: (changes in spice-protocol, here for reference)
+ * SPICE_MSG_MAIN_NAME, SPICE_MSG_MAIN_UUID
+ * SPICE_MSG_DISPLAY_STREAM_DATA_SIZED
+* New corresponding caps: (changes in spice-protocol, here for reference)
+ * SPICE_MAIN_CAP_NAME_AND_UUID
+ * SPICE_DISPLAY_CAP_SIZED_STREAM.
+* Send name & uuid to capable clients
+* add support for frames of different sizes RHBZ #813826
+* server:
+ * support a pre-opened file descriptor
+ * Solaris support. Now using poll instead of epoll.
+ * Support IPV6 addresses in channel events RHBZ #788444
+ * other fixed RHBZ#: 787669, 787678, 819484
+* spicec
+ * alsa: use "default" instead of "hw:0,0"
+ * volume keys support RHBZ #552539
+ * other fixed RHBZ#: 78655, 804561, 641828
+* solaris, mingw & windows, 32 bit fixes.
+* enable server only build.
+* GNULIB manywarnings.m4 & warnings.m4 module added.
+* Many more bug fixes & code cleanups.
+* spice-protocol no longer external.
+* new server functions:
+ + spice_server_set_name
+ + spice_server_set_uuid
+ + spice_server_set_listen_socket_fd
+ + spice_server_is_server_mouse
+
 Major changes in 0.10.1:
 ========================
 * Mini header support
diff --git a/configure.ac b/configure.ac
index f4872c1..eb5762a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,8 +9,8 @@  AC_PREREQ([2.57])
 # set SPICE_BINARY_AGE and SPICE_INTERFACE_AGE to 0.
 
 m4_define([SPICE_MAJOR], 0)
-m4_define([SPICE_MINOR], 10)
-m4_define([SPICE_MICRO], 1)
+m4_define([SPICE_MINOR], 11)
+m4_define([SPICE_MICRO], 0)
 # See info libtool or http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
 # Here are the 6 rules: (rule 1 here just to avoid saying what I omitted)
 
@@ -33,9 +33,9 @@  m4_define([SPICE_MICRO], 1)
 # 6. If any interfaces have been removed or changed since the last
 #    public release, then set AGE to 0.
 
-m4_define([SPICE_CURRENT], [1])
+m4_define([SPICE_CURRENT], [3])
 m4_define([SPICE_REVISION], [0])
-m4_define([SPICE_AGE], [2])
+m4_define([SPICE_AGE], [3])
 
 AC_INIT(spice, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice)
 

Comments

On Tue, Jun 12, 2012 at 02:23:33PM +0300, Alon Levy wrote:
> Current bumped and age bumped. Current bumped twice since previous
> values (current = 1, age = 2) were illegal - age must be smaller or
> equal to current, since it's interpreted as meaning our library supports
> t interfaces [current, current - age].

>  
> -m4_define([SPICE_CURRENT], [1])
> +m4_define([SPICE_CURRENT], [3])

IIUC, this will cause an SONAME change, since SPICE_CURRENT is the part
used to form the binary name 'libspice-server.so.1'.  So this is an
ABI break requiring all apps to recompile again :-(

IIUC, SPICE is supposed to be ABI stable, which means we should never
be changing the SONAME for any release.

>  m4_define([SPICE_REVISION], [0])
> -m4_define([SPICE_AGE], [2])
> +m4_define([SPICE_AGE], [3])
>  
>  AC_INIT(spice, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice)


Regards,
Daniel
On Tue, 2012-06-12 at 12:32 +0100, Daniel P. Berrange wrote:
> On Tue, Jun 12, 2012 at 02:23:33PM +0300, Alon Levy wrote:
> > Current bumped and age bumped. Current bumped twice since previous
> > values (current = 1, age = 2) were illegal - age must be smaller or
> > equal to current, since it's interpreted as meaning our library supports
> > t interfaces [current, current - age].
> 
> >  
> > -m4_define([SPICE_CURRENT], [1])
> > +m4_define([SPICE_CURRENT], [3])
> 
> IIUC, this will cause an SONAME change, since SPICE_CURRENT is the part
> used to form the binary name 'libspice-server.so.1'.  So this is an
> ABI break requiring all apps to recompile again :-(
> 

Yes, it changes the SONAME. I think that's exactly right - there are
added interfaces, so anyone compiling against the new version should
require it specifically, hence it should link against NEW-SONAME and not
OLD-SONAME.

But I thought it doesn't break existing users. If it does that's not
what I meant. I thought the important name was that before the .so, i.e.
libspice-server, and that the dynamic linker will look for .1 and then
if none found will use anything newer.

> IIUC, SPICE is supposed to be ABI stable, which means we should never
> be changing the SONAME for any release.

Then libtool's info page is garbage. I guess I should readup on what is
the dynamic linker looking at.

> 
> >  m4_define([SPICE_REVISION], [0])
> > -m4_define([SPICE_AGE], [2])
> > +m4_define([SPICE_AGE], [3])
> >  
> >  AC_INIT(spice, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice)
> 
> 
> Regards,
> Daniel
Hey,

On Tue, Jun 12, 2012 at 03:01:54PM +0300, Alon Levy wrote:
> But I thought it doesn't break existing users. If it does that's not
> what I meant. I thought the important name was that before the .so, i.e.
> libspice-server, and that the dynamic linker will look for .1 and then
> if none found will use anything newer.

Nope, it will look for an exact match for libspice-server.so.N, so
if a binary was built against libspice-server.so.1, the binary won't run
with anything different. If a library is ABI compatible with an older
version but has newer interfaces, the soname must not change for older
binaries to keep using it.

Christophe