You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gary Gregory <ga...@gmail.com> on 2020/06/14 13:41:46 UTC

About binary compatibility

In order to avoid posting the same answer here and on GitHib over and over,
I tried to explain BC here:
https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/

Feedback is most welcome.

Gary

Re: About binary compatibility

Posted by Xeno Amess <xe...@gmail.com>.
Hi gary.
The post looks good, but I think you can add more details about how we
detect bc in commons.
about plugin and other tool chains we used in such perpose, and result
analyzing.

Emmanuel Bourg <eb...@apache.org> 于 2020年6月15日周一 上午6:04写道:

> Le 14/06/2020 à 15:41, Gary Gregory a écrit :
> > In order to avoid posting the same answer here and on GitHib over and
> over,
> > I tried to explain BC here:
> >
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> >
> > Feedback is most welcome.
>
> Excellent post, thank you Gary.
>
> Emmanuel Bourg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: About binary compatibility

Posted by Emmanuel Bourg <eb...@apache.org>.
Le 14/06/2020 à 15:41, Gary Gregory a écrit :
> In order to avoid posting the same answer here and on GitHib over and over,
> I tried to explain BC here:
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> 
> Feedback is most welcome.

Excellent post, thank you Gary.

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: About binary compatibility

Posted by Gary Gregory <ga...@gmail.com>.
On Sun, Jun 14, 2020 at 12:58 PM Rob Spoor <ap...@icemanx.nl> wrote:

> On 14/06/2020 15:41, Gary Gregory wrote:
> > In order to avoid posting the same answer here and on GitHib over and
> over,
> > I tried to explain BC here:
> >
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> >
> > Feedback is most welcome.
> >
> > Gary
>
> You mention that adding fields is fine. That's true for binary
> compatibility, but it could cause serialization incompatibility. For
> instance, if you add a primitive field, trying to deserialize an
> existing blob will set the value to the default value of 0. That could
> cause code to break. It's why I made the "end" field of
> CharSequenceReader Integer instead of int; see
>
> https://github.com/apache/commons-io/blob/master/src/main/java/org/apache/commons/io/input/CharSequenceReader.java
> .
>
> Indeed, but Serialization is not part of binary compatibility.

Gary


> Rob
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: About binary compatibility

Posted by Rob Spoor <ap...@icemanx.nl>.
On 14/06/2020 15:41, Gary Gregory wrote:
> In order to avoid posting the same answer here and on GitHib over and over,
> I tried to explain BC here:
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> 
> Feedback is most welcome.
> 
> Gary

You mention that adding fields is fine. That's true for binary 
compatibility, but it could cause serialization incompatibility. For 
instance, if you add a primitive field, trying to deserialize an 
existing blob will set the value to the default value of 0. That could 
cause code to break. It's why I made the "end" field of 
CharSequenceReader Integer instead of int; see 
https://github.com/apache/commons-io/blob/master/src/main/java/org/apache/commons/io/input/CharSequenceReader.java.

Rob

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: About binary compatibility

Posted by Peter Lee <pe...@apache.org>.
> I kind of like inaging1 even if it is weird and even though we do not have a precedent here in Commons. I'm curious what others think.

I think you are meaning imaging1 instead of inaging1 :)
Indeed imaging1 is kind of weird but looks good to me. +1

