cyclops-react v10.0.1 Release Notes
Release Date: 2018-10-30 // over 5 years ago-
π 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.