Tags:
- [New Feature]
- [Bug Fix]
- [Breaking Change]
- [Documentation]
- [Internal]
- [Polish]
- [Experimental]
Note: Gaps between patch versions are faulty/broken releases. Note: A feature tagged as Experimental is in a high state of flux, you're at risk of it changing without notice.
- New Feature
- add
scanLeft
,scanRight
(@PaNaVTEC) - add an optional
onerror
argument toEither.tryCatch
, fix #323 (@gcanti)
- add
- Bug Fix
Either.tryCatch
now refines the error (@gcanti)
- Docs
- Option, alt method (@piq9117)
- add laws for
Setoid
,Ord
,Functor
,Apply
,Applicative
,Chain
,Monad
,Alt
,Alternative
,Plus
(@gcanti)
- Internal
- upgrade to
[email protected]
(@gcanti)
- upgrade to
- Bug Fix
- add phantom fields to curried type classes, fix #316 (@gcanti)
- fix
Unfoldable.replicateA
signatures (@gcanti)
- Internal
- optimize Foldable.oneOf (@gcanti)
- optimize Foldable.traverse_ (@gcanti)
- optimize Foldable.sequence_ (@gcanti)
- optimize Foldable.foldr (@gcanti)
- Breaking Change
- see gcanti#312 (@gcanti)
- New Feature
Validation
: addgetOrElse
,getOrElseValue
, closes #278 (@gcanti)- add
Functor2
,Functor3
,Apply2
,Apply3
,Applicative2
,Applicative3
,Chain2
,Chain3
,Monad2
,Monad3
in order to better support MTL style (@gcanti)
- Bug Fix
- Flow: reverse order of overloadings in curry declaration, fix #299 (@gcanti)
Set
: fixunion
/insert
/toArray
/reduce
definitions (@gcanti)
- Experimental
Validation
: addchain
(@gcanti)
- Internal
- fix typescript@next errors (@gcanti)
- Documentation
- add
StateTaskEither
,TaskOption
examples (@gcanti)
- add
- New Feature
- Ordering: add fromNumber, toNumber (@gcanti)
- function: add unsafeCoerce (@gcanti)
- add Set module, closes #161 (@gcanti)
- New Feature
Array
: addrotate
(@gcanti)- add some
Foldable
functions (@gcanti)minimum
maximum
sum
product
foldM
oneOf
elem
find
Option
: addtryCatch
(@gcanti)Ring
: addgetProductRing
(@gcanti)Setoid
: addgetProductSetoid
(@gcanti)Ord
: addgetProductOrd
(@gcanti)
- Internal
- perf optimizations (@sledorze, @gcanti)
- travis: use node 8 (@gcanti)
- Bug Fix
- Flow: use
$NonMaybeType
forfromNullable
andmapNullable
(@gcanti)
- Flow: use
- New Feature
- Array: add
getSemigroup
/getMonoid
, fix #272 (@gcanti) - Setoid: add
getRecordSetoid
(@gcanti) - add missing
ap_
methods (Reader, State, Writer) (@gcanti) - type
is*
methods as type guards (Option, Either, Validation, These) (@gcanti)
- Array: add
- Experimental
- add Flowtype support (@gcanti)
- Polish
- Correct
ap_
parameter name (@OliverJAsh) - update Prettier version (@gcanti)
- fix
getRecordSemigroup
signature (@gcanti) - fix
getRecordMonoid
signature (@gcanti) - format markdown files with prettier (@gcanti)
- Correct
- New Feature
- move semigroup methods from Monoid.ts to Semigroup.ts (@valery-paschenkov)
- New Feature
- add
function.constNull
andfunction.constUndefined
(@raveclassic)
- add
- Breaking Change
- upgrade to latest TypeScript (2.6.1), fix #244 (@gcanti)
- New Feature
Array
: addfindFirst
andfindLast
functions (@chasent)Option
: addgetOrElseValue
,filter
,mapNullable
(@raveclassic)Either
: addgetOrElseValue
(@raveclassic)Either
: addfromNullable
(@gcanti)
- Bug Fix
Either
:equals
now accepts aSetoid<L>
other thanSetoid<A>
, fix #247 (@gcanti)Validation
:equals
now accepts aSetoid<L>
other thanSetoid<A>
, fix #247 (@gcanti)
- New Feature
- add
Invariant
(@gcanti) Semigroup
: addgetRecordSemigroup
,getRecordMonoid
,getMeetSemigroup
,getJoinSemigroup
(@gcanti)Ord
: addgetSemigroup
,fromCompare
,contramap
(@gcanti)Option
: addtoUndefined
method (@vegansk)These
: addgetMonad
(@gcanti)Foldable
: addfold
(@gcanti)- add
TaskEither
(@gcanti) Validation
: addfromEither
(@gcanti)Task
: addfromIO
(@gcanti)Either
: pass value togetOrElse
(@jiayihu)Array
: addspan
function (@gcanti)
- add
- Bug Fix
Array
: fixtakeWhile
,dropWhile
(@gcanti)
- Documentation
- add
Moore
machine example (@gcanti) - add MTL style example (@gcanti)
- starting API documentation (@gcanti)
- add
- Internal
- fix
Semigroupoid
definition (@gcanti)
- fix
- Polish
Ordering
: shortenorderingSemigroup
definition (@gcanti)Task
: prefer{}
toany
, fix #231 (@OliverJAsh)- upgrade to
[email protected]
(@gcanti) These
: fixfold
andbimap
definitions (@gcanti)- fix
ArrayOption
example (@gcanti) State
: removeEndomorphism
type alias (@gcanti)Monoidal
: useliftA2
(@gcanti)
- Bug Fix
- fixed EitherT to only run code on the left once, closes #219 (@nfma)
- fixed OptionT to only run code on none once (@gcanti)
- Breaking Change
- migrate to curried APIs when possible (@raveclassic, @gcanti)
- remove useless static
of
s (@gcanti)
- New Feature
- Array: add zip and zipWith (@gcanti)
- Monoid: add getArrayMonoid (@gcanti)
- Tuple
- add toString (@gcanti)
- add getApplicative (@gcanti)
- add getChainRec (@gcanti)
- Setoid: add getArraySetoid (@gcanti)
- Bug fix
- Store
- fix extend implementation (@gcanti)
- fix toString (@gcanti)
- Store
- Polish
- Plus: remove any from signatures (@gcanti)
- New Feature
- add endomorphism monoid, fix #189 (@gcanti)
- add a default implementation of
foldr
usingfoldMap
(@gcanti) - add
insert
,remove
andpop
toStrMap
(@gcanti) - improve
voidLeft
,voidRight
type inference, fix #191 (@gcanti)
- Bug Fix
- StrMap.size returns a wrong number of key/value pairs, fix #186 (@gcanti)
- Documentation
- start book "fp-ts by examples"
- New Feature
- add
contains
,isNone
,isSome
,exists
methods toOption
(@alexandervanhecke) - add
Exception
module (@gcanti) - add
Pair
module (@gcanti) - add
Trace
module (@gcanti) - add
IxMonad
module (@gcanti) - add
IxIO
module (@gcanti) - add
Either.fromOption
(@gcanti)
- add
- Documentation
- add
StateT
example (@gcanti) - add
IxIO
example (@gcanti)
- add
- New Feature
- add type-level dictionaries in order to reduce the number of overloadings (@gcanti)
- add typechecks to the type-level HKT dictionary (@SimonMeskens)
- add Task.tryCatch, closes #159 (@gcanti)
- use the bottom
never
type for none, closes #160 (@gcanti) - add Random module (@gcanti)
- add Console module (@gcanti)
- add FantasyFilterable (@SimonMeskens)
- add FantasyWitherable (@SimonMeskens)
- Documentation
- add ReaderIO example (@gcanti)
- add EitherOption example (@gcanti)
- Polish
- TaskEither: rename fromPromise to tryCatch (@gcanti)
- Internal
- add fix-prettier task (@gcanti)
- remove typings-checker (doesn’t work with ts 2.4.1) (@gcanti)
- Breaking Change
- Tuple (wrapped)
- Dictionary (wrapped, renamed to StrMap)
- changed
- Applicative.getCompositionApplicative (also renamed to getApplicativeComposition)
- Foldable.getCompositionFoldable (also renamed to getFoldableComposition)
- Functor.getCompositionFunctor (also renamed to getFunctorComposition)
- Traversable.getCompositionTraversable (also renamed to getTraversableComposition)
- Free (usage)
- NaturalTransformation
- ReaderT
- StateT
- removed (temporarily or because the porting is not possible)
- Id (not possible)
- Traced
- IxMonad
- Mealy
- FreeAp
- New Feature
- Functor: add
flap
, closes #129 (@gcanti) - Add getSetoid instances, closes #131 (@gcanti)
- Add "flipped" ap method to FantasyApply instances, closes #132 (@gcanti)
- Functor: add
- Polish
- Examples: correct TaskEither fold method (@OliverJAsh)
- Bug Fix
Array.snoc
returns wrong results with nested arrays, fix #133 (@gcanti)
- New Feature
- Functor: add
voidRight
/voidLeft
, closes #120 (@gcanti) - Add
Mealy
machine, closes #122 (@gcanti) - Add
Filterable
, closes #124 (@gcanti) - Add
Witherable
, closes #125 (@gcanti)
- Functor: add
- Polish
- upgrade to ts 2.3.4
- Either: make
right
=== `of\ - IxIO example: use new proof
- Bug Fix
- IxMonad: remove wrong type constraint (@gcanti)
- New Feature
- add
Free Applicative
, closes #106 (@gcanti) - Add
Semiring
, closes #107 (@gcanti) - Add
Ring
, closes #108 (@gcanti) - Add
Field
, closes #109 (@gcanti) - Improve
toString
methods, closes #116 (@gcanti)
- add
- Bug Fix
- NonEmptyArray: add missing static
of
(@gcanti) - add
_tag
type annotations, closes #118 (@gcanti)
- NonEmptyArray: add missing static
- Internal
- Change
proof
s of implementation (@rilut) - use prettier, closes #114 (@gcanti)
- Change
- New Feature
- add
StateT
monad transformer, closes #104 (@gcanti) - add
Store
comonad, closes #100 (@rilut) - add
Last
monoid, closes #99 (@gcanti) - add
Id
monadfunctor (@gcanti) - Array: add extend instance (@gcanti)
- NonEmptyArray: add comonad instance (@gcanti)
examples
folderexercises
folder
- add
- Polish
- Tuple: remove StaticFunctor checking (@rilut)
- Breaking Change (@gcanti)
- required typescript version: 2.3.3
- drop
Static
prefix in type classes - Change contramap signature, closes #32
- Validation: remove deprecated functions
- Foldable/toArray
- Dictionary/fromFoldable
- Dictionary/toUnfoldable
- Profunctor/lmap
- Profunctor/rmap
- Unfoldable/replicate
- compositions: renaming and signature changes
getFunctorComposition
->getCompositionFunctor
getApplicativeComposition
->getCompositionApplicative
getFoldableComposition
->getCompositionFoldable
getTraversableComposition
->getCompositionTraversable
OptionT
,EitherT
,ReaderT
refactoring- drop
IxMonadT
, moveIxIO
to theexamples
folder - drop
Trans
module Free
refactoring- drop
rxjs
dependency - drop
lib-jsnext
folder - make
None
constructor private - remove
Pointed
andCopointed
type classes
- New Feature
- add Monoidal type class (@gcanti)
- Bug Fix
- fix
foldMap
, closes #89 (@gcanti) - replace
instanceof
checks with valued_tag
s, fix #96 (@gcanti, @sledorze)
- fix
- New Feature
- Monoid: add
getFunctionStaticMonoid
, closes #70 (@gcanti) - Foldable: add
traverse_
andsequence_
, closes #71 (@gcanti) - add
getStaticMonad
toEitherT
,OptionT
,ReaderT
, closes #81 (@gcanti) - Applicative: add
when
, closes #77 (@gcanti) - indexed monad type class and
IxMonadT
, closes #73 (@gcanti) - Array / function: add refinements, closes #68 (@gcanti, @sledorze)
- Monoid: add
- Bug Fix
- Either:
of
should returnEither
, fix #80 (@gcanti) - fix
toArray
(@gcanti)
- Either:
- New Feature
Foldable
module: addintercalate
function, fix #65 (@gcanti)- Add
Profunctor
typeclass, fix #33 (@gcanti, @sledorze) - Add
These
, fix #47 (@gcanti) Apply
module: addapplyFirst
andapplySecond
, fix #60 (@sledorze)
- Bug Fix
- fix
Either.ap
(@sledorze)
- fix
- Polish
- expose experimental modules (@danielepolencic, @gcanti)
- New Feature
- add
getOrElse
toEither
, fix #39 (@sledorze) - add composition of functors, applicatives, foldables, traversables, fix #53 (@gcanti)
- add
- Experimental
- add
EitherT
, fix #36 (@gcanti) - add
OptionT
, fix #37 (@gcanti) - add
ReaderT
, fix #38 (@gcanti) - add
Trans
typeclass (liftT
), fix #40 (@gcanti) - add
Free
, fix #42 (@gcanti)
- add
- Polish
- deprecate
validation.getApplicativeS
/validation.getStaticApplicative
(@gcanti)
- deprecate
- Bug Fix
- fix return types of
validation.success
/validation.failure
(@gcanti)
- fix return types of
- Bug Fix
- fix
Some.reduce
so it callsf
, gcanti#45 (@leemhenson)
- fix
- New Feature
Semigroupoid
type class (@gcanti)Rxjs
module (@gcanti)Tuple
module (@gcanti)Dictionary
module (@gcanti)- add phantom types to all data structures in order to allow type extraction (@gcanti)
- add all exports for rollup (@gcanti)
- Breaking Change
- complete refactoring: new technique to get higher kinded types and typeclasses
- New Feature
- add support for fantasy-land
- Breaking Change
- complete refactoring
- remove
data
module - remove
newtype
module
- Bug Fix
- fix
compose
definition for 5 or more functions (@bumbleblym)
- fix
- New Feature
- make Array a HKT and deprecate
to
,from
helper functions, fix #5 (@gcanti) - add
Traced
comonad (@bumbleblym) - add
getOrElse
method toOption
(@gcanti) - add NonEmptyArray, fix #12 (@gcanti)
- make Array a HKT and deprecate
- Polish
- add tslint
- Bug Fix
- fix
State
definition (@gcanti)
- fix
- Bug Fix
- fix
ChainRec
definition (@gcanti)
- fix
Initial release