CHANGELOG.md
January 16, 2025 ยท View on GitHub
11.3.1
- Sync with
Rambdaversion9.4.2
11.3.0
-
Fix
denorelease -
Sync with
Rambdaversion9.4.1
11.2.0
-
R.throttleTS typings now support no argument case for function input. -
Sync with
Rambdaversion9.3.0
11.1.1
Fix broken build due to changes to TypeScript definitions for lenses.
11.1.0
-
Improve
R.mapToObjecttypes - Issue #96 -
Sync with
Rambdaversion9.2.0
11.0.0
-
Sync with
Rambdaversion9.1.0 -
Change typings of
R.lensEqto matchRambda-adjusttypings
10.1.0
-
Simplify TypeScript logic of
R.pipeAsync/R.composeAsync/R.pipedAsync- MR #698 -
Sync with
Rambdaversion8.6.0
10.0.0
-
Sync with
Rambdaversion8.0.0 -
Add
R.omitPaths- Issue #681 -
Add
R.noop
9.1.1
Add missing fix for type: module imports.
9.1.0
- Sync with
Rambdaversion7.5.0
9.0.0
From this release, CHANGELOG will simply refer to the Rambda version linked to the release, instead of listing Rambda changes here as well. In this case, the version referring to this release is 7.3.0.
- Breaking change due to renaming of
R.mapFastAsynctoR.mapParallelAsyncandR.mapAsyncLimittoR.mapParallelAsyncWithLimit.
8.1.0
-
Breaking change due to renaming of
R.partialCurrytoR.partialObject. -
Wrong
R.updateif index is-1- PR #593 -
Wrong curried typings in
R.anyPass- Issue #642 -
R.modifyPathnot exported - Issue #640 -
Add new method
R.uniqBy. Implementation is coming from Ramda MR#2641 -
Apply the following changes from
@types/rambda:
-- [https://github.com/DefinitelyTyped/DefinitelyTyped/commit/bab47272d52fc7bb81e85da36dbe9c905a04d067](add AnyFunction and AnyConstructor)
-- Improve R.ifElse typings - https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59291
-- Make R.propEq safe for null/undefined arguments - https://github.com/ramda/ramda/pull/2594/files
-
Rambda's
pipe/composedoesn't return proper length of composed function which leads to issue withR.applySpec. It was fixed by alligning Rambda'spipe/composewith Ramda logic - Issue #627 -
Replace
AsyncwithPromiseas return type ofR.type. -
Add new types as TypeScript output for
R.type- "Map", "WeakMap", "Generator", "GeneratorFunction", "BigInt", "ArrayBuffer" -
Add new methods after
Ramdaversion upgrade to0.28.0:
-- R.count -- R.modifyPath -- R.on -- R.whereAny
-
Replace
AsyncwithPromiseas return type ofR.type. -
Remove
isFunctionmethod -
Add
R.juxtmethod -
Add
R.containsmethod -
Add
R.mapcatmethod WIP -
Add
R.flattenObjectmethod -
Add
R.deletePathmethod WIP -
Change
R.countlogic to match the newRamda.countmethod. Instead of counting for target value, the counting is done by predicate function.
8.0.1
- Rambdax doesn't work with
pnpmdue to wrong export configuration - Issue #619
8.0.0
- Breaking change - sync
R.compose/R.pipewith@types/ramda. That is significant change so as safeguard, it will lead a major bump. Important - this lead to raising required TypeScript version to4.2.2. In other words, to useRambdayou'll need TypeScript version4.2.2or newer.
Related commit in @types/ramda - https://github.com/DefinitelyTyped/DefinitelyTyped/commit/286eff4f76d41eb8f091e7437eabd8a60d97fc1f#diff-4f74803fa83a81e47cb17a7d8a4e46a7e451f4d9e5ce2f1bd7a70a72d91f4bc1
There are several other changes in @types/ramda as stated in this comment. This leads to change of typings for the following methods in Rambda:
-- R.unless
-- R.toString
-- R.ifElse
-- R.always
-- R.complement
-- R.cond
-- R.is
-- R.sortBy
-- R.dissoc
-- R.toPairs
-- R.assoc
-- R.toLower
-- R.toUpper
-
One more reason for the breaking change is changing of export declarations in
package.jsonbased on this blog post and this merged Ramda's PR. This also led to renaming ofbabel.config.jstobabel.config.cjs. -
Add
R.apply,R.bindandR.unapply -
Fix missing return value in
R.throttle- Issue #76 -
Add
R.findAsync- Issue #65 -
Fix
R.debouncetypings as the method actually doesn't return a result. -
R.startsWith/R.endsWithnow support lists as inputs. This way, it matches current Ramda behavior. -
Remove unused typing for
R.chain. -
R.map/R.filterno longer accept bad inputs as iterable. This way, Rambda behaves more like Ramda, which also throws. -
Make
R.lastIndexOffollow the logic ofR.indexOf. -
Change
R.typelogic to Ramda logic. This way,R.typecan returnErrorandSetas results. -
Add missing logic in
R.equalsto compare sets - Issue #599 -
Improve list cloning - Issue #595
-
Handle multiple inputs with
R.allPassandR.anyPass- Issue #604 -
Fix
R.lengthwrong logic with inputs as{length: 123}- Issue #606. -
Improve non-curry typings of
R.mergeby using types from mobily/ts-belt. -
Improve performance of
R.uniqWith. -
Wrong
R.updateif index is-1- PR #593 -
Make
R.eqPropssafe for falsy inputs - based on this opened Ramda PR. -
Incorrect benchmarks for
R.pipe/R.compose- Issue #608 -
Fix
R.last/R.headtypings - Issue #609
7.4.1
-
Fix corrupted TypeScript definitions - Rambdax issue #72
-
Fix slow
R.uniqmethods - Issue #581
Fixing R.uniq was done by improving R.indexOf which has performance implication to all methods importing R.indexOf:
- R.includes
- R.intersection
- R.difference
- R.excludes
- R.symmetricDifference
- R.union
7.4.0
-
Add
R.objOfmethod -
Add
R.mapObjIndexedmethod
7.3.0
-
Add
R.rejectIndexedandR.partitionIndexedmethods - Rambdax issue #67 -
Expose
R.mapObject,R.mapArray,R.filterObjectandR.filterArray- Issue #578 -
R.hasuseObject.prototype.hasOwnProperty- Issue #572 -
Fix
R.intersectionwrong order compared to Ramda. -
Expose
immutable.tstypings which are Rambda typings withreadonlystatements - Issue #565, Rambdax issue #69 -
R.pathwrong return ofnullinstead ofundefinedwhen path value isnull- PR #577 -
Wrong arguments order in
R.removeIndex- Issue #66 -
Change
R.pipedtypings to mimic that ofR.pipe. Main difference is thatR.pipeis focused on unary functions. -
Fix wrong logic when
R.withoutuseR.includeswhile it should use array version ofR.includes. -
Use uglify plugin for UMD bundle.
-
Remove
ts-toolbelttypes from TypeScript definitions. Most affected are the following methods, which lose one of its curried definitions:
- R.maxBy
- R.minBy
- R.pathEq
- R.viewOr
- R.when
- R.merge
- R.mergeDeepRight
- R.mergeLeft
7.2.0
-
Approve PR #61 - fix wrong
R.isValidtypings -
R.produceAsync returns promise even if all rules are synchronous.
-
R.defaultTono longer accepts infinite inputs, thus it follows Ramda implementation. -
R.equalssupports equality of functions. -
R.pipedoesn't useR.compose. -
Close Issue #561 - export several internal TS interfaces and types
-
Add
CHANGELOG.mdfile in release files list
7.1.0
-
Add
R.tryCatchAsync -
Add
R.xnor -
R.equalssupports equality of functions. -
Close Issue #559 - improve
R.propOrtypings -
Close Issue #560 - apply immutable lint to TypeScript definitions
-
Close Issue #553 - fix problem with curried typings of
R.prop -
Fix wrong
R.lasttyping -
Upgrade all
rolluprelated dependencies -
R.typesupportsSymboljust like Ramda. -
Remove file extension in
mainproperty inpackage.jsonin order to allowexperimental-modules. See also this Ramda's PR - https://github.com/ramda/ramda/pull/2678/files -
Import
R.indexBy/R.when/R.zipObj/R.propEq/R.complementchanges from recent@types/ramdarelease. -
R.tryCatchstop supporting asynchronous functions; the previous behaviour is exported to Rambdax asR.tryCatchAsync
7.0.1
- Fix missing
Evolveddeclaration in TypeScript definition
7.0.0
-
Rename
R.producetoR.produceAsync -
Add
R.producewhich is synchronous version ofR.produceAsync -
Stop supporting expression inside template's props. Also, spaces are no longer allowed between
{{and}}, i.e.R.interpolate('{{ foo }}', x)should beR.interpolate('{{foo}}', x). -
Add typings for
R.takeWhilewhen iterable is a string -
Add
R.takeLastWhile -
Add
R.dropWhile -
Add
R.eqProps -
Add
R.dropLastWhile -
Add
R.dropRepeats -
Add
R.dropRepeatsWith -
Add
R.evolve
6.2.0
-
R.switcheracceptsundefinedas valid input -
Add
R.props -
Add
R.zipWith -
Add
R.splitAt -
Add
R.splitWhen -
Close Issue #547 - restore
readonlydeclaration in Rambda TypeScript definitions. -
R.append/R.prependnow work only with arrays just like Ramda. Previous behaviour was for them to work with both arrays and strings. -
Sync
R.plucktypings with@types/ramdaas there was a tiny difference.
6.1.0
-
Add
R.mapIndexed -
Add
R.filterIndexed -
Add
R.forEachIndexed -
Fix
R.andwrong definition, because the function doesn't convert the result to boolean. This introduce another difference with@types/ramda. -
Add
R.once -
Add
R.or
6.0.0
-
Breaking change -
R.map/R.filter/R.reject/R.forEach/R.partitiondoesn't pass index as second argument to the predicate, when looping over arrays. The old behaviour of map, filter and forEach can be found in Rambdax methods R.mapIndexed, R.filterIndexed and R.forEachIndexed(introduced in version6.1.0). -
Breaking change -
R.all/R.none/R.any/R.find/R.findLast/R.findIndex/R.findLastIndexdoesn't pass index as second argument to the predicate. -
Add
R.applyDiffmethod -
Change
R.assocPathtypings so the user can explicitly sets type of the new object -
Typings of
R.assocmatch its@types/ramdacounterpart. -
Simplify
R.forEachtypings -
Remove
ReadonlyArray<T>pattern from TypeScript definitions - not enough value for the noise it adds. -
Fix typing of
R.rejectas it wrongly declares that with object, it pass property to predicate.
5.1.0
-
Add
R.takeUntilmethod -
Fix wrong
R.takeWhile
5.0.0
-
Deprecate
R.changemethod - it does too much; partially replaced withR.updateObject. -
Deprecate
R.compactmethod - vague use case;R.filterdoes the same job. -
R.producealways returns a promise -
Add
R.updateObjectmethod -
Add
R.takeWhilemethod -
Add
R.viewOrmethod -
Add
R.pipeAsyncmethod -
Add
R.removeIndexmethod -
Add
R.excludesmethod -
R.includesthrows on wrong input, i.e.R.includes(1, null) -
Close Issue #524 -
R.assocPathwrong logic when number is used in array path input. -
R.mapToObjectAsyncsupports currying -
R.mapAsyncLimitsupports currying -
Fix
R.mapAsyncto pass property to iterator, when input is an object. -
Fix currying for several async methods -
R.tapAsync,R.produce,R.filterAsync*(extend typings)
4.2.0
-
Add
R.movemethod -
Add
R.unionmethod -
Add
R.lensSatisfiesmethod -
Add
R.mapKeysmethod -
Add
R.sortByPathmethod -
Add
R.sortByPropsmethod -
Close Issue #519 -
ts-toolbeltneeds other type of export with--isolatedModulesflag
4.1.0
-
R.templateis renamed toR.interpolate -
R.equalsnow supports negative zero just likeRamda.equals -
Add
R.replaceAllmethod -
Add
R.lensEqmethod
4.0.1
Forgot to export R.of because of wrong marker in files/index.d.ts
4.0.0
Deprecate the following methods:
R.promiseAllObject- becauseR.produceserves the same purposeR.composed- becauseR.pipedmakes more sense, when we want to pass the input at the start of the functionR.defaultToStrict- confusing logicR.findInObject- overestimated importanceR.headObject- overestimated importanceR.includesType- overestimated importanceR.inject- confusing logicR.isAttach- confusing logicR.mergeRight- overestimated importanceR.opposite- overestimated importanceR.otherwise- overestimated importanceR.pushUniq- overestimated importanceR.resolve- overestimated importanceR.s- overestimated importanceR.toggle- overestimated importanceR.uuid- not suitableR.whenAsync- overestimated importance
Move the following methods to Rambda and change their logic to match Ramda implementation:
R.hasPathR.unlessR.pathEqR.tryCatchR.whereR.whereEq
Also these changes:
-
R.flatMap- renamed toR.chainand moved toRambda -
R.ifElseAsync- accept any number of arguments for the returned function -
R.produce,R.filterAsync,R.debounce,R.throttle- fix typings -
R.mapAsyncLimit- drop support for curring and therefore for usage withR.composeAsync -
Improve
R.okthrowed error message -
R.okreturnsundefinedinstead oftruewhen validation passes. -
R.mergeDeepis renamed toR.mergeDeepLeft -
Add
R.pipeAsync -
Take
R.partialCurryfromRambdaas it is deprecated there
3.7.0
Sync with Rambda
Add R.lens
Add R.lensIndex
Add R.lensPath
Add R.lensProp
Add R.over
Add R.set
Add R.view
Add R.paths
Add R.xor
Add R.cond
3.6.0
-
Add
R.mapAsyncLimit -
Add
R.toggle, match Ramda upcoming method specification -
Add
R.isValidAsync -
Extend
R.templatewithout introducing breaking change
3.5.0 Sync with Rambda - add methods descriptions to TypeScript definitions
3.4.0 Sync with Rambda and close Issue #42
3.3.0 Fix R.sortObject typing
3.3.0 Add R.filterAsync and R.sortObject methods
3.2.0 R.uuid accept second argument in order to return string only uuid
3.1.0 Dynamic set of exports lead to adding previously ommited Rambda exports such as R.identical
3.0.3 Sync with Rambda - new functionality of R.isEmpty
3.0.2 Add typings for R.mapToObject
3.0.1 Fix typings
3.0.0 Breaking change as Rambda also has breaking changes
Read more about it in Rambda changelog
Also with this versions, typings tests are provided and several definitions are changed.
-
R.anyTrue, R.anyFalse, R.allTrue, R.allFalse use internal
isTruthyandisFalsymethods. Empty array and object with zero length are considered falsy. -
Deprecate
R.contains -
Deprecate
R.defaultToWhen -
Moved
R.runTeststohelpersrepo
2.17.0 Change in R.runTests logic. It will be removed from Rambdax to helpers repo.
2.16.0 Restore R.runTests but without documentation
- export
getEvaluations,getPositiveEvaluation,getNegativeEvaluationin the context ofR.runTests
2.15.0 Several changes
-
TypeScript definitions have been updated and typings tests are introduced
-
R.mapAsyncandR.mapFastAsyncpass index as second argument
2.14.1 Restore R.contains
2.14.0 Several changes:
-
R.injectaccept before flag as fourth argument -
Remove
R.includesAny -
Improve typing of
R.partition -
R.nextIndexandR.prevIndexwork also with number as second argument
2.13.1 Deprecate R.log and R.runTests
2.12.3 Add 'dist' directory to files
2.12.2 Add R.mapToObject typings
2.12.0 Sync with Rambda
2.11.1 Fix R.waitFor
2.11.0 Add R.toDecimal
2.10.2 Fix issue 32
2.10.0 deprecate R._
2.9.1 R.fromPairs/toPairs typing
2.9.0 npm doesn't update version on their site
2.8.2 R.map typing
2.8.0 Sync with Rambda | no need for create types script
2.7.0 Add R.prevIndex
2.6.2 Sync with Rambda
2.6.0 R.log depends on RAMBDAX_LOG
2.5.0 Rambda's partial
2.4.0 Add R.uuid
2.3.0 R._ parse to constant case
This introduce breaking change for ie11 as noted in issue 31 which is fixed with
2.10.0which deprecates this method
2.2.1 Add R.log, R.logInit and R.logHolder
2.1.0 Add R._
2.0.0 Add R.toggle
1.9.0 Add R.pushUniq
1.8.2 No need for sourcemaps
1.8.1 Fix building with regeneratorRuntime
1.8.0 Upgrade to new major Rollup release
-
Restore
R.headObject -
Add
R.hasPathmethod
1.7.2 R.memoize contains dev console.logs
1.7.1 Forgot to build types
1.7.0 Rename R.then to R.resolve because of Ramda issue with R.then(they rename it to R.andThen)
- Add
R.isFalsy,R.nextIndexandR.mergeDeep
1.6.3 Forgot to export R.unless(credit to @mobily for the PR)
1.6.0 Restore R.compact method
1.5.6 R.maybe accepts also anonymous functions as second and third argument
1.5.5 Add R.maybe method
- Fix errors caugth by
DeepScanservice - Fix TypeScript definitions for
R.thenandR.otherwise R.changeincrease nesting level to 4
1.4.1 R.isValid didn't work with Number prototype
1.4.0 Add multiple methods
-
Add
R.defaultToStrict -
Add
R.defaultToWhen -
Add
R.whereEq -
Add
R.partition -
Add
R.negateis renamed toR.opposite -
Add
R.then -
Add
R.otherwise -
R.isValidaccepts prototypes as rules, i.e.schema = {a: String} -
The prevoious point leads to the same change applied to the methods depending on
R.isValid, i.e.R.ok,R.passandR.isAttach1.3.0 Add
R.unless -
R.whenaccepts both function and value forwhenTrueargument. The same is valid forR.unless -
export
R.negatewhich is the same asR.complement1.2.0 Export
srcfolder1.1.0 Restore
promiseAllObjectandflatMap1.0.1 Fix typings
1.0.0 Deprecate the following methods:
-
compact
-
evolve
-
flatMap
-
greater
-
intersection
-
less
-
omitBy
-
pickBy
-
promiseAllObject
-
promiseAllSecure
-
rangeBy
Also pass deprecation of
addIndexfromRambda@2.0.0
0.24.0 add R.pipedAsync, replace R.multiline with R.glue, remove R.validate
0.23.0 Add R.count
0.22.0 Add R.includesAny
0.21.0 Add R.includesType
0.20.1 R.pass and R.ok work with single schema.
0.20.0 Add R.pathEq
0.19.0 Add R.wait, expose already complete R.waitFor
0.18.0 AddR.anyType and R.allType
0.17.0 Rename R.is to R.pass and restore R.is original functionality.
0.16.0 getter, setter, reset methods
0.15.3 No more prepublish script
0.15.2 curry in remove
Last version with
libfolder exposed