Changelog History
-
v10.4.0 Changes
January 08, 2020Cyclops 10.4.0
Whatβs new Cyclops 10.4.0
- Chain Datastructure (including Chain & NonEmptyChain) a new immutable List type with efficient prepending and appending a la https://typelevel.org/cats/datatypes/chain.html
- π¦ partitionEithers, lefts, rights a la http://hackage.haskell.org/package/base-4.4.1.0/docs/Data-Either.html
- Ior.sequenceBoth operator - which allows both the left and right side to be sequenced together
- atLeast and atMost operators added which return true when a minimum number of true cases are found in a dataset (atLeast) or true when a maximum number of true cases are not found in a dataset (atMost)
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
Agrona to 1.1.11
reactive-streams to 1.0.3
RxJava2 to 2.2.16
π Reactor to 3.3.1-RELEASEModules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.4.0β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.4.0β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.4.0β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.4.0β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.4.0β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.4.0'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.4.0'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.4.0'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.4.0\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.3.1 Changes
June 20, 2019Cyclops 10.3.1
Whatβs new Cyclops 10.3.1
- π Fixes Jackson Serialization Issue with Cyclops datastructures
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
None this time
Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.3.1β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.3.1β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.3.1β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.3.1β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.3.1β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.3.1'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.3.1'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.3.1'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.3.1\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.3.0 Changes
March 08, 2019Cyclops 10.3.0
Whatβs new Cyclops 10.3.0
- reactive-streams enhancements!
- Circuit breaking onError and recoverWith Operators
** Available on ReactiveSeq (reactive-streams push : ReactiveStreamX and iterative pull StreamX)
** Available on IO (use With ReactiveSeq, Flux or Flowable!) - Eval operators completion : streamWhile, streamUntil use reactive-streams instances when Eval is async
- π Non-backpressure based async Streams have been deprecated - the ReactiveSeq API is designed for controlled flows whether push based and asynchronous or pull based and synchronous
- π Bug fixes : reactive-streams async initialisation error, zip stackoverlow, FutureStream error progagation
π Bug fixes
- FutureStream does not propagate errors
- Initialization error in asynchronous reactive-streams
- Reactive zip3, zip4 result in Stackoverflow error
Recursive error handling
IO.of(1, 2, 3) .mapChecked(this::loadFromDb) .recoverWith(this::loadFromNextSource) .stream() .vector()
If loadFromDB fails, we will fall back to loadFromNextSource, if that fails we will fallback again to loadFromNextSource which gets the opportunity to choose a different source.
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
Agrona to 0.9.33
π Reactor to 3.2.6.RELEASE
RxJava2 to 2.2.7
Jackson to 2.9.8Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.3.0β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.3.0β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.3.0β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.3.0β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.3.0β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.3.0'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.3.0'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.3.0'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.3.0\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.2.0 Changes
January 31, 2019Cyclops 10.2.0
Whatβs new Cyclops 10.2.0
- cyclops-pure enhancements
- More performant type class instance implementations
- π Deprecate AnyM in favour of the Do Builder in cyclops-pure
π Bug fixes
- dropRight can result in OutOfMemoryExceptions being thrown
- takeRight can result in OutOfMemoryExceptions being thrown
- π removeValue's behaviour is inconsistent across types
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
Agrona to 0.9.31
π Reactor to 3.2.5.RELEASE
RxJava2 to 2.2.6Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.2.0β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.2.0β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.2.0β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.2.0β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.2.0β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.2.0'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.2.0'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.2.0'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.2.0\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.1.1 Changes
December 17, 2018Cyclops 10.1.1
Whatβs new Cyclops 10.1.1
- π Bug fixes in persistent Map types
- π Monix inspired Eval enhancements (recover, recoverWith, onErrorRestart, restartUntil, forEach operators - better async behaviour)
- Future enhancements (forEach operators)
- π LazyEither filter bug fixes
π Bug fixes
- LazyEither::filter blocks when operating asynchronously
- π removeAll and removeAllKeys broken in ImmutableMap
- HashMap.getOrElseGet is calling Supplier even if the key is present in the map
- Reactive Eval::get should propagate errors
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
None this time
Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.1.1β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.1.1β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.1.1β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.1.1β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.1.1β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.1.1'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.1.1'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.1.1'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.1.1\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.1.0 Changes
November 27, 2018Cyclops 10.1.0
Whatβs new Cyclops 10.1.0
- Generic pure functional programming with a new Do notation
- takeWhileInclusive, takeUntilInclusive, dropWhileInclusive, dropUntilInclusive operators on ReactiveSeq
- π Type class performance improvements for Seq, Vector, LazySeq, IO, Publishers, Iterables and more
π Bug fixes
- π Spouts amb operator fixed
- β± Spouts schedule Stream operator fix
- Completable types no longer block on reactive-streams subscriptions
- π Deprecations (internal methods and misnamed types)
Do Notation Examples
Do.forEach(OptionInstances::monad) .\_\_(some(10)) .\_\_(some(5)) .yield((a,b)-\>a+b)
π· Tagless Final
Do.forEach(monad) .\_of(amount) .\_\_(this::debit) .\_\_(\_1(this::credit)) .yield(\_\_23(Tuple::tuple)) .fold(fn);
Algebra
interface AccountAlgebra\<W\> { Higher\<W,Account\> debit(Account account, double amount); Higher\<W, Account\> credit(Account account, double amount); }
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
Agrona to 0.9.27
π Reactor to 3.2.3.RELEASE
RxJava 2 to 2.2.4Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.1.0β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.1.0β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.1.0β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.1.0β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.1.0β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.1.0'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.1.0'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.1.0'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.1.0\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.0.4 Changes
November 20, 2018π Cyclops X patch release 4 (10.0.4)
π Whatβs new Cyclops X patch release 4
π Bug fixes
- π mergeMap / concurrentFlatMapper bugs fixed
- Sequence and Traverse added for Reactor Mono and Flux
- Sequence and Traverse added for RxJava2 Single and Flowable
- values() keys() methods added to ImmutableMaps
- π CollectionX removeAll fix
- π LazySeq / Seq removeValue and removeFirst performance optimisation
- Reactive Collection more specific sub-types in return value for a number of operators (e.g. appendAll)
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
None this time
Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.0.4β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.0.4β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.0.4β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.0.4β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.0.4β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.0.4'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.0.4'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.0.4'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.0.4\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.0.3 Changes
November 10, 2018π Cyclops X patch release 3 (10.0.3)
Cyclops X
π Cyclops X (cyclops 10) unifies cyclops-react and the cyclops integration modules on the cyclops versioning scheme. The goal of this project is remove a whole class of runtime errors from application code by providing much stricter APIs that prevent exceptional states from arising. A secondary goal is to modularize cyclops into a series of smaller more focused projects so that functionality is easy to find and developers only take what they need.
Whatβs new Cyclops X
-> Enhancements over cyclops-react 2
- Fast purely functional datastructures (Vector, Seq / List, LazySeq / LazyList, NonEmptyList, HashSet, TreeSet, TrieSet, HashMap, LinkedMap, MultiMap, TreeMap, BankersQueue, LazyString, Discrete Interval Encoded Tree, Zipper, Range, Tree, DifferenceList, HList, Dependent Map )
- Structural Pattern Matching API (deconstruct algebraic product and sum types)
- π Improved type safety via the removal of unsafe APIs
-- E.g. Unlike Optional, Option has no get method (which could throw a null pointer)
-- π New data structures do not support operations that would throw exceptions (you can't call head on an empty list for example) - Eager and Lazy alternatives for most datastructures (Option is eager, Maybe is lazy + reactive)
- π Improved naming of types (Function1-8 rather than Fn1-8, Either not Xor)
- Group id is changed to com.oath.cyclops
- π Versioning between cyclops-react and cyclops is merged on cyclops versioning scheme (version 10 = Cyclops X)
- Light weight dependencies : reactive-streams API & Agrona
- π JVM polyglot higher kinder types support via KindedJ
π Whatβs new Cyclops X patch release 3
π Bug fixes
- LazyEither dropping Left values, even when Throwable, when acting as reactive-streams Publisher
- The internal resolve method in LazyEither should not be used in operator implementations [causes blocking behaviour on some operators on Maybe, LazyEither/3/4/5]
- π ConcurrentFlatMapper inner onError delegates to outer onError [causes mergeMap to finish early when data arriving from returned Publishers after upstream closed]
- π Make LazyEither creation from an Iterable lazy [LazyEither creation from an Iterable was Eager]
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
agrona to 0.9.26
π reactor to 3.2.2.RELEASE
rxJava2 to 2.2.3
jackson to 2.9.7Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.0.3β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.0.3β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.0.3β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.0.3β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.0.3β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.0.3'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.0.3'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.0.3'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.0.3\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.0.2 Changes
November 01, 2018π Cyclops X patch release 1 (10.0.2)
Cyclops X
π Cyclops X (cyclops 10) unifies cyclops-react and the cyclops integration modules on the cyclops versioning scheme. The goal of this project is remove a whole class of runtime errors from application code by providing much stricter APIs that prevent exceptional states from arising. A secondary goal is to modularize cyclops into a series of smaller more focused projects so that functionality is easy to find and developers only take what they need.
Whatβs new Cyclops X
-> Enhancements over cyclops-react 2
- Fast purely functional datastructures (Vector, Seq / List, LazySeq / LazyList, NonEmptyList, HashSet, TreeSet, TrieSet, HashMap, LinkedMap, MultiMap, TreeMap, BankersQueue, LazyString, Discrete Interval Encoded Tree, Zipper, Range, Tree, DifferenceList, HList, Dependent Map )
- Structural Pattern Matching API (deconstruct algebraic product and sum types)
- π Improved type safety via the removal of unsafe APIs
-- E.g. Unlike Optional, Option has no get method (which could throw a null pointer)
-- π New data structures do not support operations that would throw exceptions (you can't call head on an empty list for example) - Eager and Lazy alternatives for most datastructures (Option is eager, Maybe is lazy + reactive)
- π Improved naming of types (Function1-8 rather than Fn1-8, Either not Xor)
- Group id is changed to com.oath.cyclops
- π Versioning between cyclops-react and cyclops is merged on cyclops versioning scheme (version 10 = Cyclops X)
- Light weight dependencies : reactive-streams API & Agrona
- π JVM polyglot higher kinder types support via KindedJ
π Whatβs new Cyclops X patch release 2
- NonEmptyList reduce method that doesnβt require an identity element
- LazyEither.later and LazyEither.always caching / non-caching factory methods
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
None this time
Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.0.2β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.0.2β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.0.2β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.0.2β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.0.2β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.0.2'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.0.2'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.0.2'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.0.2\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.
-
v10.0.1 Changes
October 30, 2018π Cyclops X patch release 1 (10.0.1)
Cyclops X
π Cyclops X (cyclops 10) unifies cyclops-react and the cyclops integration modules on the cyclops versioning scheme. The goal of this project is remove a whole class of runtime errors from application code by providing much stricter APIs that prevent exceptional states from arising. A secondary goal is to modularize cyclops into a series of smaller more focused projects so that functionality is easy to find and developers only take what they need.
Whatβs new Cyclops X
-> Enhancements over cyclops-react 2
- Fast purely functional datastructures (Vector, Seq / List, LazySeq / LazyList, NonEmptyList, HashSet, TreeSet, TrieSet, HashMap, LinkedMap, MultiMap, TreeMap, BankersQueue, LazyString, Discrete Interval Encoded Tree, Zipper, Range, Tree, DifferenceList, HList, Dependent Map )
- Structural Pattern Matching API (deconstruct algebraic product and sum types)
- π Improved type safety via the removal of unsafe APIs
-- E.g. Unlike Optional, Option has no get method (which could throw a null pointer)
-- π New data structures do not support operations that would throw exceptions (you can't call head on an empty list for example) - Eager and Lazy alternatives for most datastructures (Option is eager, Maybe is lazy + reactive)
- π Improved naming of types (Function1-8 rather than Fn1-8, Either not Xor)
- Group id is changed to com.oath.cyclops
- π Versioning between cyclops-react and cyclops is merged on cyclops versioning scheme (version 10 = Cyclops X)
- Light weight dependencies : reactive-streams API & Agrona
- π JVM polyglot higher kinder types support via KindedJ
π Whatβs new Cyclops X patch release 1
- π Views respect the semantics of the JDK Collection interfaces as defined in the Javadoc (i.e. UnsupportedOperationExceptions are thrown for add / remove etc).
π Changelog
π Check out the features delivered and bugs fixed -
Dependency changes
None this time
Modules
- cyclops - Persistent data structures and control types
- cyclops-futurestream - Parrallel asynchronous streaming
- cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
- cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
- cyclops-pure - Higher kinded type classes for pure functional programming in Java
- cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
- cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
- cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.
Get cyclops X
Gradle
Cyclops
compile 'com.oath.cyclops:cyclops:10.0.1β
Cyclops AnyM
compile 'com.oath.cyclops:cyclops-anym:10.0.1β
Cyclops Futurestream
compile 'com.oath.cyclops:cyclops-futurestream:10.0.1β
Cyclops Pure
compile 'com.oath.cyclops:cyclops-pure:10.0.1β
Cyclops Reactive Collections
compile 'com.oath.cyclops:cyclops-reactive-collections:10.0.1β
Cyclops Reactor Integration
compile 'com.oath.cyclops:cyclops-reactor-integration:10.0.1'
Cyclops RxJava2 Integration
compile 'com.oath.cyclops:cyclops-rx2-integration:10.0.1'
Cyclops Jackson Integration
compile 'com.oath.cyclops:cyclops-jackson-integration:10.0.1'
Maven
Cyclops
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops AnyM
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops Futurestream
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-anym\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops Pure
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-pure\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops Reactive Collections
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactive-collections\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops Reactor Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-reactor-integration\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops RxJava2 Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-rx2-integration\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
Cyclops Jackson Integration
\<dependency\> \<groupId\>com.oath.cyclops\</groupId\> \<artifactId\>cyclops-jackson-integration\</artifactId\> \<version\>10.0.1\</version\> \</dependency\>
License
cyclops-react is licensed under the Apache 2.0 license.