Javaslang v0.10.0 Release Notes

Release Date: 2019-01-20 // over 5 years ago
  • 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