Javaslang v1.0.0 Release Notes

Release Date: 2019-07-23 // 3 months ago
  • Info

    Caution: This is a preview release of the upcoming major release 1.0.0. It is highly under development and the API is subject to change. Please do not use it in production.

    We are still in the process of moving the changes from the original 1.0.0 branch to master.

    βž• Additionally there are stashed changes that did not make it into the minor release 0.10.0, that may make it into the upcoming 1.0.0 release. This is also work in progress.

    πŸ“„ The API Docs can be found here (🚧 currently unavailable because https://www.javadoc.io seems to be down)

    Comitters

    🍱 πŸŽ‰ MANY THANKS TO ALL COMMITTERS! πŸŽ‰

    • 🍱 ⭐️ Daniel Dietrich (@danieldietrich)
    • 🍱 ⭐️ baant
    • 🍱 ⭐️ Alexandru Stana (alexandrustana)
    • 🍱 ⭐️ Mark Raynsford (io7m)
    • 🍱 ⭐️ Theodor A. Dumitrescu (@thadumi)
    • 🍱 ⭐️ Juan Antonio BreΓ±a Moral (jabrena)
    • 🍱 ⭐️ Bram Schuur (@craffit)
    • 🍱 ⭐️ Mincong Huang (mincong-h)

    πŸ”„ Changes

    Please find the complete list of changes here.


Previous changes from v0.10.0

  • Info

    πŸš€ The minor release 0.10.0 focuses on several API improvements.

    Please find the complete list of changes here.

    πŸ“„ The API Docs can be found here

    Comitters

    🍱 πŸŽ‰ MANY THANKS TO ALL COMMITTERS (AND THEIR PATIENCE)! πŸŽ‰

    Note: A few contributions didn't made it into 0.10.0 because of backward incompatibilities.

    πŸ”„ Changes

    Instead of describing all changes in detail, I will provide a list and show some examples.
    Beside new features there were also several (internal) improvements not shown here.

    Core/API

    for

    • πŸ”„ Change (internal): Removed internal interface io.vavr.Lambda which was on top of the (Checked)Function type hierarchy. It was not public.
    • πŸ”‹ Feature: For-comprehension supports List, Option, Future, Try
    • πŸ”‹ Feature: Tuple - append(), concat() and hash()
    • πŸ”‹ Feature: CheckedConsumer, CheckedPredicate and CheckedRunnable enhancements
    • πŸ”‹ Feature: PartialFunction now implements Function1
    • πŸ”‹ Feature: Predicates.not()
    • πŸ”‹ Feature: Value: toJavaArray(IntFunction), toTree(Function, Function)
    • πŸ—„ Deprecation (for removal): API.Map(Tuple2)
    • πŸ—„ Deprecation (for removal): API.LinkedMap(Tuple2)
    • πŸ—„ Deprecation (for removal): API.SortedMap(Tuple2)
    • πŸ—„ Deprecation (for removal): API.SortedMap(Comparator, Tuple2)
    • πŸ—„ Deprecation (for removal): API.SortedMap(java.util.Map)
    • πŸ—„ Deprecation (for removal): Value.toLeft()
    • πŸ—„ Deprecation (for removal): Value.toRight()
    • πŸ—„ Deprecation (for removal): Value.toValid()
    • πŸ—„ Deprecation (for removal): Value.toInvalid()

    Collections

    for-each-with-index

    • πŸ”‹ Feature: Traversable: forEachWithIndex, reject(Predicate)
    • πŸ”‹ Feature: Iterator/Stream: fill(int, Object)
    • πŸ”‹ Feature: Map/Multimap: reject(BiPredicate), rejectKeys(Predicate), rejectValues(Predicate), keysIterator(), valuesIterator()
    • πŸ”‹ Feature: Map/Seq: asPartialFunction()
    • πŸ”‹ Feature: Seq.rotateLeft, rotateRight, takeRight, takeRightUntil, takeRightWhile

    Concurrent

    future

    • πŸ”„ Change: Future now uses Executor instead of ExecutorService. The executorService() works as before if Future was initialized with an ExecutorService, otherwise it throws. User executor() instead.
    • πŸ”„ Change: Future DEFAULT_EXECUTOR: ForkJoinPool.commonPool()
    • πŸ”‹ Feature: Future.await(long timeout, TimeUnit unit)
    • πŸ”‹ Feature: Future.isCancelled()
    • πŸ”‹ Feature (experimental): (Experimental) Future.run(Task), Future.run(Executor, Task)
    • πŸ—„ Deprecation (for removal): Seq/Map/Set withDefault, withDefaultValue

    Controls

    try-fold

    • πŸ”‹ Feature: Either.sequence, Either.sequenceRight
    • πŸ”‹ Feature: Either.traverse, Either.traverseRight
    • πŸ”‹ Feature: Either.filterOrElse
    • πŸ”‹ Feature: Either.toValidation
    • πŸ”‹ Feature: Option.traverse
    • πŸ”‹ Feature: Option.fold
    • πŸ”‹ Feature: Try.traverse
    • πŸ”‹ Feature: Try.onFailure
    • πŸ”‹ Feature: Try.fold
    • πŸ”‹ Feature: Try.toValidation
    • πŸ”‹ Feature: Validation.fromTry
    • πŸ”‹ Feature: Validation.traverse
    • πŸ—„ Deprecation (for removal): Either.left(), Either.right()
    • πŸ—„ Deprecation (for removal): Either.LeftProjection, Either.RightProjection