Skip to content

Releases: toss/es-toolkit

v1.49.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 00:25
c8d3c36

Released on June 26th, 2026.

  • Added the es-toolkit/fp entrypoint 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 trimStart to validate multi-character trim strings correctly before it stops trimming. ([#1615])
  • Fixed compat/pick to prefer a literal key over a dot-notation path when the picked value is undefined. ([#1775])
  • Fixed compat/random to better match Lodash behavior for coerced bounds and floating-point options. ([#1767])
  • Fixed compat/chunk to handle NaN and Infinity size 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

Choose a tag to compare

@github-actions github-actions released this 21 Jun 07:16

Released on June 21st, 2026.

  • Fixed the jsdelivr and unpkg CDN <script> entry that regressed in v1.48.0. The fields are now declared at the package root so yarn pack preserves them, since publishConfig only carries standard fields and dropped them. Both CDNs now serve the UMD bundle again.

v1.48.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 06:51

Released on June 21st, 2026.

  • Added AbortSignal support to timeout and withTimeout. ([#1617])
  • Fixed CDN <script> resolution by pointing jsdelivr/unpkg to the UMD bundle and dropping the misused browser field. ([#1395])
  • Fixed toMerged to deep clone the target so untouched nested values stay independent. ([#1780])
  • Fixed compat/toPath to keep empty segments for consecutive and trailing dots. ([#1778])
  • Fixed compat/difference to treat sparse array holes as undefined. ([#1773])
  • Fixed compat/parseInt to coerce input to a string before parsing. ([#1771])
  • Fixed compat/isNaN to improve checks for boxed values and non-numbers. ([#1646])
  • Fixed compat/isMatchWith to 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

Choose a tag to compare

@github-actions github-actions released this 12 Jun 07:38

Released on June 12th, 2026.

  • Fixed maxBy and minBy to propagate NaN, matching Math.max/Math.min behavior. ([#1749])
  • Fixed orderBy and sortBy to place null and undefined values last when sorting. ([#1681])
  • Fixed isNumber to no longer treat boxed Number objects as numbers. ([#1726])
  • Fixed reduce and reduceRight to respect explicitly passed nullish accumulators. ([#1742])
  • Fixed isEmpty to handle functions with own enumerable properties. ([#1645])
  • Fixed the globalThis polyfill to avoid Function(...), supporting CSP environments without unsafe-eval.
  • Fixed ESM resolution for ./compat/* subpaths in package exports. ([#1757])
  • Fixed compat/size to count array-like objects by their length. ([#1766])
  • Fixed compat/round, compat/ceil, and compat/floor to return Infinity for infinite values with precision. ([#1764])
  • Fixed compat/random to coerce the upper bound for non-number max. ([#1751])
  • Fixed compat/toLength to 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

Choose a tag to compare

@github-actions github-actions released this 25 May 08:00

Released on May 25th, 2026.

  • Added es-toolkit/server entrypoint with colors namespace for ANSI terminal color utilities. ([#1683])
  • Added exec function. ([#1689])
  • Added sortKeys to the object entrypoint. ([#1674])
  • Added cartesianProduct and combinations to the array entrypoint. ([#1713])
  • Added allKeyed to the promise entrypoint. ([#1672])
  • Added percentile to the math entrypoint. ([#1710])
  • Added an interactive playground page to docs. ([#1720])
  • Reorganized docs to introduce a flavor switcher and co-locate compat under /compat/. ([#1699])
  • Fixed uniqWith in compat to match lodash's comparator argument order. ([#1729])
  • Fixed compat/omitBy to not treat plain objects with numeric length as 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

Choose a tag to compare

@github-actions github-actions released this 29 Apr 09:42

Released on April 29th, 2026.

  • Fixed AbortError and TimeoutError to fall back to Error when DOMException is undefined. ([#1694])
  • Fixed missing forEach and countBy exports for map and set. ([#1695])

We sincerely thank @SrAnthony and @umsungjun for their contributions. We appreciate your great efforts!

v1.46.0

Choose a tag to compare

@github-actions github-actions released this 22 Apr 01:27

Released on April 22th, 2026.

  • Changed AbortError and TimeoutError to extend DOMException. ([#1660])
  • Added keyBy to the map entrypoint exports. ([#1650])
  • Added Claude Code plugin marketplace and es-toolkit usage skills. ([#1644])
  • Fixed isBuffer to add a browser export condition to avoid a 44KB Buffer polyfill. ([#1671])
  • Fixed toCamelCaseKeys and toSnakeCaseKeys to be exported from compat for the browser bundle. ([#1685])
  • Fixed partial by 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

Choose a tag to compare

@github-actions github-actions released this 04 Mar 10:01

Released on March 4th, 2026.

  • Reverted the return type of sample to not include undefined.
  • Fixed Deno install command to include jsr: prefix. ([#1627])

We sincerely thank @mwln for their contributions. We appreciate your great efforts!

v1.45.0

Choose a tag to compare

@github-actions github-actions released this 02 Mar 10:11

Released on March 2nd, 2026.

  • Fixed findIndex to add missing default parameter for doesMatch. ([#1373])
  • Fixed sample to include undefined in return union type. ([#1302])
  • Fixed cloneDeep to support cloning Error objects.
  • Fixed retry to correctly match retry count with the retries option.
  • Fixed missing Map and Set in 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.txt documentation to docs.

We sincerely thank @D-Sketon, @dayongkr, @matthiasfeist, @raon0211, and @screendriver for their contributions. We appreciate your great efforts!

v1.44.0

Choose a tag to compare

@github-actions github-actions released this 16 Jan 04:30

Released on January 16th, 2026.

  • Added shouldRetry option to retry function. ([#1585])
  • Added isEmptyObject predicate function. ([#1584])
  • Added isNumber predicate 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 flattenObject to retain empty objects and arrays.
  • Enhanced type safety for clone function.
  • Fixed clone error when cloning object with null prototype. ([#1570])
  • Fixed array function callbacks to include index and array parameters. ([#1561])
  • Fixed compat/cloneDeep and cloneDeepWith to clone null-prototype objects as regular objects. ([#1562])
  • Fixed compat/clamp to ensure consistency with lodash. ([#1555])
  • Simplified intersection filter callback for consistency. ([#1582])
  • Fixed incorrect function names and output in cloneDeep JSDoc examples. ([#1583])

We sincerely thank @raon0211, @dayongkr, @eunwoo-levi, @matt-oakes, @T3sT3ro, and @D-Sketon for their contributions. We appreciate your great efforts!