NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3426 most downloaded on npm
A utility library for JavaScript and Typescript.
Last release today
04 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
280 releases · first in 2018
Nothing published for this version
isNot: resolve trivial fixed-value conditions ( #1441 ) ( b9ec4b0 ), closes #1440
endsWith, startsWith: reject disjoint prefix/suffix instead of disabling the return type ( #1439 ) ( 5d7dc5f ), closes #1434 #1432
One column per quarter.
startsWith, endsWith: reject disjoint literal prefixes/suffixes at compile time ( #1434 ) ( 845c7b1 ), closes #1432
filter, find, flatMap, forEach, map, mapWithFeedback, uniqueBy, zipWith: narrow callback data param type for lazy evaluators
filter, find, findLast, first, groupByProp, partition, takeLastWhile, takeWhile: Redesign types for functions that accept type-narrowing predicates
isNot: allow widening type predicates
filter, groupByProp: support type predicates that aren't subtypes of the item type
pipe: allow early returns to short-circuit the pipe, remove shared objects between pipes
zip,zipWith: handle data-last with empty param
prop: Handle index signatures correctly ( #1418 ) ( d68a180 ), closes #1274
deps: bump versions + manual fixes
map, mapWithFeedback: Correct types through NoInfer ( #1368 ) ( 53d22a6 ), closes #1364
drop,filter,groupBy,indexBy,isEmptyish,mapKeys,omit,pick,prop,sample,...: Remove trivial type-fest utilities
splice: move data-last inference to curried data param
sample: typechecking perf issue with large literal tuples
only: typing issue with union types ( #1354 ) ( ee955e7 ), closes #1353
isDeepEqual: allow null-prototype objects (#1313) (f0d9bf8), closes #1228
range: add step parameter to range function
merge, mergeDeep: improve Merge type
truncate: handle primitive inputs (#1279) (04f8855), closes #1276
funnel: Avoid calling setTimeout with negative numbers
export symbols for declarations: true (#1252) (e3967b3), closes #1175
mapKeys: mapper with single literal value (#1251) (4bdee70), closes #1249
Refine typing for optional tuple elements when exactOptionalPropertyTypes is enabled
exactOptionalPropertyTypes is enabled (#1246) (8c3f7c6)This change affects the following utilities when dealing with optional tuple elements:
chunkdropfiltergroupByProphasAtLeastisEmptyishmergeAllomitpartialBindpartialLastBindpickpropsamplebuild: generate a monolithic type definition file (#1241) (4f0668f), closes #1175
omit: handle complex tuple inputs, unions, and unbounded keys (#1240) (78740e7), closes #1186
groupByProp: narrow union types in simple arrays correctly
# 2.32.0 (2025-09-18) ### Features * toTitleCase
_This version is identical to 2.31.0. We were experimenting with some modernizations of our release pipelines and needed to generate a release as part
conditional: remove defaultCase (#1192) (ebea7b3), closes #1114
isFunction: stricter Function type (#1161) (729ead3), closes #778
defaultTo: introduce defaultTo (#1159) (92449ef), closes #1158
const: prefer narrow typing for literals (#1160) (4c5bc73), closes #823
prop: allow deep paths (#1158) (cb7d611), closes #830
forEachObj,keys,mapKeys,mapValues,omitBy,pickBy: support branded keys (#1151) (96e20e2), closes #752
stringToPath: improve compatibility with Lodash (#1150) (0fde627), closes #779
truncate: add the string truncate function
setPath: support interfaces (#1145) (0ea58e0), closes #990
clone: expand built-in cloning to any non-plain object (#1139) (d7aae6e), closes #782
pick: Add support for unions and unbounded records (#1129) (7084e0b), closes #1128
pickBy: dont add undefined to value type of unbounded records (#1127) (73e9f5a), closes #1075
forEachObj,mapKeys,mapValues,omitBy,pickBy,values: support paramerized record keys (#1124) (cc49031), closes #1122
conditional: support default case fallbacks directly within the implementation
sumBy,funnel,toCamelCase: fix test coverage issues
jsr.io: Release JSR in same pipeline
## 2.22.4 (2025-05-30) ### Bug Fixes * npm: Publish with provenance
conditional, toCamelCase: fix "slow types" for jsr.io (#1099) (c5d4c6f), closes #1098
Remeda is now available on JSR.io too: https://jsr.io/@remeda/remeda
Remeda is now available on JSR.io too: https://jsr.io/@remeda/remeda
dropWhile, dropLastWhile: revert #1076
groupByProp: A new groupBy utility for better type-narrowing for groups, replaces groupBy(data, prop('myProp')) and groupBy(data, ({ myProp }) => myPr
takeWhile: improve type inference
filter: maintain tuple shape in result
drop,partialBind: Fix types to handle optionals
hasAtLeast: handle more tuple/array shapes
add readme to package dist + other stuff
Your coding agent can read these notes before it upgrades. Set up the MCP server →