Hi all,

Maybe some of you have noticed the discussions going on regarding the PR
for METAMODEL-8 [1] in which the use of Java 8's Optional class turned into
a hot topic. Currently we still support Java 7 and I think it's sane to
keep supporting it for a while. But on the other hand there are features of
Java 8 that would really be cool to utilize in MetaModel.

In addition to the Optional class there are all the functional interfaces
such as Consumer and Function which we have some equivalents for in
MetaModel (Func, Ref). And there are a number of interesting use-cases for
Lambdas, for instance to use Consumer<UpdateCallback> instead of
UpdateScript.

We also have some issues reported long time back which involve breaking API
changes. I have personally been looking for an occasion where it would be
acceptable to make such breaking changes.

So I'm trying to boil soup on that general theme and I'm thinking it would
be nice to start really fleshing out a list of breaking API changes that we
would like to make, and then plan a version 5.0 of MetaModel around that.
We could choose to create a 5.0 branch in git and then submit PRs for API
changes to that. Would that be a good step you think? And would it excite
everyone to start designing MM 5 in such a way? I also want to ensure that
if we start on such a path that it has backing and support.

Best regards,
Kasper

[1] https://github.com/apache/metamodel/pull/77
[2] https://issues.apache.org/jira/browse/METAMODEL-7

Reply via email to