<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#ffffff">
Hi,<br>
<br>
There is an API/ABI break in kdelibs because a patch was committed
to 4.5 but not 4.6.<br>
<br>
The patch applies cleanly and is easily cherry-pickable. It is a
break of API freeze on 4.6 branch so I thought I'd mention that it's
going to happen.<br>
<br>
However, this shouldn't have happened. What do we have in place for
preventing this from happening again?<br>
<br>
I knew packaging people have tools like this for finding such
issues, but I thought the tools were actually being used on betas
and RCs. Otherwise what's the point? I also imagined such an issue
would be caught by bindings people. Shouldn't the removal of the API
break bindings? Did bindings people and other packaging people
notice this but just not tell anyone? Should packagers be asked
specifically to run their tools on RCs and betas to catch issues
like this?<br>
<br>
All the best,<br>
<br>
Steve.<br>
<br>
<br>
-------- Original Message --------
<table class="moz-email-headers-table" border="0" cellpadding="0"
cellspacing="0">
<tbody>
<tr>
<th nowrap="nowrap" valign="BASELINE" align="RIGHT">Subject: </th>
<td>ABI breaking between kdelibs 4.5 and 4.6</td>
</tr>
<tr>
<th nowrap="nowrap" valign="BASELINE" align="RIGHT">Date: </th>
<td>Tue, 8 Feb 2011 23:51:00 +0100</td>
</tr>
<tr>
<th nowrap="nowrap" valign="BASELINE" align="RIGHT">From: </th>
<td>José Manuel SantamarÃa Lema <a class="moz-txt-link-rfc2396E" href="mailto:panfaust@gmail.com"><panfaust@gmail.com></a></td>
</tr>
<tr>
<th nowrap="nowrap" valign="BASELINE" align="RIGHT">To: </th>
<td>Stephen Kelly <a class="moz-txt-link-rfc2396E" href="mailto:steveire@gmail.com"><steveire@gmail.com></a></td>
</tr>
</tbody>
</table>
<br>
<br>
<pre>Hi,
while I was developing debian packages for KDE 4.6, I realized that a public
symbol was removed. The symbol in question is
QModelIndexList KRecursiveFilterProxyModel::match( const QModelIndex& start, int
role, const QVariant& value, int hits, Qt::MatchFlags flags ) const
which was introduced in commit 596af538a248906dd9cf910dc4b83b84c0f1e81a, this
commit is only in 4.5 branch.
We contacted the author of the commit, see below part of the conversation:
> [15:17:58] <santa_> till: ping!
> [15:18:54] <till> santa_: pong
> [15:20:09] <santa_> till: sorry for coming up with this in this channel (is
ot) but I think that perhaps you forgot to forward port commit ed33bb5 in
kdelibs
> [15:20:21] <santa_> it breaks abi afaiu
> [15:21:31] <till> I don't remember committing to kdelibs, but let me check.
> [15:21:48] <svuorela> git logs doesn't lie :p
> [15:22:17] <till> Can't find that commit in the log
> [15:22:51] <till> Ah, found it.
> [15:23:15] <till> I think I didn't forward port it, because Stephen said it
was already in trunk.
> [15:24:09] <santa_> it's only in 4.5 branch
> [snip]
> [15:24:30] <till> Then it should probably be forward ported indeed, but that's
Stephen's call.
> [snip]
> [15:25:28] <svuorela> till: the symbol *must* be forward ported, even if it is
just implementing as 'calling upwards'.
> [15:26:22] <till> svuorela: ok, fair enough. I won't have time to deal with it
before later tonight, I'm on kid duty.
> [15:26:25] <till> So feel free to forward port it.
> [15:26:50] <svuorela> by 'stephen', do you mean kelly ?
> [15:29:47] <till> Yes.
> [15:29:58] <till> HE's on vacation this week, but might be online.
Could you handle this, please?
Thank you.
</pre>
</body>
</html>