Released on August 17th, 2026.
-
Added the
es-toolkit/bigintentrypoint:bigintcounterparts of the math functions (sum,sumBy,max,min,maxBy,minBy,clamp,inRange,median,medianBy,percentile,range,rangeRight), kept separate so thenumberimplementations stay unchanged. ([#1966]) -
Added
dedent, which removes common leading whitespace from template strings. ([#1679]) -
Added
deepFreezefor recursively freezing objects. ([#1680]) -
Added
mapValuesAsyncandmapKeysAsync. ([#1544]) -
Added
toPascalCaseKeys,toKebabCaseKeys, andtoConstantCaseKeys, completing the object key casing family. ([#1984]) -
Exported the
ToCamelCaseKeys,ToPascalCaseKeys,ToSnakeCaseKeys,ToKebabCaseKeys, andToConstantCaseKeystypes. ([#1651]) -
Added a
preserveArraysoption toflattenObject. ([#974]) -
Fixed
retryto pass the last error to thedelaycallback ([#1759]) and to throw the last attempt's error without applying a final delay ([#1901]). -
Fixed
mergeWithandtoMergedto handle mixed array/object types consistently withmerge. ([#2026]) -
Fixed
pullAtto remove the correct elements with negative indices. ([#1613]) -
Fixed
at,pullAt,orderBy, andsortByto accept readonly arrays. ([#2016]) -
Moved
limitAsyncfrom the array to the promise category. ([#2022]) -
Included the NOTICE file in the published npm and JSR packages. ([#2020])
The following bring es-toolkit/compat closer to Lodash. Behavior for the affected edge cases now matches Lodash, so results may differ if you relied on the previous output.
-
Added
entriesandentriesIn. ([#1874]) -
Fixed
compat/isMatchandcompat/isMatchWithto handle object source patterns against primitive and non-plain-object targets like Lodash. ([#1432]) -
Fixed
compat/setto blockconstructor.prototypepaths, preventing prototype pollution. ([#1904]) -
Fixed
compat/findto respect array-likelength([#1958]) and to convertfromIndexto an integer ([#1961]), andcompat/indexOfto convertfromIndexto an integer when searching forNaN([#1951]). -
Fixed
compat/orderByto resolve unresolved deep paths and nullish elements toundefined([#2010]), to exclude thelengthproperty from array-like values ([#2002]), and to read the criterion property from primitive values ([#1903]). -
Fixed
compat/toPathto split unquoted dotted keys inside brackets. ([#1899]) -
Fixed
compat/omitto treat a key array as a single deep path. ([#1902]) -
Fixed
compat/mapto make the iteratee optional with an identity default. ([#1928]) -
Fixed
compat/sizeto count combined Unicode symbols as single characters. ([#1900]) -
Fixed
compat/intersectionByto support number, object, and nullish iteratee shorthands ([#1993]), andcompat/intersectionWithto apply the comparator when deduplicating the first array ([#1953]). -
Fixed
compat/difference,compat/differenceBy,compat/uniqBy, andcompat/unionByto normalize-0to0. ([#2007]) -
Fixed
compat/maxByandcompat/minByto skip nullish iteratee values ([#1927]), andcompat/meanByto skipundefinedvalues when averaging ([#1978]). -
Fixed
compat/some,compat/template([#2009]), andcompat/fill([#1952]) to gate guard handling withisIterateeCall. -
Fixed
compat/iterateeto treat a boolean as a property shorthand. ([#1941]) -
Fixed
compat/reverseto support array-like objects andarguments. ([#2008]) -
Fixed
compat/toArrayto convert non-array-like iterables. ([#1999]) -
Fixed
compat/toStringto render nested nullish values like Lodash. ([#1992]) -
Fixed
compat/zipObjectto treatnullkeys and values as empty arrays. ([#2005]) -
Fixed
compat/sampleSizeto clamp the default size to the collection length. ([#2003]) -
Fixed
compat/takeWhile,compat/takeRightWhile, andcompat/uniqByto support string inputs. ([#2004]) -
Fixed
compat/chunkto return an empty array for an empty collection with anInfinitysize. ([#1995]) -
Fixed
compat/lastIndexOfto read holes in sparse arrays asundefined. ([#1977]) -
Fixed
compat/lastto returnundefinedfor empty array-like inputs. ([#1954]) -
Fixed
compat/pullAllto return the array as-is whenvaluesis nullish. ([#1962]) -
Added a browser compatibility test suite. ([#2012])
-
Improved documentation, JSDoc accuracy, tests, and internal refactoring across
compatand the docs site. ([#1622], [#1789], [#1824], [#1844], [#1849], [#1854], [#1855], [#1859], [#1860], [#1868], [#1871], [#1887], [#1898], [#1933], [#1939], [#1947], [#1950], [#1955], [#1956], [#1957], [#1960], [#1963], [#1964], [#1968], [#1969], [#1970], [#1972], [#1979], [#1985], [#2000], [#2001], [#2021], [#2025], [#2027])
We sincerely thank @Antoliny0919, @D-Sketon, @kojesung, @chuenchen309, @mariazuheros, @DongEun02, @raon0211, @sukvvon, @racgoo, @dayongkr, @Kropiunig, @ssi02014, @sarathfrancis90, @mym0404, @mlnwns, @kdelay, @gwagjiug, @dohwi, @blro0319, @benedictleejh, @amir-rezaei, @ianzone, @sen2y, @rossyman, @eunwoo-levi, @ramong26, @Gdm0714, and everyone else who contributed. We appreciate your great efforts!