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
