On Fri, Jan 18, 2019 at 2:37 PM Mike Jumper <[email protected]> wrote:

> On Thu, Jan 17, 2019, 13:02 Nick Couchman <[email protected] wrote:
>
> > On Fri, Jan 11, 2019 at 9:56 PM Mike Jumper <[email protected]> wrote:
> >
> > >
> > > Another option might be to provide some sort of API compatibility layer
> > > within the webapp, allowing the extensions of prior releases to
> continue
> > to
> > > function. If compatibility doesn't break as a result of API changes,
> > > there's no need for a full major version bump, and downstream migration
> > for
> > > future releases is much easier.
> > >
> > >
> > I'm open to this, as well.  How much effort do we think would be involved
> > in introducing something like this?
> >
>
> A compat layer would be pretty tricky.
>
> If we can somehow modify the API changes such that things are inherently
> compatible, then fairly easy. Maybe something can be done with default
> methods now that we're Java 8+?
>

So, for a change like this (to the Connectable interface):
https://github.com/apache/guacamole-client/commit/dfd43327618bd625bac7ce4fd35f9ccfe729ec6e#diff-1d2cb5f9d0009ea051d8a6211b20aaea

....something like this:
https://github.com/necouchman/guacamole-client/commit/d53a6c3be576526ace6acf0432cab2480785a0ae

??

I assume if we wanted to do this for 2.0.0 (or 1.1.0, etc.) we'd need to go
back and look at everything that's been changed in guacamole-ext and
basically add
these default methods for any methods where we changed the parameters being
passed in?  Is it just for Interfaces, or would it also be Abstract Classes
within the guacamole-ext component?

On another note, I have started looking at the changes required to support
FreeRDP 2.0.  I know you asked for help on this a while back, with no
takers.  It might take me 10x as long as someone else to figure it out, but
it's clear from some recent traffic on the list that it's going to be
pretty important that we support FreeRDP 2.0 going forward.  So, time to
tackle it :-).  Unfortunately just an hour or so into it and I already want
to run my head through a brick wall.  Speaking of API compatibility, these
changes are not insignificant...

-Nick

Reply via email to