All Versions
37
Latest Version
Avg Release Cycle
112 days
Latest Release
-

Changelog History
Page 2

  • v0.6.2 Changes

    September 02, 2016
    • โšก๏ธ [#17] Optimized: StreamEx.ofTree, EntryStream.ofTree.
    • [#104] Added: StreamEx.ofReversed().
    • [#105] Added: MoreCollectors.minMax().
    • [#108] Added: IntStreamEx.of(IntBuffer), LongStreamEx.of(LongBuffer), DoubleStreamEx.of(DoubleBuffer).
  • v0.6.1 Changes

    May 15, 2016
    • [#90] Changed: AbstractStreamEx class (which shares common functionality of StreamEx and EntryStream) is public now.
    • [#92] Added: IntStreamEx.of(InputStream).
    • [#93] Added: IntStreamEx.asByteInputStream().
    • [#94] Added: prefix method for all stream types.
  • v0.6.0 Changes

    March 25, 2016

    ๐Ÿš€ Warning: this release introduces some changes which may break backwards compatibility.

    • [#67] Changed: StreamEx.withFirst() now includes (first, first) pair into result as well. If you want to exclude it, use .withFirst().skip(1).
    • โœ… [#70] Fixed: MoreCollectors.least()/greatest() now support null element (if the supplied Comparator supports nulls).
    • โœ… [#70] Fixed: MoreCollectors.least()/greatest() now returns stable result (the order of equal elements is not changed).
    • โšก๏ธ [#70] Optimized: MoreCollectors.least()/greatest() is usually faster now, especially when the selected elements are close to the stream end.
    • ๐Ÿšš [#74] Added: EntryStream.removeKeyValue().
    • 0๏ธโƒฃ [#77] Added: MoreCollectors.filtering()/mapping()/flatMapping() with default downstream Collector toList().
    • ๐Ÿ‘€ [#79] Added: iterate(seed, predicate, op) for all stream types.
    • [#82] Added: Emitter class and primitive friends to create non-trivial stream sources.
    • [#83] Changed: StreamEx.of(Collection), of(Iterator), etc. now use ? extends T type instead of just T.
    • [#85] Added: StreamEx.mapFirstOrElse()/mapLastOrElse().
    • [#86] Added: peekFirst(), peekLast() for all stream types.
    • [#89] Added: produce() method for all stream types.
    • ๐Ÿ“š Updated documentation.
  • v0.5.5 Changes

    February 28, 2016
    • [#41] Added: IntStreamEx/LongStreamEx/StreamEx.without() accepting several elements.
    • [#60] Added: StreamEx.zipWith() to zip the stream with another.
    • โšก๏ธ [#63] Optimized IntStreamEx/LongStreamEx/DoubleStreamEx.reverseSorted(): much faster now and take less memory.
    • [#64] Added: EntryStream.toMapAndThen().
    • [#66] Added: takeWhileInclusive() for all stream types.
    • โœ… [#71] Fixed: some collectors like head(0), greatest(0) failed when using with JDK Stream.
    • [#72] Added: IntStreamEx.ints() and LongStreamEx.longs().
    • [#73] Added: EntryStream.collapseKeys().
  • v0.5.4 Changes

    • [#10] Added: chain() method to all stream types allowing fluently chaining custom operations.
    • [#55] TailConcatSpliterator implemented; now all StreamEx/EntryStream.append/prepend methods are TSO-compatible.
    • ๐Ÿ›  [#56] Fixed: StreamEx.append/prepend(Collection) and EntryStream.append/prepend(Map) now properly append/prepend if supplied collection is concurrent (so it may be legally modified during the subsequent operations).
    • [#57] JDK Stream creation is deferred until necessary. Now quasi-intermediate operations and especially headTail() may work faster.
    • [#59] Added: StreamEx.prepend(value), StreamEx.append(value) which might work faster than existing var-args methods.
    • ๐Ÿ“š Updated documentation.
  • v0.5.3 Changes

    • [#50] Added: StreamEx.withFirst(): extract first stream element
    • ๐Ÿ›  [#51] Fixed: StreamEx.parallel(fjp).runLengths() fails to run the task in the specified pool.
    • [#52] StreamEx.append(T...) and prepend(T...) are declared as @SafeVarargs and final now.
    • โšก๏ธ [#53] Optimized: mapFirst/mapLast methods will have less overhead now, especially for primitive streams.
    • [#54] Added: StreamEx.headTail(): map to the new stream using the first stream element and the stream of the rest elements.
  • v0.5.2 Changes

    • ๐ŸŽ [#3] Optimized: parallel performance of StreamEx.ofLines as well as StreamEx.split
    • โšก๏ธ [#19] Optimized: pairMap and forPairs may work faster now, especially in the presence of upstream intermediate operations.
    • [#42] Added: EntryStream.ofTree methods to stream the tree-like structure tracking nodes depth.
    • ๐ŸŽ [#46] Optimized: parallel performance of all of(Iterator) methods.
    • [#47] Added: EntryStream.flatMapToKey/flatMapToValue methods.
    • [#48] EntryStream.of(key, value, key, value...) now accepts up to 10 pairs.
    • ๐Ÿ›  Fixed: StreamEx.of(emptyList().iterator()).parallel() failed with NoSuchElementException.
  • v0.5.1 Changes

    • [#13] Added: StreamEx.split to split with single character delimiter.
    • โšก๏ธ [#28] Updated: now StreamEx.select, EntryStream.selectKeys and EntryStream.selectValues accept any type (not necessarily the subtype of current element).
    • [#32] Added: MoreCollectors.dominators collector which collects the elements to the list leaving only "dominators".
    • โšก๏ธ [#33] Updated: StreamEx.split("", pattern) now returns stream of single "" string instead of empty stream.
    • [#35] Added: construction of all stream types from the Iterator.
    • [#36] Added: StreamEx.of(Enumeration) static method.
    • [#38] Added: scanLeft for primitive streams.
    • ๐Ÿ“š Updated documentation.
  • v0.5.0 Changes

    ๐Ÿš€ Warning: this release introduces some changes which break the backward compatibility and will require the changes in source code if you used the previous StreamEx versions.

    • ๐Ÿ“ฆ The package javax.util.streamex is renamed to one.util.streamex. Every occurrence of javax.util.streamex in source files must be replaced with one.util.streamex.
    • The OSGi Bundle-SymbolicName is changed from javax.util.streamex to one.util.streamex.
    • โšก๏ธ The Maven groupID is changed from io.github.amaembo to one.util. Dependencies in pom.xml files should be updated accordingly.
    • โž• Added: StreamEx.ofLines(Path) and StreamEx.ofLines(Path, Charset)
    • โž• Added: MoreCollectors.commonPrefix()/commonSuffix() short-circuiting collectors.
    • โž• Added: IntStreamEx.of(Integer[]), LongStreamEx.of(Long[]), DoubleStreamEx.of(Double[]) static methods.
    • ๐Ÿšš Deprecated methods StreamEx.ofEntries() removed.
    • ๐Ÿšš Deprecated methods collectingAndThen in primitive collectors removed (use andThen() instead).
    • ๐Ÿ“š Updated documentation.
  • v0.4.1 Changes

    • โž• Added: StreamEx/IntStreamEx/LongStreamEx/DoubleStreamEx.mapLast/mapFirst methods.
    • โž• Added: MoreCollectors.flatMapping collector.
    • โž• Added: Joining collector: an advanced version of Collectors.joining which may short-circuit.
    • ๐Ÿ›  Fixed: StreamEx.cross(mapper) now correctly handles the case when mapper returns null instead of empty stream.
    • โšก๏ธ Optimized: ordered stateful short-circuit collectors now may process less elements in parallel.
    • โšก๏ธ Optimized: StreamEx/EntryStream.toList()/toListAndThen()/foldRight()/scanRight() now faster, especially for sized stream.
    • โšก๏ธ Optimized: collapse-based operations like StreamEx.collapse/groupRuns/runLengths/intervalMap now may work faster, especially when stream has more intermediate operations before them.
    • ๐Ÿ“š Updated documentation.