Compatibility shouldn't be broken in a minor release. Minor versions are for new features in a backwards-compatible manner. The Kafka bylaws do not explicitly state this but I believe it is implied based on general practice and so many other Apache projects explicitly calling this out, documenting and communicating their semantic version strategy.
If JDK8 is so much desired then jump to 0.11 and only do bug fixes on the 0.10 release (which should be rigorous and not forceful to make folks upgrade unnecessarily to get such improvements). My 0.2824152382 cents. Regards, ~ Joe Stein On Fri, Jun 17, 2016 at 8:53 AM, Marina <ppi...@yahoo.com.invalid> wrote: > +1 - wish it was already done with Kafka 0.9 version :) > > > From: Tommy Becker <tobec...@tivo.com> > To: users@kafka.apache.org > Sent: Friday, June 17, 2016 7:55 AM > Subject: Re: [DISCUSS] Java 8 as a minimum requirement > > +1 We're on Java 8 already. > > On 06/16/2016 04:45 PM, Ismael Juma wrote: > > Hi all, > > I would like to start a discussion on making Java 8 a minimum requirement > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This > is the first discussion on the topic so the idea is to understand how > people feel about it. If people feel it's too soon, then we can pick up the > conversation again after Kafka 0.10.1.0. If the feedback is mostly > positive, I will start a vote thread. > > Let's start with some dates. Java 7 hasn't received public updates since > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled > to be released in March 2017[3]. > > The first argument for dropping support for Java 7 is that the last public > release by Oracle contains a large number of known security > vulnerabilities. The effectiveness of Kafka's security features is reduced > if the underlying runtime is not itself secure. > > The second argument for moving to Java 8 is that it adds a number of > compelling features: > > * Lambda expressions and method references (particularly useful for the > Kafka Streams DSL) > * Default methods (very useful for maintaining compatibility when adding > methods to interfaces) > * java.util.stream (helpful for making collection transformations more > concise) > * Lots of improvements to java.util.concurrent (CompletableFuture, > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator) > * Other nice things: SplittableRandom, Optional (and many others I have not > mentioned) > > The third argument is that it will simplify our testing matrix, we won't > have to test with Java 7 any longer (this is particularly useful for system > tests that take hours to run). It will also make it easier to support Scala > 2.12, which requires Java 8. > > The fourth argument is that many other open-source projects have taken the > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7], > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will > support Java 8 in the next version (although it will take a while before > most phones will use that version sadly). This reduces (but does not > eliminate) the chance that we would be the first project that would cause a > user to consider a Java upgrade. > > The main argument for not making the change is that a reasonable number of > users may still be using Java 7 by the time Kafka 0.10.1.0 is released. > More specifically, we care about the subset who would be able to upgrade to > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would > be great if we could quantify this in some way. > > What do you think? > > Ismael > > [1] https://java.com/en/download/faq/java_7.xml > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released > [3] http://openjdk.java.net/projects/jdk9/ > [4] https://github.com/apache/cassandra/blob/trunk/README.asc > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html > [7] https://issues.apache.org/jira/browse/HADOOP-11858 > [8] https://webtide.com/jetty-9-3-features/ > [9] http://markmail.org/message/l7s276y3xkga2eqf > [10] > > https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under > [11] http://markmail.org/message/l7s276y3xkga2eqf > > > > -- > Tommy Becker > Senior Software Engineer > > Digitalsmiths > A TiVo Company > > www.digitalsmiths.com<http://www.digitalsmiths.com> > tobec...@tivo.com<mailto:tobec...@tivo.com> > > ________________________________ > > This email and any attachments may contain confidential and privileged > material for the sole use of the intended recipient. Any review, copying, > or distribution of this email (or any attachments) by others is prohibited. > If you are not the intended recipient, please contact the sender > immediately and permanently delete this email and any attachments. No > employee or agent of TiVo Inc. is authorized to conclude any binding > agreement on behalf of TiVo Inc. by email. Binding agreements with TiVo > Inc. may only be made by a signed written agreement. > > >