Releases: toss/es-toolkit
Release list
v1.49.0
Released on June 26th, 2026.
- Added the
es-toolkit/fpentrypoint with data-last, pipeable utilities, documentation, benchmarks, and bundle-size checks. ([#1781]) - Added a broad set of array utilities to
es-toolkit/fp, covering slicing, grouping, set operations, ordering, zipping, and collection helpers. ([#1801]) - Fixed
trimStartto validate multi-character trim strings correctly before it stops trimming. ([#1615]) - Fixed
compat/pickto prefer a literal key over a dot-notation path when the picked value isundefined. ([#1775]) - Fixed
compat/randomto better match Lodash behavior for coerced bounds and floating-point options. ([#1767]) - Fixed
compat/chunkto handleNaNandInfinitysize values consistently with Lodash. ([#1797]) - Improved documentation and JSDoc accuracy across array, function, and compat references. ([#1785], [#1786], [#1788], [#1790], [#1791], [#1792], [#1793], [#1795], [#1800])
We sincerely thank @Antoliny0919, @D-Sketon, @eunwoo-levi, and @raon0211 for their contributions. We appreciate your great efforts!
v1.48.1
Released on June 21st, 2026.
- Fixed the
jsdelivrandunpkgCDN<script>entry that regressed in v1.48.0. The fields are now declared at the package root soyarn packpreserves them, sincepublishConfigonly carries standard fields and dropped them. Both CDNs now serve the UMD bundle again.
v1.48.0
Released on June 21st, 2026.
- Added
AbortSignalsupport totimeoutandwithTimeout. ([#1617]) - Fixed CDN
<script>resolution by pointingjsdelivr/unpkgto the UMD bundle and dropping the misusedbrowserfield. ([#1395]) - Fixed
toMergedto deep clone the target so untouched nested values stay independent. ([#1780]) - Fixed
compat/toPathto keep empty segments for consecutive and trailing dots. ([#1778]) - Fixed
compat/differenceto treat sparse array holes asundefined. ([#1773]) - Fixed
compat/parseIntto coerce input to a string before parsing. ([#1771]) - Fixed
compat/isNaNto improve checks for boxed values and non-numbers. ([#1646]) - Fixed
compat/isMatchWithto align nested primitive matching with lodash. ([#1647])
We sincerely thank @aidant, @Antoliny0919, @D-Sketon, @miinhho, @MyraxByte, @raon0211, @sarathfrancis90, and @ssi02014 for their contributions. We appreciate your great efforts!
v1.47.1
Released on June 12th, 2026.
- Fixed
maxByandminByto propagateNaN, matchingMath.max/Math.minbehavior. ([#1749]) - Fixed
orderByandsortByto placenullandundefinedvalues last when sorting. ([#1681]) - Fixed
isNumberto no longer treat boxedNumberobjects as numbers. ([#1726]) - Fixed
reduceandreduceRightto respect explicitly passed nullish accumulators. ([#1742]) - Fixed
isEmptyto handle functions with own enumerable properties. ([#1645]) - Fixed the
globalThispolyfill to avoidFunction(...), supporting CSP environments withoutunsafe-eval. - Fixed ESM resolution for
./compat/*subpaths in package exports. ([#1757]) - Fixed
compat/sizeto count array-like objects by theirlength. ([#1766]) - Fixed
compat/round,compat/ceil, andcompat/floorto returnInfinityfor infinite values with precision. ([#1764]) - Fixed
compat/randomto coerce the upper bound for non-numbermax. ([#1751]) - Fixed
compat/toLengthto coerce non-numeric values to 0. ([#1758]) - Removed unused generic type parameters from
pull. ([#1746])
We sincerely thank @Amund211, @Antoliny0919, @chatman-media, @D-Sketon, @dayongkr, @JetProc, @parkhojeong, @pbk95120, @raon0211, @sarathfrancis90, @shaked-shlomo, and @sukvvon for their contributions. We appreciate your great efforts!
v1.47.0
Released on May 25th, 2026.
- Added
es-toolkit/serverentrypoint withcolorsnamespace for ANSI terminal color utilities. ([#1683]) - Added
execfunction. ([#1689]) - Added
sortKeysto theobjectentrypoint. ([#1674]) - Added
cartesianProductandcombinationsto thearrayentrypoint. ([#1713]) - Added
allKeyedto thepromiseentrypoint. ([#1672]) - Added
percentileto themathentrypoint. ([#1710]) - Added an interactive playground page to docs. ([#1720])
- Reorganized docs to introduce a flavor switcher and co-locate
compatunder/compat/. ([#1699]) - Fixed
uniqWithincompatto match lodash's comparator argument order. ([#1729]) - Fixed
compat/omitByto not treat plain objects with numericlengthas array-like. ([#1709])
We sincerely thank @Antoliny0919, @ATOM00blue, @dayongkr, @guesung, @myeong-jae-hwi, @raon0211, @seungrodotlee, and @Xiaohang0316 for their contributions. We appreciate your great efforts!
v1.46.1
Released on April 29th, 2026.
- Fixed
AbortErrorandTimeoutErrorto fall back toErrorwhenDOMExceptionis undefined. ([#1694]) - Fixed missing
forEachandcountByexports formapandset. ([#1695])
We sincerely thank @SrAnthony and @umsungjun for their contributions. We appreciate your great efforts!
v1.46.0
Released on April 22th, 2026.
- Changed
AbortErrorandTimeoutErrorto extendDOMException. ([#1660]) - Added
keyByto themapentrypoint exports. ([#1650]) - Added Claude Code plugin marketplace and es-toolkit usage skills. ([#1644])
- Fixed
isBufferto add a browser export condition to avoid a 44KB Buffer polyfill. ([#1671]) - Fixed
toCamelCaseKeysandtoSnakeCaseKeysto be exported fromcompatfor the browser bundle. ([#1685]) - Fixed
partialby adding missing full-application overloads for 2/3/4 arguments. ([#1684]) - Added Agent Skills and Claude Code Plugin guide to the AI Integration page. ([#1664])
We sincerely thank @raon0211, @jantimon, @jaydeep-pipaliya, @ethanresnick, @zaewc, @minsoo-web, @wondonghwi, @xxxxxxjun, @jiji-hoon96, @james-rae, @Gamez0, and @dayongkr for their contributions. We appreciate your great efforts!
v1.45.1
v1.45.0
Released on March 2nd, 2026.
- Fixed
findIndexto add missing default parameter fordoesMatch. ([#1373]) - Fixed
sampleto includeundefinedin return union type. ([#1302]) - Fixed
cloneDeepto support cloningErrorobjects. - Fixed
retryto correctly match retry count with theretriesoption. - Fixed missing
MapandSetin check-dist entrypoints. - Fixed missing packages in
publishConfig. ([#1597]) - Reverted the overload for runtime-determined key arrays in
omit. ([#1595]) - Added AI Integration page with
llms.txtdocumentation to docs.
We sincerely thank @D-Sketon, @dayongkr, @matthiasfeist, @raon0211, and @screendriver for their contributions. We appreciate your great efforts!
v1.44.0
Released on January 16th, 2026.
- Added
shouldRetryoption toretryfunction. ([#1585]) - Added
isEmptyObjectpredicate function. ([#1584]) - Added
isNumberpredicate function. - Enhanced error cloning to support
AggregateError. ([#1563]) - Implemented collection methods for Maps and Sets.
- Added bundle size analysis and visualization components to docs. ([#1564])
- Fixed
flattenObjectto retain empty objects and arrays. - Enhanced type safety for
clonefunction. - Fixed
cloneerror when cloning object with null prototype. ([#1570]) - Fixed array function callbacks to include index and array parameters. ([#1561])
- Fixed
compat/cloneDeepandcloneDeepWithto clone null-prototype objects as regular objects. ([#1562]) - Fixed
compat/clampto ensure consistency with lodash. ([#1555]) - Simplified
intersectionfilter callback for consistency. ([#1582]) - Fixed incorrect function names and output in
cloneDeepJSDoc examples. ([#1583])
We sincerely thank @raon0211, @dayongkr, @eunwoo-levi, @matt-oakes, @T3sT3ro, and @D-Sketon for their contributions. We appreciate your great efforts!