github vavr-io/vavr v0.11.0

2 days ago

The day has come - Vavr 0.11.0 is out, marking the first minor release in several years.

giphy

From here on, the focus shifts toward Vavr 1.0.0, starting with a significant Java version bump.

The 0.11.x line will continue to receive bugfixes and maintenance updates, but no new features are planned. Roadmap details can be found here.

Huge thanks to everyone who contributed in any form.

Significant Additions

Lazy For() Comprehension (#3085)

The for-comprehension API has been expanded with lazy, evaluation-friendly signatures that accept functions instead of eagerly-evaluated objects:

Option<Integer> result = API.For(
  calculate1(),
  (r1) -> calculate2(r1),
  (r1, r2) -> calculate3(r1, r2))
  .yield((r1, r2, r3) -> r1 + r2 + r3);

JSpecify Integration (#3113)

Vavr now integrates JSpecify annotations, enhancing null-safety support in IDEs and modern static analysis tools.

Better Future Cancellation (#3107)

As a result of internal refactoring, cancellation is now possible for Futures that have not yet started execution.

Various API Additions

  • Either/Validation.cond()
  • Value.mapTo(U) and Value.mapToVoid()
  • Try.toEither(Throwable -> L)

What's Changed

New Contributors

Full Changelog: v0.10.7...v0.11.0

Don't miss a new vavr release

NewReleases is sending notifications on new releases.