On June, 16, 2020, at 7:06 , Gary Gregory <ga...@gmail.com> wrote:
> I can see filling in a small section for source compatibility but
> behavioral compatibility is just too vague.
>
> I kind of like inaging1 even if it is weird and even though we do not have
> a precedent here in Commons. I'm curious what others think.
>
> Gary
> On Mon, Jun 15, 2020, 18:58 Bruno P. Kinoshita <ki...@apache.org> wrote:
> > Good stuff Gary! Couple questions.
> >
> > Q1/ Will there be a follow-up post on behavioral compatibility too? :)
> >
> > Q2/ Only component I'm working (meaning pushing for a release soon-ish) on
> > at the moment is [imaging] for some IIIF related stuff. Should we rename
> > the package from o.a.c.imaging to something like o.a.c.imaging1, preparing
> > for the 1.0 full release (it's still alpha)?
> >
> >
> > Thanks!
> >
> > Bruno
> >
> >
> >
> >
> >
> >
> > On Monday, 15 June 2020, 1:42:18 am NZST, Gary Gregory <
> > garydgregory@gmail.com> wrote:
> >
> >
> >
> >
> >
> > In order to avoid posting the same answer here and on GitHib over and over,
> > I tried to explain BC here:
> >
> > https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> >
> > Feedback is most welcome.
> >
> > Gary
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> >
> >
>


Re: About binary compatibility

Posted by Xeno Amess <xe...@gmail.com>.
>  I kind of like inaging1 even if it is weird and even though we do not
have
> a precedent here in Commons. I'm curious what others think.

+1 from me.

Gary Gregory <ga...@gmail.com> 于2020年6月16日周二 上午7:07写道:

> I can see filling in a small section for source compatibility but
> behavioral compatibility is just too vague.
>
> I kind of like inaging1 even if it is weird and even though we do not have
> a precedent here in Commons. I'm curious what others think.
>
> Gary
>
> On Mon, Jun 15, 2020, 18:58 Bruno P. Kinoshita <ki...@apache.org> wrote:
>
> > Good stuff Gary! Couple questions.
> >
> > Q1/ Will there be a follow-up post on behavioral compatibility too? :)
> >
> > Q2/ Only component I'm working (meaning pushing for a release soon-ish)
> on
> > at the moment is [imaging] for some IIIF related stuff. Should we rename
> > the package from o.a.c.imaging to something like o.a.c.imaging1,
> preparing
> > for the 1.0 full release (it's still alpha)?
> >
> >
> > Thanks!
> >
> > Bruno
> >
> >
> >
> >
> >
> >
> > On Monday, 15 June 2020, 1:42:18 am NZST, Gary Gregory <
> > garydgregory@gmail.com> wrote:
> >
> >
> >
> >
> >
> > In order to avoid posting the same answer here and on GitHib over and
> over,
> > I tried to explain BC here:
> >
> >
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> >
> > Feedback is most welcome.
> >
> > Gary
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> >
> >
>

Re: About binary compatibility

Posted by Jochen Wiedmann <jo...@gmail.com>.
On Tue, Jun 16, 2020 at 1:07 AM Gary Gregory <ga...@gmail.com> wrote:

> I kind of like inaging1 even if it is weird and even though we do not have
> a precedent here in Commons. I'm curious what others think.

I'm always in favour of saving characters. So, let's avoid the
additional 1. It is not strictly necessary, and the scheme of imaging
(version 1), imaging2 (version 2), and so on, works quite well.

Jochen


-- 

Look, that's why there's rules, understand? So that you think before
you break 'em.

    -- (Terry Pratchett, Thief of Time)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: About binary compatibility

Posted by Gary Gregory <ga...@gmail.com>.
I can see filling in a small section for source compatibility but
behavioral compatibility is just too vague.

I kind of like inaging1 even if it is weird and even though we do not have
a precedent here in Commons. I'm curious what others think.

Gary

On Mon, Jun 15, 2020, 18:58 Bruno P. Kinoshita <ki...@apache.org> wrote:

> Good stuff Gary! Couple questions.
>
> Q1/ Will there be a follow-up post on behavioral compatibility too? :)
>
> Q2/ Only component I'm working (meaning pushing for a release soon-ish) on
> at the moment is [imaging] for some IIIF related stuff. Should we rename
> the package from o.a.c.imaging to something like o.a.c.imaging1, preparing
> for the 1.0 full release (it's still alpha)?
>
>
> Thanks!
>
> Bruno
>
>
>
>
>
>
> On Monday, 15 June 2020, 1:42:18 am NZST, Gary Gregory <
> garydgregory@gmail.com> wrote:
>
>
>
>
>
> In order to avoid posting the same answer here and on GitHib over and over,
> I tried to explain BC here:
>
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
>
> Feedback is most welcome.
>
> Gary
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: About binary compatibility

Posted by "Bruno P. Kinoshita" <ki...@apache.org>.
Good stuff Gary! Couple questions.

Q1/ Will there be a follow-up post on behavioral compatibility too? :)

Q2/ Only component I'm working (meaning pushing for a release soon-ish) on at the moment is [imaging] for some IIIF related stuff. Should we rename the package from o.a.c.imaging to something like o.a.c.imaging1, preparing for the 1.0 full release (it's still alpha)?


Thanks!

Bruno






On Monday, 15 June 2020, 1:42:18 am NZST, Gary Gregory <ga...@gmail.com> wrote: 





In order to avoid posting the same answer here and on GitHib over and over,
I tried to explain BC here:
https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/

Feedback is most welcome.

Gary

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: About binary compatibility

Posted by Xeno Amess <xe...@gmail.com>.
> Sure, go for it.
>
> I think we can use the default goal in Maven and use it from both TravisCI
> and GitHib Actions

Done in https://github.com/apache/commons-lang/pull/555
Similar ways can be used on any project who use commons-parent as parent.

Gary Gregory <ga...@gmail.com> 于2020年6月14日周日 下午10:14写道:

> Sure, go for it.
>
> I think we can use the default goal in Maven and use it from both TravisCI
> and GitHib Actions.
>
> Gary
>
> On Sun, Jun 14, 2020, 09:52 Xeno Amess <xe...@gmail.com> wrote:
>
> > why not add a bc detect in travis-ci scripts?
> >
> > Gary Gregory <ga...@gmail.com> 于2020年6月14日周日 下午9:42写道:
> >
> > > In order to avoid posting the same answer here and on GitHib over and
> > over,
> > > I tried to explain BC here:
> > >
> > >
> >
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> > >
> > > Feedback is most welcome.
> > >
> > > Gary
> > >
> >
>

Re: About binary compatibility

Posted by Gary Gregory <ga...@gmail.com>.
Sure, go for it.

I think we can use the default goal in Maven and use it from both TravisCI
and GitHib Actions.

Gary

On Sun, Jun 14, 2020, 09:52 Xeno Amess <xe...@gmail.com> wrote:

> why not add a bc detect in travis-ci scripts?
>
> Gary Gregory <ga...@gmail.com> 于2020年6月14日周日 下午9:42写道:
>
> > In order to avoid posting the same answer here and on GitHib over and
> over,
> > I tried to explain BC here:
> >
> >
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> >
> > Feedback is most welcome.
> >
> > Gary
> >
>

Re: About binary compatibility

Posted by Xeno Amess <xe...@gmail.com>.
why not add a bc detect in travis-ci scripts?

Gary Gregory <ga...@gmail.com> 于2020年6月14日周日 下午9:42写道:

> In order to avoid posting the same answer here and on GitHib over and over,
> I tried to explain BC here:
>
> https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
>
> Feedback is most welcome.
>
> Gary
>