Releases: arrow-kt/arrow
Release 0.8.0
0.8.0 (2018-10-30)
Noteworthy in 0.8.0:
@extension
Toward KEEP-87 #1040 (raulraja)- Add ApplicativeError constructors from the Core types #988 (pakoito)
- Add CancellableEffect typeclass. Use it to give races to IO #984 (pakoito)
- Optics state API #1047 (nomisRev)
- Optics reader syntax #1041 (nomisRev)
- Arrow playground #1050 (calvellido)
- Adding integration for Retrofit #1037 (leandroBorgesFerreira)
- Comonadic UIs datatypes #1020 (Cotel)
arrow.generic.Coproduct
arities #954 (abergfeld)
Merged pull requests:
- Remove empty file #1076 (pakoito)
- Make some style changes to the Retrofit integration #1075 (pakoito)
- avoiding the creation of intermediate collection #1074 (leandroBorgesFerreira)
- fixing some minor problems #1072 (leandroBorgesFerreira)
- Add Polyjokes example #1071 (dcampogiani)
- Add links to other glossaries #1070 (pakoito)
- Adding integration for retrofit integration #1069 (leandroBorgesFerreira)
- removing unnecessary
fix\(\)
call #1068 (leandroBorgesFerreira) - Add Droidcon example #1066 (pakoito)
- Add contributing guidelines with how to build docs #1065 (iboss-ptk)
- Adding Iterable Extensions that returns Option #1064 (guilherme-pohlmann)
- Make ApplicativeError#catch have bias to the right #1063 (pakoito)
- Fix several potential crashes on Android #1058 (pakoito)
- Bump Kotlin version to 1.3-RC and updated Coroutines #1057 (raulraja)
- Remove @deprecated functions + General warning cleanup #1056 (raulraja)
- Replace BooleanInstances with Boolean companion object #1055 (starkej2)
- Fix Foldable foldMapM restrictions #1054 (AdrianRaFo)
- Add async
defer
inAsync
#1053 (pakoito) - Specify z-index for code snippets to avoid them clashing with sidebar #1051 (calvellido)
- Arrow playground #1050 (calvellido)
- Ref #1049 (nomisRev)
- Optics state API #1047 (nomisRev)
- adding Tuple2 extension functions #1046 (leandroBorgesFerreira)
- Fixing urls and adding co-datatypes to the intro page #1045 (Cotel)
- Revert "Interactive code snippets" #1042 (calvellido)
- Optics reader syntax #1041 (nomisRev)
- @extension Toward KEEP-87 #1040 (raulraja)
- Interactive code snippets #1039 (calvellido)
- Adding integration for Retrofit #1037 (leandroBorgesFerreira)
- Add
compareTo
overload forOrder
#1035 (Mishkun) - Update projects section for Android and Backend #1032 (pedrovgs)
- Publish a shadowed uber jar of Arrow #1031 (raulraja)
- Add documentation for Option.fromNullable #1030 (veiset)
- [partials] avoid initializing partial object multiple times #1025 (Laimiux)
- [pipe] remove inline modifier #1024 (Laimiux)
- Slim down effects #1022 (pakoito)
- Comonadic UIs datatypes #1020 (Cotel)
- Rename MonadSuspendLaws to MonadDeferLaws #1019 (alissonfpmorais)
- Fix links to impl and laws #1016 (pakoito)
- Publish arrow-validation to Maven #1014 (tdelev)
- Try's success/failure extfuns #1011 (alissonfpmorais)
- Updated main dependencies and Gradle #1008 (jrgonzalezg)
- Add small snippet about datatype representation on the glossary #1004 (pakoito)
- Add effectM to Monad, to ignore the result of a second monadic operation #1003 (pakoito)
- updating blogs and presentation docs #1001 (leandroBorgesFerreira)
- Add a Category typeclass, CategoryLaws and make Function1 a Category instance #999 (paulcadman)
- Add
arrow.generic.Coproduct
docs #998 (abergfeld) - Improving the FpToTheMax example #997 (enhan)
- Fix links in Libraries doc #995 (pakoito)
- Added Try.toEither with onLeft mapper #994 (atomcat1978)
- Specify that MonadDefer focuses on synchronous effects #992 (pakoito)
- EqLaws: Add law tests for an equivalence relation #991 (paulcadman)
- Next Development Iteration 0.7.4-SNAPSHOT #990 (raulraja)
- Add ApplicativeError constructors from the Core types #988 (pakoito)
- Add CancellableEffect typeclass. Use it to give races to IO #984 (pakoito)
- Contravariant & Invariant #975 (Cotel)
arrow.generic.Coproduct
arities #954 (abergfeld)
Release 0.7.3
Change Log
0.7.3 (2018-08-19)
Merged pull requests:
- Release 0.7.3 #989 (raulraja)
- Adding FP to the max implementation #987 (enhan)
- Strong label style #986 (israelperezglez)
- Apply global fix to enforce lambda syntactic sugar #985 (pakoito)
- Add cancellation capabilities to IO #983 (pakoito)
- Add my talk at DroidJam #981 (RivuChk)
- Update README #979 (jpardogo)
- Update README.md #978 (kasim1011)
- Add Android Functional Validation With Arrow talk #977 (dcampogiani)
- Improving snippets and fixes #976 (Cotel)
- Add rightIfNotNull to Either. #974 (veiset)
- Added leftIfNull to Either. #972 (atomcat1978)
- Do a cleanup pass on Core #971 (pakoito)
- Add
Kotlin for the Pragmatic Functionalist
intro talk #969 (pakoito) - More IO perf improvements #968 (pakoito)
- Add pipeLazy #965 (pakoito)
- IO flatMap perf tweak #964 (pakoito)
- Sort output of Renzu #963 (pakoito)
- Typeclass Polymorphism pattern docs #961 (JorgeCastilloPrz)
- CoroutineContext aware invoke constructor for Async #960 (pakoito)
- Adding bifunctor and profunctor typeclasses and laws #959 (Cotel)
- More fixes for the fix god #957 (pakoito)
- Improve docs to better explain monads #956 (pakoito)
- Attempt to fix 0.7.X crashing on Android #955 (pakoito)
- Adding sample to on Option docs #953 (fabriciorissetto)
- Add IO implementation of parMap #950 (pakoito)
- Add @deprecated annotations on boolean instances #949 (BranislavLazic)
- StateT video #947 (israelperezglez)
- Remove arrow.legacy #945 (jereksel)
- #841 - Add Monoid instances #942 (bassjacob)
- Fix codecov coverage upload #938 (jereksel)
- Add extfun for raiseError to match just #936 (pakoito)
- Add Jacob's Yow talk #935 (pakoito)
- Replace let(::Left/Right) with .left()/.right() #933 (jereksel)
- Remove kapt sources hax for non-Android projects #932 (jereksel)
- Update Kotlin to 1.2.51 #931 (jereksel)
- Fix gradle part of NonEmptyList README #929 (jereksel)
- Index DSL support #928 (nomisRev)
- Fix Android + Java 8 interaction #926 (pakoito)
- Add orNull() to Either, Validated, and Try #925 (xenomachina)
- Move arrow version to variable #923 (jereksel)
- sequenceK semigroup combine fix #922 (richard-gibson)
- Add recursion schemes info to data types intro #919 (calvellido)
- Add more libs and examples to the docs #918 (pakoito)
- Update the license on the docs to match the one at the root #917 (pakoito)
- arrow 101 article #916 (leandroBorgesFerreira)
- Adding my slides from my talk at Sunny Tech #915 (enhan)
- Arrow-recursion docs #913 (aedans)
- Inject method to restore scroll position after focus into searchbar #911 (calvellido)
- Fix comprehension crash #905 (pakoito)
- Add continueOn to Async #903 (pakoito)
- Add docs for side-effects #902 (pakoito)
- Add tags with difficulty for all docs #901 (pakoito)
- Add docs for library breakdown #900 (pakoito)
- AwaitAll for Traverse Deferred<T> #899 (richard-gibson)
- Searchbar for Arrow Docs #898 (calvellido)
- Fix optics law links #895 (nomisRev)
- Fix Renzu generating for Ant, Kobalt and Maven #894 (jereksel)
- Move Optics std to companion objects #888 (nomisRev)
- Visual differentiatior in docs for
Beginner
vsAdvanced
content #887 (calvellido) - Make mapOf() for Tuple2 return MapK #886 (pakoito)
- Add extra tips for running IO #885 (pakoito)
- Remove unnecessary type params on Either.Left and Either.Right - brea… #877 (dmcg)
- Prevent Either::map and Either::flatMap creating a new Left #876 (dmcg)
- Functor video #875 (israelperezglez)
- Next dev iteration 0.7.3-SNAPSHOT #872 (raulraja)
- ListK docs #870 (pakoito)
- Fix types order in Either example #868 (hamen)
- Fix wrong superclass #867 (Takhion)
- Fix typo in Rx2 readme #865 (aballano)
- [WIP] Try to improve CI build time #863 (aballano)
- Improve optics processor #852 (nomisRev)
- Measure build times #839 (pedrovgs)
- Reactor Integration #706 (Cotel)
Release 0.7.2
Change Log
0.7.2 (2018-05-29)
Noteworthy changes:
-
Katalyst, the leading recursion schemes library in Kotlin is now part of the Arrow family and published under
arrow-recursion
. #831 (aedans) -
Arrow now supports
ForDataType syntax { ... }
syntax blocks where the data type instances are exposed and available asthis
in the block. #811 (raulraja) -
A brand new optics DSL makes changing immutable structure easier than ever. #825 (nomisRev)
-
MaybeK
has been added to the list of supported Rx2 data types providing support for theEffect
hierarchy of type classes. #862 (JorgeCastilloPrz)
Implemented enhancements:
- [Docs] Enable HTTPS #731
- [arrow-core] Make param names more dev friendly #853 (aballano)
- Renzu missing instances and simplifying the tree #822 (JorgeCastilloPrz)
- Add a
sequence
function to all datatypes that supportedtraverse
, instead of needing to use a typeclass to access it (pakoito)
Fixed bugs:
- Directory with source code must have name "arrow" or Renzu will fail #824
- Fix combination of
Option
. CombiningSome
withNone
used to incorrectly yieldNone
. Now it returnsSome
as it should #832
Closed issues:
- Add RxJava Maybe wrapper #860
- Add RxJava Single wrapper #856
- Constructor functions for Show to use receiver function #830
- Add State video #828
- Directory with source code must be name "arrow #823
- [v0.7.0] arrow.syntax.tuples.plus operator fun no more available in version 0.7.0 #815
- Add Kleisli video #809
- Infix
then
function #799 - Links to typeclasses in kotlinx.coroutines docs doesn't work #798
- Codecov is broken #632
- Error message autofold #462
Merged pull requests:
- Release 0.7.2 #864 (raulraja)
- Add MaybeK wrapper for RxJava Maybe #862 (JorgeCastilloPrz)
- Add some clarifications of For- being reused in both Syntax and Witness #861 (pakoito)
- Add a note about a convention on the instance annotation processor #858 (pakoito)
- Add SingleK wrapper for RxJava Single #857 (JorgeCastilloPrz)
- Optics compiler warning & instance fixes #851 (nomisRev)
- Add ApplicativeError example to Validated docs #847 (raulraja)
- EitherT video #846 (israelperezglez)
- Minor typo fix #843 (bdavisx)
- Bump Λnk dependencies to 0.7.1 #842 (Guardiola31337)
- EitherT: add .value() #837 (istonikula)
- Show constructor to use receiver type to enable object property access #835 (ersin-ertan)
- DocsFix: Functor extension method type #833 (ersin-ertan)
- Fix option monoid #832 (pakoito)
- Add Katalyst Core #831 (aedans)
- State video #829 (israelperezglez)
- Fix #824 #827 (jereksel)
- Add generated files to sources jar #826 (jereksel)
- Optics as extension on Companion #825 (nomisRev)
- Update kotlin-metadata library #821 (Takhion)
- Update Kotlin to 1.2.41 #820 (jereksel)
- Add "plus" methods for Tuples #818 (jereksel)
- Format functor #817 (pakoito)
- Remove references to bindAsync #816 (pakoito)
- [Renzu processor] UML generation for Typeclass + Instances info graph #812 (JorgeCastilloPrz)
- Direct type class
syntax
over concrete data types #811 (raulraja) - Kleisli video #810 (israelperezglez)
- Add error message to autofold #806 (nomisRev)
- Add a basic description of the Effect typeclass #805 (pakoito)
- Update README.md #804 (juancazalla)
- Improve Optics DSL with support for sum types and enable Each/At #803 (nomisRev)
- Fix links in docs #800 (jereksel)
- Add Introduction to Kotlin Arrow by Jacob Bass #796 (pakoito)
- Generate isos up to arity 22 #794 (nomisRev)
- Fix parameter order in extension functions in arrow-instances-core #793 (pakoito)
- Adds
1/n - How do I ... in FP : Validation
to list of blogs and examples #792 (raulraja) - Moar badges! #791 (wiyarmir)
- Fix Kotlin version in badge #790 (jereksel)
- Rewrite OpticsProcessor and write some tests for transforming #788 (jereksel)
- Reconcilliate READMEs #787 (pakoito)
- WIP Next dev iteration
0.7.2-SNAPSHOT
#785 (raulraja) - Fix codecov and speed up tests #783 (jereksel)
Release 0.7.1
Fixes @deriving
and releases 0.7.1 #784
Release 0.7.0
Noteworthy since 0.6.1
Paco Estevez : @pakoito
* [29384ab] Rename all Kinds, Witnesses, and typealiases
* [24f03d5] Remove remaining instances of reified
* [1456596] Refactor all typeclasses to use Typeclassless encoding
* [bdee8cb] sigh
* [7b942bd] Refactor all the codebase to have any typeclass dependency as first parameter
* [0930083] Rename pure to just
* [687b296] Split arrow-instances between core and data. Free now only depends on core.
* [a94dc2d] Add alias for platfom-dependent collections
* [7f62399] Add instances for Boolean.
* [d8977fd] Rename MonadSuspend to MonadDefer
* [27d372f] Add docs for dependency_injection
* [843179b] Fix all broken links in list of typeclasses/intro
* [66d9695] Improve typeclass/intro and glossary
* [7f62399] Add doc for platform types with instances.
Simon Vergauwen : @nomisRev
* [9181bae] Add At typeclass and instances
* [fd5a4df] Add Optional law tests for optic conversion
* [e1ae53b] Add Missing map optic
* [911a128] Add Getter test for optic conversion
* [1f01585] Add Iso law test for optic conversion
* [58e2dcd] Add Lens law test for optic conversion
* [9745952] Add Prism law test for optic conversion
* [74bc110] Add Setter law test for optic conversion
* [c3e1d26] Add Traversal law test for optic conversion
* [2615849] Complete map instance test and removed unlawfull map to
list iso
* [fe6bd9b] Add At instances for java_util
* [1b7aa81] Add Each instances for java_util
* [28a777c] Add FilterIndex instances for java_util
* [66936c1] Add Index instances for java_util
* [85fd877] Kind for PIso
* [1ed790e] Kind for PLens
* [a44b96d] Kind for PPrism
* [2a10efb] Kind for POptional
* [aefaf94] Kind for Setter
* [e665906] Kind for PTraversal
* [fe2b4a3] Kind for Getter
* [46cc1f4] Kind for Fold
* [c59876d] Move all optic generation to a single annotation
* [168c7e4] Move optics annotation to optics package and rename
@optic to @Optics
* [a632a67] Move bound to optics module
* [0b6948b] Add KDoc to BoundSetter
* [88d6905] Rename bound to BoundSetter
* [abdff51] Improve generation of Lens
and Optional
of nullable
and Option
types.
* [99920fe] Correction Setter KDoc
* [ec89e59] Docs for syntax DSL
* [e787f26] Compile generated optics in docs.
* [7963979] Move all optic generation to a single annotation
* [b71357e] Move optics annotation to optics package and rename
@optic to @Optics
* [9e57cc8] Move bound to optics module
* [c6cde81] Add KDoc to BoundSetter
* [a969a63] Rename bound to BoundSetter
* [85f3c9a] Improve generation of Lens
and Optional
of nullable
and Option
types.
* [f0a2133] Docs for syntax DSL
Raul Raja : @raulraja
* [f5e4950] arrow-dagger
enables compile time type class instances
resolution
* [11219c8] Group modules into folders for a more semantic
organization
* [db90b80] Dagger modules for effects, rx2 and coroutines exposing
effects instances
* [64ba325] Deriving Semigroup, Monoid, Eq, Order and Show for
products based on TupleN arities
* [b299e45] First iteration of Arrow Generic featuring @Product
http://arrow-kt.io/docs/generic/product/
* [1d3be3e] Extract utility methods in processor to ProcessorUtils
* [a12c765] Add companion object to all tupleN arities
* [7fd063c] semigroup +
syntax
* [b261d1d] Const refactoring Removes free
dependencies on optics
and mtl
.
* [3ff60bf] Moves Try
to arrow-core
since it's a popular used
data type along with other core ones like Option
reducing the need
for users to depend on arrow-data
* [87d0159] Nel docs and ank fixes
Cotel : @Cotel
* [4ddb475] Show typeclass and instances
Israel : @israelperezglez
* [b1de905] Either video
* [ea9fb37] Site improvements
* [1d17e07] Try video
* [efcdd16] NonEmptyList video
* [03eb42f] Validated video
* [0048024] Kinds video
* [6c7cd57] Id video
* [c4f3c9f] ListK video
* [1f378b0] Eval video
* [f1a5448] OptionT video
* [9f2b35e] Setk video
Andrzej Ressel : @jereksel
* [c80b076] Tests for annotation processor
* [af35d26] Clean .gitignore and fix tests
* [3541590] Annotation processor for [at]bounded
aedans : @aedans
* [834e561] Add Tuple2 instances
Guardiola31337 : @Guardiola31337
* [9e4ced8] Remove ank modules from arrow repo
* [481fd6a] Fix ank dep issue using timestamped snapshot versions for
ank-core and ank-gradle-plugin
* [fbd1229] Enable docs after fixing ank with arrow 0.7.0 changes
* [f192366] Fix arrow instances artifact ids adding core and data
suffixes
* [d01abf3] Bump ank dependency which now includes latest 0.7 syntax
changes and unblocks docs generation
AdrianRaFo : @AdrianRaFo
* [3affffe] Map docs
* [eac1ddb] Kleisli docs
* [6e6ac9a] Ap docs
Juan Valencia Calvellido : @calvellido
* [ef29b92] Linkify doc sections headers * This is done through JS
* [56de320] Add code highlighting also to list elements
* [755477e] Small edition to Nel docs to adapt to current general
docs stylings
* [820383c] Standardize all “Available Instances” data types sections
* [94718ce] Add implemented data types lists for all type classes
* [e0ea999] Fix link destination typo in Datatypes intro
* [5fdfecc] Add Id video
Mohit : @msya
* [e5cc22a] Update links to Lens and Iso data types
* [ea736dd] Add API version and meetup name
Daniele Campogiani : @dcampogiani
* [981ae21] Add Android Functional Validation to docs
Radimir Sorokin : @qradimir
* [b9d9871] BoundSetter class
Ricardo Meneghin Filho :
* [058af92] changes Left and Right field-backed properties isRight
and isLeft to function-only backed ones
Alf Kristian Stoyle : @stoyle
* [a49eae6] Allow exception to propagate from fold Success f
Jason Bennett : @jasonab
* [f6181eb] Update README.md
Jorge Castillo : @JorgeCastilloPrz
* [c99e3aa] upgrade kotlin and kotlinx.coroutines
Kaden Thomas : @tkaden4
* [9ac6980] Fix typo in MonadError docs
Mario Arias : @MarioArias
* [f44fb88] fix toPartialFunction implementation
Matthias Lüneberg : @matsluni
* [800a327] Update Readme.md
Pablo Gonzalez Alonso : @pablisco
* [8456246] Reverted problematic merge of the weak type
Robert Stoll : @robstoll
* [caa4e86] simplify settings.gradle by tutteli's settings plugin
itua :
* [664c9a6] Doc for SetK
Release 0.6.1
Noteworthy in this release:
- New optics
Index
andFilteredIndex
. Thank you @nomisRev - Update Option.forall to return true on None. Thanks @benfleis!
- Add Either.getOrHandle. Cheers @sbuettner
Eval
is stack safe and more performant now. Great job by @aedans- New datatype
Weak
by @pablisco. <3 you man :D - Better build errors in Java9 and JRE by @christophsturm. Awesome find!
- Deprecate
yields
inbinding
comprehensions, you can now return any value
A big thanks to all the contributors to the docs, especially those who did it for their first time!
Contributions:
-
Andrzej Ressel (12):
-@optional
annotation and converters -
Christoph Sturm (1):
- improve error message on incompatible jdk version -
Guardiola31337 (3):
- Fixes to README docs -
Israel (11):
- Website improvements and video enabled tutorials -
Juan Valencia Calvellido (6):
- Website improvements and video enabled tutorials -
Mike Kobit (5):
- Build improvements andrepl
task that opens a REPL with Arrow in its classpath -
Pablisco (2):
- Weak data type and docs -
Pratik Chaudhary (2):
- Option doc improvements -
Simon Buettner (2):
- getOrHandle extension -
Simon Vergauwen (26):
- Optic law fixes and `FilterIndex -
aedans (2):
- Compute -> FlatMap and Call -> Defer
- Improve Eval stack safety -
ben fleis (1):
- update Option.forall to return true on None (ie, empty) -
pakoito (20):
- Docs, Effects and binding improvements that deprecateyields
Release 0.6.0
- Merged funKtionale and kategory as arrow (release 0.5.X)
- Fix compatibility issue with Kotlin 1.2
- Refactored the effects package:
- Three typeclasses: MonadSuspend, Async, and Effect
- First pass, improvements coming
- Refactored comprehensions:
- Renamed bindingE to bindingCatch
- Renamed bindingECancellable to bindingCancellable
- Moved bindingCancellable to MonadSuspend
- bindAsync is now only available on bindingCancellable
- Removed bindInM due to its gotchas with suspended types
- Add bindDefer, bindDeferIn to bindingCancellable. They suspended a block to be executed lazily on the current CoroutineContext, or the one passed as a parameter
- New documentation
Release 0.4.0
- Update to Kotlin 1.2 and Gradle 4.3
- Lots of documentation added to the official site!
Additions
- New integration module: kategory-kotlinx-coroutines
- Add bindInM to monad comprehensions
- Add integration with KindedJ
- Add new wrapper for SortedMap #451
- Add new annotation @autofold to generate Fold lenses for sealed classes #448
- Typealias for multiple datatypes, i.e. Either.Left becomes Left #442
- MonadFilter can now provide comprehension guards #441
Fixes
- Refactor IO, Kleisli, Reader, ReaderT
- Redo the StateT API
- Removed all @JvmStatic occurrences as they caused issues with proguard
- Fix Yoneda and Coyoneda to have invoke operators instead of the old apply functions
Release 0.3.11
- Instances for Eval
- Iso instances
- Improved kategory processor (Iso, higherkind & instance)
- Eq instances
- Validated fixes
- Corrected Semigroup & Monoid API
Release 0.3.10
- Fixed a problem on Typeclass instance retrieval system causing Android apps to crash. (It was using a method just present on JDK 8).