1. Records are already there AFAIK
2. Structs (Value types) will come as part of Valhalla
3. Records are the impl of dataclasses
4. Pass by value is already there for primitive types. Valhalla might bring that to structs also.
Java is also getting a lot of good stuff like coroutines(Loom), and Panama(seamless FFI).