So from my perspective I’d like to get MicroProfile with Java EE 8 support out as soon as possible. It looks to me as if there are going to be multiple implementations of Java EE 8 relatively soon that also support MicroProfile. I think Payara is already out, and Liberty and Wildfly look pretty complete at this point. I don’t want to hold up getting Java EE 8 support so MP 2.0 can make breaking changes.
So I think this then becomes a question about what a new major version means. On the one hand it can be a marketing version, like Java EE has traditionally been, at which point we can set it to what we want whenever we want. Or it could be a semantic version at which point we should only increase the major version if we make a breaking change.
I’m assuming (perhaps incorrectly) that CDI 2.0, JAX-RS 2.1 and JSON-P 1.1 do not make breaking changes. In which case I think the suggestion of an MP 2.0 release that bases on Java EE 8 suggests (at least to me) that we are using marketing versions. That means we could choose to make a breaking change in a MicroProfile 2.1 release if we wanted to.
In any case if we are using marketing versions I think having a 3.0 later this year isn’t an issue.
If we intend to have semantic versions and if Java EE 8 doesn’t make breaking changes that would suggest a 1.x release. If we do that it has implications though. We couldn’t do a rev based on Java EE 7 for those runtimes that do not yet have EE 8 support. If we intend to have semantic versions and Java EE 8 does make breaking changes then I think it shouldn’t be a problem to have an MP 3.0 later this year. I would hate to have to coordinate and limit the time people can make breaking changes to only once a year.
Personally I like the idea of semantic versions for the individual specs, I’m not so bothered by the grouping though and I would hate to delay MicroProfile with Java EE 8 at this point. I’d accept a 3.0 in 3Q in order to get MicroProfile+ EE 8 in 2Q.
My current 2 cents worth
Alasdair