5 ms·
Here's the openjdk page which includes links to details of all new features: https://openjdk.java.net/projects/jdk/18/ https://openjdk.java.net/projects/jdk/18/
by halestock 5y ago
Here's the openjdk page which includes links to details of all new features: https://openjdk.java.net/projects/jdk/18/ https://openjdk.java.net/projects/jdk/18/
- tyingq 5y agoThis one looks interesting: "JEP 400: UTF-8 by Default": https://openjdk.java.net/jeps/400 https://openjdk.java.net/jeps/400 It sounds like a good idea, but I can imagine lots of downstream breakage, some of it not immediately obvious, with apps that make bad assumptions. Edit: The risks section of the linked doc above does explain some of that, and there is some notable risk.
- zenron 5y agoWindows default went over to UTF-8 from UTF-16 a few years back so its probably alignment with them especially with MS now rolling their own linux and java.
- JoshTriplett 5y agoTo the best of my knowledge, Windows still uses UTF-16 internally. They now support opting for UTF-8 as the charset in the 'A' APIs, but that doesn't mean Windows natively uses UTF-8.
- carimura 5y agoHere's a short interview with Naoto on JEP 400 https://inside.java/2022/03/22/podcast-023/ https://inside.java/2022/03/22/podcast-023/
- ardoise 5y agoI wouldn't be surprised if defaulting to UTF-8 inadvertently fixes more problems than it causes.
- tyingq 5y agoThat was not the experience when MySql switched in v4.1, at least for existing apps. Probably for net new ones it was great. Maybe things are different now?
- throw0101a 5y ago> It sounds like a good idea, but I can imagine lots of downstream breakage, some of it not immediately obvious, with apps that make bad assumptions. You're not wrong, which is probably why they did it in this release. JDK 17 was an LTS release, and 18 isn't. The next LTS will be JDK 21 in September 2023: * https://www.oracle.com/java/technologies/java-se-support-roadmap.html https://www.oracle.com/java/technologies/java-se-support-roa... This presumably gives folks times to adjust before jumping between LTSes in production.
- toyg 5y agoWe like to give Oracle stick (and rightly so) but this is rolling/LTS done right: you break stuff in the release right after the LTS one, to give people time to adapt.
- krzyk 5y agoIt was just a coincidence. They do it right: ship when it is ready. LTS is not an openjdk term it is something that vendors might offer for any jdk version.
- toyg 5y ago> LTS is not an openjdk term It's an Oracle term, and I expect the majority of OpenJDK committers and decision-makers are still from Oracle.
- carimura 5y agoLTS was proposed by Mark Reinhold [1] who leads the JDK Project in the OpenJDK community in 2017. There was a lot of discussion [2] that resulted in many vendors supporting and adopting the LTS model. It's a thriving ecosystem (which is great!) but yes, Oracle does contribute a significant portion [3]. [1] https://mreinhold.org/blog/forward-faster https://mreinhold.org/blog/forward-faster [2] https://mail.openjdk.java.net/pipermail/discuss/2017-September/subject.html https://mail.openjdk.java.net/pipermail/discuss/2017-Septemb... [3] https://inside.java/2022/03/22/the-arrival-of-java18/ https://inside.java/2022/03/22/the-arrival-of-java18/
- frant-hartm 5y agoMost of the cases where this breaks anything, are already broken, it's just not visible.
- tyingq 5y agoI don't know, they may be broken in terms of approach and design. But when the charset changes, new and never-seen-before things will start arriving downstream.
- nneonneo 5y agoPython should really have done this for 3.x. The breakage thanks to using the system default locale is hard to overstate - PYTHONIOENCODING winds up being a bit of a PITA for writing cross-platform code.
- rambojazz 5y agoThe link is in the email itself