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
>