I created a simple maven pom file that when run with *mvn clean package* will generate a report that shows the differences in the public API between 2.0.0 and 1.10.0.
https://gist.github.com/dlmarion/b1063c334d519f637cc78d81ba9e15ef On Wed, Oct 20, 2021 at 6:20 PM Jeremy Kepner <kep...@ll.mit.edu> wrote: > Seeme like there should be document that is kept whereby everytime a > breaking change is made it gets documented at the time it is committed. > > On Wed, Oct 20, 2021 at 04:55:42PM -0400, Christopher wrote: > > If somebody were to volunteer to create such a document, they could do so > > from some of the many 3rd party java API comparison tools. I'm not sure > > which tool would work best for this purpose, though. > > > > If anybody does this, let us know which one worked best for you. We could > > also amend the release notes with whatever you find. That could be > useful. > > > > On Wed, Oct 20, 2021, 15:14 Jeremy Kepner <kep...@ll.mit.edu> wrote: > > > > > There should be a document that clearly states 1.10 functions will not > > > work in 2.0 > > > so folks can grep their code to check. Otherwise you have to install > 2.0 > > > and then just > > > work through the errors one-by-one. > > > > > > On Tue, Oct 19, 2021 at 11:17:09AM -0400, Christopher wrote: > > > > The best reference is the release notes: > > > > https://accumulo.apache.org/release/accumulo-2.0.0/ > > > > > > > > On Tue, Oct 19, 2021, 09:15 Jeremy Kepner <kep...@ll.mit.edu> wrote: > > > > > > > > > Is there a list of things in 1.10 that will no longer work in 2.0. > > > > > > > > > > On Tue, Oct 19, 2021 at 08:59:58AM -0400, Christopher wrote: > > > > > > Hi Vincent, > > > > > > > > > > > > To supplement what Mike said, it's possible some stuff that was > > > > > > deprecated in 1.10 was dropped in 2.0. I don't have a > comprehensive > > > > > > list of what that might include, but anything marked as > deprecated in > > > > > > 1.10 is subject to removal in 2.0. If I recall, we did try to > limit > > > it > > > > > > somewhat. It wouldn't really make sense to create a shim to > restore > > > > > > those APIs, though, because that would just reintroduce code we > > > > > > explicitly dropped, which defeats the purpose of a major version > > > bump. > > > > > > In semantic versioning, the entire point of a major version bump > is > > > to > > > > > > declare a break in the backwards compatibility of the public API. > > > > > > > > > > > > If you need the code that was dropped, you probably aren't ready > to > > > > > > move to 2.x. 1.10 is an LTM release, so that means we intend to > keep > > > > > > patching important bugs until a year after our next LTM (which > hasn't > > > > > > yet been released). So, if you need to stay on 1.10, you have > plenty > > > > > > of time to update your code to stop using deprecated APIs and > avoid > > > > > > non-public APIs. > > > > > > > > > > > > On Tue, Oct 19, 2021 at 8:10 AM Mike Miller <mmil...@apache.org> > > > wrote: > > > > > > > > > > > > > > If the library was written using only the public API then it > > > shouldn't > > > > > be a > > > > > > > problem. See https://accumulo.apache.org/api/ > > > > > > > Accumulo follows SemVer to maintain compatibility of the > public API > > > > > between > > > > > > > versions. There are a lot of changes between 1.10 and 2.0 but > > > anything > > > > > in > > > > > > > the public API in 1.10 should still exist in 2.0, even if > > > deprecated. > > > > > > > If the library is calling internal methods or extending > internal > > > > > classes, > > > > > > > then that is a different story. If it uses internals then I > > > recommend > > > > > > > refactoring to use the public API if possible. > > > > > > > > > > > > > > > > > > > > > On Mon, Oct 18, 2021 at 3:38 PM Vincent Russell < > > > > > vincent.russ...@gmail.com> > > > > > > > wrote: > > > > > > > > > > > > > > > Hello, > > > > > > > > > > > > > > > > I am interested in using an accumulo query and storage > library > > > that > > > > > was > > > > > > > > written against accumulo version 1.10 and I am interested in > > > using > > > > > it with > > > > > > > > accumulo 2.0. > > > > > > > > > > > > > > > > Is there a shim that exists that would allow the library to > be > > > used > > > > > for > > > > > > > > both versions that could be activated at compile time via a > maven > > > > > profile > > > > > > > > or something? > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Vincent > > > > > > > > > > > > > > > > >