It's more of an issue for downstream users who implement the interface as they'd now have an illegally declared class not implementing all abstract methods.
On 13 March 2017 at 07:13, sebb <seb...@gmail.com> wrote: > AFAICT two of the interface changes are not needed: > > JexlExpression#Callable can be dropped; AFAICT no other changes are needed. > JxltEngine$Template#getPragmas() can be dropped if the test is > modified to use TemplateScript and TS drops the @Override marker > > It's probably not easy to drop JexlEngine$Options#isCancellable() from > the interface. > Nor does it look very easy to interpose an Abstract implementation method. > I don't know if one could add an extended Options interface. > > Is there a different way to implement isCancellable? > Does it really belong in Options, or could it be added to JexlEngine > instead? > > Adding methods to an interface does not break binary compatibility, > however AIUI many downstream consumers rely on source builds so > compatibility breaks of any kind should be avoided in the public API. > > > On 12 March 2017 at 17:09, Matt Sicker <boa...@gmail.com> wrote: > > BC can be handled a couple ways here besides renaming: > > > > * Are there already abstract classes that implementations are meant to > > extend? If so, that limits the possibility of problems here without using > > default methods in Java 8. > > * If these are truly public interfaces for users to implement, then you > can > > extend the interface with an extended version which adds new methods. Try > > not to name them Options31 if you can help it. > > > > On 12 March 2017 at 05:16, henrib <hen...@apache.org> wrote: > > > >> > >> I've reworded the warning about the source compatibility break in the > >> release notes: > >> > >> > >> > >> If this source compatibility break is not 'permitted' despite its > >> improbability, what option should we take: > >> - move to another (jexl31) package ? > >> - add 'extended' interfaces (Options31, JexlExpression31, Template31) ? > >> - add a utility helper class (Jexl31Helper?) to put the 3 methods as > >> functions ( boolean isCancellable(JExlEngine.Options opt) ? > >> > >> > >> Comments welcome, > >> Thanks > >> > >> > >> > >> -- > >> View this message in context: http://apache-commons.680414. > >> n4.nabble.com/jexl-3-1-release-review-tp4691513p4696416.html > >> Sent from the Commons - Dev mailing list archive at Nabble.com. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >> For additional commands, e-mail: dev-h...@commons.apache.org > >> > >> > > > > > > -- > > Matt Sicker <boa...@gmail.com> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > -- Matt Sicker <boa...@gmail.com>