Not new to this release, but digging the scoped variables, alike async-local-storage in js. It's interesting that computing languages seems to be evolving a whole new storage subsystem for languages, that promises/subprocesses/async now has some free form associative stores to go with.
<a href="https://openjdk.org/jeps/481" rel="nofollow">https://openjdk.org/jeps/481</a><p>I also really like relaxing constraints on when super() has to be called in constructors. It feels like language designers have been super super scared to let users do anything maybe possibly untoward, and have massively restricted constructors as a keep-you-all-safe-from-yourselves move. But it hampered hackability of inheritance, and makes a bunch of initialization tasks hard or frustrating to do, requires participation from your super. I'd love to see this shift come to other languages, of trying to do some relaxation of what can come before super().
<a href="https://openjdk.org/jeps/482" rel="nofollow">https://openjdk.org/jeps/482</a>