| [a762898] | 1 | # es-toolkit Changelog
|
|---|
| 2 |
|
|---|
| 3 | ## Version v1.44.0
|
|---|
| 4 |
|
|---|
| 5 | Released on January 16th, 2026.
|
|---|
| 6 |
|
|---|
| 7 | - Added `shouldRetry` option to `retry` function. ([#1585])
|
|---|
| 8 | - Added `isEmptyObject` predicate function. ([#1584])
|
|---|
| 9 | - Added `isNumber` predicate function.
|
|---|
| 10 | - Enhanced error cloning to support `AggregateError`. ([#1563])
|
|---|
| 11 | - Implemented collection methods for Maps and Sets.
|
|---|
| 12 | - Added bundle size analysis and visualization components to docs. ([#1564])
|
|---|
| 13 | - Fixed `flattenObject` to retain empty objects and arrays.
|
|---|
| 14 | - Enhanced type safety for `clone` function.
|
|---|
| 15 | - Fixed `clone` error when cloning object with null prototype. ([#1570])
|
|---|
| 16 | - Fixed array function callbacks to include index and array parameters. ([#1561])
|
|---|
| 17 | - Fixed `compat/cloneDeep` and `cloneDeepWith` to clone null-prototype objects as regular objects. ([#1562])
|
|---|
| 18 | - Fixed `compat/clamp` to ensure consistency with lodash. ([#1555])
|
|---|
| 19 | - Simplified `intersection` filter callback for consistency. ([#1582])
|
|---|
| 20 | - Fixed incorrect function names and output in `cloneDeep` JSDoc examples. ([#1583])
|
|---|
| 21 |
|
|---|
| 22 | We sincerely thank @raon0211, @dayongkr, @eunwoo-levi, @matt-oakes, @T3sT3ro, and @D-Sketon for their contributions. We appreciate your great efforts!
|
|---|
| 23 |
|
|---|
| 24 | ## Version v1.43.0
|
|---|
| 25 |
|
|---|
| 26 | Released on December 12th, 2025.
|
|---|
| 27 |
|
|---|
| 28 | - Enhanced `merge` to handle arrays and objects consistently, and to match lodash's behavior with date values and array-like objects. ([#1553], [#1542], [#1548])
|
|---|
| 29 | - Fixed `isMatch` and `isMatchWith` to match lodash's behavior.
|
|---|
| 30 | - Fixed `intersectionBy` implementation and removed duplicates when the mapper produces the same values. ([#1528])
|
|---|
| 31 | - Fixed `throttle` working like debounce.
|
|---|
| 32 | - Fixed type inference in `toSnakeCaseKeys`, `toCamelCaseKeys` for edge cases and improved type inference for uppercase keys. ([#1538])
|
|---|
| 33 | - Fixed casing utilities (`camelCase`, `kebabCase`, `lowerCase`, `snakeCase`, `startCase`, `upperCase`) to match lodash's behavior. ([#1525])
|
|---|
| 34 | - Fixed `compat/template` to disable ES interpolation when custom `interpolate` is provided. ([#1527])
|
|---|
| 35 | - Fixed incorrect example in `differenceBy` documentation. ([#1543])
|
|---|
| 36 | - Performance improvement: updated `deburr` to use arrays to construct the deburrMap. ([#1526])
|
|---|
| 37 |
|
|---|
| 38 | We sincerely thank @dayongkr, @raon0211, @wo-o29, @Yeom-JinHo, @Copilot, @oshosh, @vbfox, @sukvvon, @sankeyangshu, @D-Sketon, @seo-rii for their contributions. We appreciate your great efforts!
|
|---|
| 39 |
|
|---|
| 40 | ## Version v1.42.0
|
|---|
| 41 |
|
|---|
| 42 | Released on November 17th, 2025.
|
|---|
| 43 |
|
|---|
| 44 | - Added new async utilities: `filterAsync`, `flatMapAsync`, `forEachAsync`, `mapAsync`, `reduceAsync`, and `limitAsync` for handling asynchronous operations.
|
|---|
| 45 | - Exported `ThrottleOptions` and `DebounceOptions` interfaces for better type support.
|
|---|
| 46 | - Fixed `isFinite` to implement type predicate to narrow type to number.
|
|---|
| 47 | - Fixed `isSafeInteger` to implement type predicate to narrow type to number.
|
|---|
| 48 | - Fixed `omit` to prevent adding index properties to array-like objects.
|
|---|
| 49 | - Fixed `mergeWith` to remove unnecessary nullish coalescing for 100% branch coverage.
|
|---|
| 50 | - Fixed `compat/updateWith` to remove unreachable code and add prototype pollution test.
|
|---|
| 51 | - Updated documentation headings for consistency.
|
|---|
| 52 | - Improved test coverage for `compat/mergeWith`, `compat/unset`, `get`, `toMerged`, `mergeWith`, and `compat/intersectionBy` with additional edge cases and security tests.
|
|---|
| 53 |
|
|---|
| 54 | We sincerely thank @Debbl, @wo-o29, @raon0211, @Yeom-JinHo, @sukvvon, and @D-Sketon for their contributions. We appreciate your great efforts!
|
|---|
| 55 |
|
|---|
| 56 | ## Version v1.41.0
|
|---|
| 57 |
|
|---|
| 58 | Released on October 24th, 2025.
|
|---|
| 59 |
|
|---|
| 60 | - Enhanced `throttle` to preserve `this` context when called as a method.
|
|---|
| 61 | - Added type guard support for `partition` function.
|
|---|
| 62 | - Fixed `omit` to support runtime-determined key arrays with proper overloads.
|
|---|
| 63 | - Fixed `defaults` in compatibility layer to properly handle undefined and null sources.
|
|---|
| 64 | - Fixed `toSnakeCaseKeys` and `toCamelCaseKeys` to correctly return types for non-plain objects.
|
|---|
| 65 | - Fixed `toMerged` and `mergeWith` to properly handle shared objects in merge logic.
|
|---|
| 66 | - Fixed `compat/union` to support array-like objects.
|
|---|
| 67 | - Fixed `compat/updateWith` to use `get` for value retrieval in updater function.
|
|---|
| 68 | - Fixed circular import between `isMatch` and `isMatchWith`.
|
|---|
| 69 | - Fixed `find` and `findLast` by simplifying logic and removing unnecessary checks.
|
|---|
| 70 | - Fixed `takeRight` by improving test coverage and removing redundant checks.
|
|---|
| 71 | - Fixed `curry` and `curryRight` by removing unnecessary type assertions.
|
|---|
| 72 | - Fixed `isEqualWith` and `mapKeys` by removing unnecessary type assertions.
|
|---|
| 73 | - Improved performance for `meanBy` by removing intermediate array creation.
|
|---|
| 74 | - Updated build system to use UMD format instead of IIFE for browser builds.
|
|---|
| 75 | - Fixed numerous documentation examples across compat modules.
|
|---|
| 76 | - Improved test coverage with additional test cases for edge cases and compatibility.
|
|---|
| 77 |
|
|---|
| 78 | We sincerely thank @the5thbeatle, @wo-o29, @hwibaski, @manudeli, @raon0211, @dayongkr, @D-Sketon, @yoouungyoung, @Dohun-choi, @sukvvon, @zoulou00, and @sen2y for their contributions. We appreciate your great efforts!
|
|---|
| 79 |
|
|---|
| 80 | ## Version v1.40.0
|
|---|
| 81 |
|
|---|
| 82 | Released on October 8th, 2025.
|
|---|
| 83 |
|
|---|
| 84 | - Enhanced `sumBy` to pass the element index to the `getValue` callback function.
|
|---|
| 85 | - Improved performance for `uniq` function.
|
|---|
| 86 | - Fixed `cloneDeepWith` to handle runtime errors in environments without Blob support and correctly clone Boolean, Number, and String objects.
|
|---|
| 87 | - Fixed `omit` to avoid unnecessary deep cloning, improving performance.
|
|---|
| 88 | - Fixed `toCamelCaseKeys` to properly handle PascalCase type conversion.
|
|---|
| 89 | - Fixed `toPath` to correctly handle arrays and non-string inputs.
|
|---|
| 90 | - Fixed `repeat` to validate and handle invalid repeat counts.
|
|---|
| 91 | - Fixed `sortedIndexBy` to properly handle default iteratee.
|
|---|
| 92 | - Fixed `some` predicate check to correctly handle null and undefined cases.
|
|---|
| 93 | - Fixed compatibility issue in `compat/unset` with nonexistent paths.
|
|---|
| 94 | - Fixed several JSDoc issues across multiple functions including return types, parameter descriptions, and method names.
|
|---|
| 95 | - Improved documentation clarity and consistency across multiple functions.
|
|---|
| 96 | - Enhanced test coverage with additional test cases for compat functions and edge cases.
|
|---|
| 97 | - Updated build configuration and CI workflows.
|
|---|
| 98 |
|
|---|
| 99 | We sincerely thank @wo-o29, @D-Sketon, @HidenLee, @yoouung, @manudeli, @dayongkr, @Li13, @nicklemmon, @sen2y, @miinhho, @raon0211, @joshkel, @jgjgill, @mlnwns, @Dohun-choi, @PinkChampagne17, @sukvvon, @YOUNGHO8762, @caseBread, @Jeongeun-Choi, @artechventure and hoyyChoi for their contributions. We appreciate your great efforts!
|
|---|
| 100 |
|
|---|
| 101 | ## Version v1.39.10
|
|---|
| 102 |
|
|---|
| 103 | Released on August 17th, 2025.
|
|---|
| 104 |
|
|---|
| 105 | - Fixed `defaultsDeep` to properly handle deep merging of objects in arrays
|
|---|
| 106 | - Fixed several documentation issues and examples across multiple functions
|
|---|
| 107 |
|
|---|
| 108 | We sincerely thank @wo-o29, @thwlckd, @kilimandzharov, and @dayongkr for their contributions. We appreciate your great efforts!
|
|---|
| 109 |
|
|---|
| 110 | ## Version v1.39.9
|
|---|
| 111 |
|
|---|
| 112 | Released on August 10th, 2025.
|
|---|
| 113 |
|
|---|
| 114 | - Fixed `mergeWith` to properly handle null values returned from customizer function.
|
|---|
| 115 | - Fixed `cloneDeepWith` to properly handle customizer returning null values.
|
|---|
| 116 | - Fixed some of the documentation issues.
|
|---|
| 117 |
|
|---|
| 118 | We sincerely thank @raon0211, @joshkel, and @Najeong-Kim for their contributions. We appreciate your great efforts!
|
|---|
| 119 |
|
|---|
| 120 | ## Version v1.39.8
|
|---|
| 121 |
|
|---|
| 122 | Released on July 25th, 2025.
|
|---|
| 123 |
|
|---|
| 124 | - Aligned the types of `fill`, `pullAll`, `pullAllBy`, `pullAllWith`, `pullAt`, `remove`, and `reverse` in our compatibility library with the latest Lodash types (`@types/lodash` v4.17.20).
|
|---|
| 125 |
|
|---|
| 126 | ## Version v1.39.7
|
|---|
| 127 |
|
|---|
| 128 | Released on July 9th, 2025.
|
|---|
| 129 |
|
|---|
| 130 | - Fixed a compatibility issue with Lodash's `debounce` and `throttle` functions.
|
|---|
| 131 | - Remove useless source map for reduce bundle size.
|
|---|
| 132 | - Fix some of the documentation issues.
|
|---|
| 133 |
|
|---|
| 134 | We sincerely thank @dayongkr, @cobocho, @raon0211, and @D-Sketon for their contributions. We appreciate your great efforts!
|
|---|
| 135 |
|
|---|
| 136 | ## Version v1.39.6
|
|---|
| 137 |
|
|---|
| 138 | Released on July 2th, 2025.
|
|---|
| 139 |
|
|---|
| 140 | - Fixed handling of null/undefined values in `values` function.
|
|---|
| 141 | - Fixed type safety in `compat/get` by adding GetFieldType utility type.
|
|---|
| 142 |
|
|---|
| 143 | We sincerely thank @raon0211, @dayongkr, @yhb-flydream, @ssi02014, @JeongHwan-dev, and @guesung for their contributions. We appreciate your great efforts!
|
|---|
| 144 |
|
|---|
| 145 | ## Version v1.39.5
|
|---|
| 146 |
|
|---|
| 147 | Released on June 24th, 2025.
|
|---|
| 148 |
|
|---|
| 149 | - Fixed type compatibility issues between `es-toolkit/compat` and `@types/lodash`.
|
|---|
| 150 | - Improved documentation.
|
|---|
| 151 |
|
|---|
| 152 | We thank @raon0211, @dayongkr, @sukvvon, and @yhb-flydream for their contributions.
|
|---|
| 153 |
|
|---|
| 154 | ## Version v1.39.4
|
|---|
| 155 |
|
|---|
| 156 | Released on June 21st, 2025.
|
|---|
| 157 |
|
|---|
| 158 | - Fixed prototype pollution issue in es-toolkit to enhance security.
|
|---|
| 159 | - Enhanced build system to provide compat/\* functions in CommonJS format by default.
|
|---|
| 160 |
|
|---|
| 161 | We thank @raon0211, and @dayongkr for their contributions.
|
|---|
| 162 |
|
|---|
| 163 | ## Version v1.39.3
|
|---|
| 164 |
|
|---|
| 165 | Released on June 7th, 2025.
|
|---|
| 166 |
|
|---|
| 167 | - Fixed postbuild script to ensure compat function categorization aligns with src directory structure.
|
|---|
| 168 |
|
|---|
| 169 | ## Version v1.39.2
|
|---|
| 170 |
|
|---|
| 171 | Released on June 7th, 2025.
|
|---|
| 172 |
|
|---|
| 173 | - Added dual package export support for individual compat functions (e.g., `es-toolkit/compat/add`).
|
|---|
| 174 |
|
|---|
| 175 | ## Version v1.39.1
|
|---|
| 176 |
|
|---|
| 177 | Released on June 6th, 2025.
|
|---|
| 178 |
|
|---|
| 179 | - Resolved mismatch between named and default exports in compat .d.ts and .js files to improve TypeScript integration.
|
|---|
| 180 |
|
|---|
| 181 | ## Version v1.39.0
|
|---|
| 182 |
|
|---|
| 183 | 🎉 Released on June 5th, 2025. 🎉
|
|---|
| 184 |
|
|---|
| 185 | We're thrilled to announce that `es-toolkit/compat` has achieved full compatibility with Lodash! 🎉
|
|---|
| 186 |
|
|---|
| 187 | A huge thank you to all our contributors who made this possible.
|
|---|
| 188 |
|
|---|
| 189 | - Introduced compatibility functions for [defaultsDeep](https://es-toolkit.slash.page/reference/compat/object/defaultsDeep.html), [isMatchWith](https://es-toolkit.slash.page/reference/compat/predicate/isMatchWith.html), [flatMapDepth](https://es-toolkit.slash.page/reference/compat/array/flatMapDepth.html), [flatMapDeep](https://es-toolkit.slash.page/reference/compat/array/flatMapDeep.html), [overArgs](https://es-toolkit.slash.page/reference/compat/function/overArgs.html), [findLastKey](https://es-toolkit.slash.page/reference/compat/object/findLastKey.html) and [truncate](https://es-toolkit.slash.page/reference/compat/string/truncate.html).
|
|---|
| 190 | - Enhanced build system to support `es-toolkit/compat/*` module imports.
|
|---|
| 191 | - Fixed special functions like `each` to ensure proper functionality.
|
|---|
| 192 | - Fixed Deno compatibility issues for `defaultsDeep` function.
|
|---|
| 193 | - Fixed import paths in Deno environment.
|
|---|
| 194 | - Added benchmark comparing es-toolkit and lodash `identity` function performance.
|
|---|
| 195 | - Improved documentation and test coverage for various functions.
|
|---|
| 196 |
|
|---|
| 197 | We sincerely thank @raon0211, @dayongkr, @mreiden, @hwibaski, @shren207, @jiji-hoon96, and @myungjuice for their contributions. We appreciate your great efforts!
|
|---|
| 198 |
|
|---|
| 199 | ### ⭐️ Special Thanks to Our Amazing Contributors Who Made 100% Compatibility Possible ⭐️
|
|---|
| 200 |
|
|---|
| 201 | @raon0211, @dayongkr, @D-Sketon, @mass2527, @ssi02014, @shren207, @chhw130, @haejunejung, @jsparkdev, @manudeli, @jgjgill, @hyesungoh, @kaehehehe, @filipsobol, @fvsch, @wondonghwi, @seungrodotlee, @bertyhell, @minchodang, @Jeong-Rae, @kangju2000, @juno7803, @wojtekmaj, @mattiacoll, @changwoolab, @po4tion, @gyumong, @choi2021, @mancuoj, @de-novo, @eunhyulkim, @kim-sung-jee, @gs18004, @Hanna922, @Na-hyunwoo, @aken-you, @tanggd, @ho991217, @piquark6046, @jiji-hoon96, @seonghun0828, @pkovzz, @nnnnoel, @noelkim-prestolabs, @minsoo-web, @hautest, @scato3, @l2hyunwoo, @WooWan, @VVSOGI, @k-jeonghee, @knott11, @lukaszkowalik2, @moonheekim0118, @sadobass, @minjongbaek, @umsungjun, @sossost, @sunrabbit123, @Seung-wan, @cruelladevil, @iDevGon, @oror-sine, @1eeminhyeong, @benzyminzy, @BlackWhite2000, @tooooo1, @L2HYUNN, @DonghyunKim98, @dasom-jo, @guesung, @uniqueeest, @KiKoS0, @myungjuice, @seung-juv, @Collection50, @nowethan, @coding-honey, @ariandel-dev, @apeltop, @jch1223, @yhay81, @milooy, @raviqqe, @youznn, @BinskLee, @YEONDG, @shinwonse, @willmanduffy, @vjo, @touhidrahman, @T3sT3ro, @belgattitude, @WISUNGWON, @anaclumos, @hsskey, @BasixKOR, @Kyujenius, @Dohun-choi, @dngur9801, @sanginchun, @westofsky, @DONG-8, @yhmpc, @pbstar, @MoXiaoluo, @uussong, @tuhm1, @tisou1, @spookyuser, @sa02045, @Hotanya, @nia3y, @mreiden, @kms0219kms, @IkumaTadokoro, @hansolbangul, @hainan-612, @hwibaski, @jeongshin, @HoberMin, @ohprettyhak, @gweesin, @FengBuPi, @kyvg, @evan-moon, @chldmsqls34, @kimpuro, @dogagenc, @Duck-98, @redd97, @faner11, @bhollis, @jaehunn, @babay123, @beomxtone, @ankitjha420, @shan-mx, @2skydev, @StyleShit, @confidential-nt, @siddsarkar, @seongminn, @healtheloper, @pnodet, @Gaic4o, @leeminhee119, @leehj322, @kristian240, @kingston, @kim-dongho, @jungwoo3490, @joris-gallot, @jonganebski, @jiwooproity, @moshuying, @jakvbs, @therealjamesjung, @SaeWooKKang and @HyeokjaeLee
|
|---|
| 202 |
|
|---|
| 203 | ## Version v1.38.0
|
|---|
| 204 |
|
|---|
| 205 | Released on May 18th, 2025.
|
|---|
| 206 |
|
|---|
| 207 | - Added compatibility functions for [bindAll](https://es-toolkit.slash.page/reference/compat/util/bindAll.html), [setWith](https://es-toolkit.slash.page/reference/compat/object/setWith.html), [memoize](https://es-toolkit.slash.page/reference/function/memoize.html), [isNative](https://es-toolkit.slash.page/reference/compat/predicate/isNative.html), [invokeMap](https://es-toolkit.slash.page/reference/compat/array/invokeMap.html), [clone](https://es-toolkit.slash.page/reference/object/clone.html), [cloneWith](https://es-toolkit.slash.page/reference/compat/object/cloneWith.html), and [sortedLastIndexOf](https://es-toolkit.slash.page/reference/compat/array/sortedLastIndexOf.html).
|
|---|
| 208 | - Enhanced [invariant](https://es-toolkit.slash.page/reference/util/invariant.html) function to accept Error instances and added [assert](https://es-toolkit.slash.page/reference/util/assert.html) alias.
|
|---|
| 209 | - Fixed type definitions and empty array handling in [maxBy](https://es-toolkit.slash.page/reference/array/maxBy.html) and [minBy](https://es-toolkit.slash.page/reference/array/minBy.html).
|
|---|
| 210 | - Fixed typo 'Partail' to 'Partial' in [findKey](https://es-toolkit.slash.page/reference/object/findKey.html) type annotation.
|
|---|
| 211 | - Enhanced [max](https://es-toolkit.slash.page/reference/math/max.html) and [min](https://es-toolkit.slash.page/reference/math/min.html) functions to skip NaN, symbol, and null values, and return undefined when all values are skipped.
|
|---|
| 212 | - Fixed sparse array handling in compat functions to match Lodash's behavior.
|
|---|
| 213 | - Improved test coverage and documentation for various functions.
|
|---|
| 214 | - Fixed various documentation issues and typos.
|
|---|
| 215 |
|
|---|
| 216 | We sincerely thank @myungjuice, @scato3, @uniqueeest, @YEONDG, @shren207, @hyesungoh, @kms0219kms, @minjongbaek, @kristian240, @D-Sketon, @Seung-wan, @jiji-hoon96, @raon0211, and @dayongkr for their contributions. We appreciate your great efforts!
|
|---|
| 217 |
|
|---|
| 218 | ## Version v1.37.2
|
|---|
| 219 |
|
|---|
| 220 | Released on May 4th, 2025.
|
|---|
| 221 |
|
|---|
| 222 | - Fixed an issue in `es-toolkit/compat`'s `throttle` function to match Lodash's behavior by immediately invoking the throttled function when wait time is zero.
|
|---|
| 223 |
|
|---|
| 224 | ## Version v1.37.1
|
|---|
| 225 |
|
|---|
| 226 | Released on May 3rd, 2025.
|
|---|
| 227 |
|
|---|
| 228 | - Fixed a bug in JSR's `@es-toolkit/es-toolkit` package that prevented importing the `camelCase` function in Deno.
|
|---|
| 229 |
|
|---|
| 230 | ## Version v1.37.0
|
|---|
| 231 |
|
|---|
| 232 | Released on May 3rd, 2025.
|
|---|
| 233 |
|
|---|
| 234 | - Introduced compatibility functions for [result](https://es-toolkit.slash.page/reference/compat/object/result.html), [omitBy](https://es-toolkit.slash.page/reference/object/omitBy.html), [xorBy](https://es-toolkit.slash.page/reference/array/xorBy.html), [xorWith](https://es-toolkit.slash.page/reference/array/xorWith.html), [unzipWith](https://es-toolkit.slash.page/reference/array/unzipWith.html), [sampleSize](https://es-toolkit.slash.page/reference/array/sampleSize.html), [transform](https://es-toolkit.slash.page/reference/compat/object/transform.html), [wrap](https://es-toolkit.slash.page/reference/compat/function/wrap.html), [countBy](https://es-toolkit.slash.page/reference/array/countBy.html), and [xor](https://es-toolkit.slash.page/reference/array/xor.html).
|
|---|
| 235 | - Added vitest benchmark for [ary](https://es-toolkit.slash.page/reference/function/ary.html) function.
|
|---|
| 236 | - Fixed string comparison in [sortBy](https://es-toolkit.slash.page/reference/array/sortBy.html) and [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html) by removing locale comparison and using ASCII code instead.
|
|---|
| 237 | - Fixed type definition in [isBuffer](https://es-toolkit.slash.page/reference/predicate/isBuffer.html).
|
|---|
| 238 | - Fixed internal documentation links for Korean and Japanese headings.
|
|---|
| 239 | - Improved code readability and documentation for various functions.
|
|---|
| 240 | - Prevented circular dependencies by updating import paths in [toCamelCaseKeys](https://es-toolkit.slash.page/reference/object/toCamelCaseKeys.html) and [toSnakeCaseKeys](https://es-toolkit.slash.page/reference/object/toSnakeCaseKeys.html).
|
|---|
| 241 |
|
|---|
| 242 | We sincerely thank @chldmsqls34, @umsungjun, @raon0211, @dayongkr, @shren207, @oror-sine, @L2HYUNN, @D-Sketon, @ariandel-dev, @Jeong-Rae, and @beomxtone for their contributions. We appreciate your great efforts!
|
|---|
| 243 |
|
|---|
| 244 | ## Version v1.36.0
|
|---|
| 245 |
|
|---|
| 246 | Released on April 24th, 2025.
|
|---|
| 247 |
|
|---|
| 248 | - Introduced compatibility functions for [groupBy](https://es-toolkit.slash.page/reference/array/groupBy.html), [partial](https://es-toolkit.slash.page/reference/function/partial.html), [partialRight](https://es-toolkit.slash.page/reference/function/partialRight.html), [forEachRight](https://es-toolkit.slash.page/reference/array/forEachRight.html), [forOwnRight](https://es-toolkit.slash.page/reference/compat/object/forOwnRight.html), [forIn](https://es-toolkit.slash.page/reference/compat/object/forIn.html), [forInRight](https://es-toolkit.slash.page/reference/compat/object/forInRight.html), [overEvery](https://es-toolkit.slash.page/reference/compat/util/overEvery.html), [hasIn](https://es-toolkit.slash.page/reference/compat/object/hasIn.html), [pullAt](https://es-toolkit.slash.page/reference/array/pullAt.html), [forOwn](https://es-toolkit.slash.page/reference/compat/object/forOwn.html), [pullAllWith](https://es-toolkit.slash.page/reference/compat/array/pullAllWith.html), [overSome](https://es-toolkit.slash.page/reference/compat/util/overSome.html), [partition](https://es-toolkit.slash.page/reference/array/partition.html), and [flatMap](https://es-toolkit.slash.page/reference/array/flatMap.html).
|
|---|
| 249 | - Fixed compatibility issues in [take](https://es-toolkit.slash.page/reference/array/take.html), [takeRight](https://es-toolkit.slash.page/reference/array/takeRight.html), [defaults](https://es-toolkit.slash.page/reference/compat/object/defaults.html), [repeat](https://es-toolkit.slash.page/reference/compat/string/repeat.html), and [words](https://es-toolkit.slash.page/reference/string/words.html) by adding proper guards.
|
|---|
| 250 | - Fixed [throttle](https://es-toolkit.slash.page/reference/function/throttle.html) behavior when both leading and trailing options are enabled.
|
|---|
| 251 | - Improved performance for [find](https://es-toolkit.slash.page/reference/compat/array/find.html) by removing unnecessary slice operations.
|
|---|
| 252 | - Enhanced performance of [toPairs](https://es-toolkit.slash.page/reference/compat/object/toPairs.html) by pre-allocating arrays and using iterator values.
|
|---|
| 253 | - Simplified implementation and aligned types with Lodash for [partition](https://es-toolkit.slash.page/reference/array/partition.html).
|
|---|
| 254 |
|
|---|
| 255 | We sincerely thank @D-Sketon, @raon0211, @dayongkr, @minjongbaek, @seungrodotlee, @mass2527, @uniqueeest, @leehj322, @cruelladevil, @shren207, and @ssi02014 for their contributions. We appreciate your great efforts!
|
|---|
| 256 |
|
|---|
| 257 | ## Version v1.35.0
|
|---|
| 258 |
|
|---|
| 259 | Released on April 16th, 2025.
|
|---|
| 260 |
|
|---|
| 261 | - Added support for [toCamelCaseKeys](https://es-toolkit.slash.page/reference/object/toCamelCaseKeys.html) and [toSnakeCaseKeys](https://es-toolkit.slash.page/reference/object/toSnakeCaseKeys.html).
|
|---|
| 262 | - Added support for custom delay function based on attempts in [retry](https://es-toolkit.slash.page/reference/function/retry.html).
|
|---|
| 263 | - Introduced compatibility functions for [at](https://es-toolkit.slash.page/reference/array/at.html) (array), [split](https://es-toolkit.slash.page/reference/compat/string/split.html), [shuffle](https://es-toolkit.slash.page/reference/array/shuffle.html), [zipWith](https://es-toolkit.slash.page/reference/array/zipWith.html), [zipObject](https://es-toolkit.slash.page/reference/array/zipObject.html), [keyBy](https://es-toolkit.slash.page/reference/array/keyBy.html), [assign](https://es-toolkit.slash.page/reference/compat/object/assign.html), [assignInWith](https://es-toolkit.slash.page/reference/compat/object/assignInWith.html), [assignWith](https://es-toolkit.slash.page/reference/compat/object/assignWith.html), [update](https://es-toolkit.slash.page/reference/compat/object/update.html), [updateWith](https://es-toolkit.slash.page/reference/compat/object/updateWith.html), [uniqWith](https://es-toolkit.slash.page/reference/array/uniqWith.html), [unionBy](https://es-toolkit.slash.page/reference/array/unionBy.html), [unionWith](https://es-toolkit.slash.page/reference/array/unionWith.html), [takeWhile](https://es-toolkit.slash.page/reference/array/takeWhile.html), [sortedLastIndex](https://es-toolkit.slash.page/reference/compat/array/sortedLastIndex.html), [sortedLastIndexBy](https://es-toolkit.slash.page/reference/compat/array/sortedLastIndexBy.html), [toPairs](https://es-toolkit.slash.page/reference/compat/object/toPairs.html), [toPairsIn](https://es-toolkit.slash.page/reference/compat/object/toPairsIn.html), [cond](https://es-toolkit.slash.page/reference/compat/util/cond.html), [over](https://es-toolkit.slash.page/reference/compat/util/over.html), [functions](https://es-toolkit.slash.page/reference/compat/object/functions.html), and [create](https://es-toolkit.slash.page/reference/compat/object/create.html) in `es-toolkit/compat`.
|
|---|
| 264 | - Fixed Lodash compatibility issues in [pick](https://es-toolkit.slash.page/reference/object/pick.html) and [pickBy](https://es-toolkit.slash.page/reference/object/pickBy.html).
|
|---|
| 265 |
|
|---|
| 266 | We sincerely thank @shren207, @kim-sung-jee, @HyeokjaeLee, @Jeong-Rae, @D-Sketon, @jsparkdev, @wojtekmaj, @FengBuPi, @oror-sine, @L2HYUNN, @gs18004, @ohprettyhak, and @kimpuro for their contributions. We appreciate your great efforts!
|
|---|
| 267 |
|
|---|
| 268 | ## Version v1.34.1
|
|---|
| 269 |
|
|---|
| 270 | Released on March 27th, 2025.
|
|---|
| 271 |
|
|---|
| 272 | - Fixed a bug in [isBrowser](https://es-toolkit.slash.page/reference/predicate/isBrowser.html) and [isNode](https://es-toolkit.slash.page/reference/predicate/isNode.html) that caused them to not work properly in Deno environments.
|
|---|
| 273 |
|
|---|
| 274 | ## Version v1.34.0
|
|---|
| 275 |
|
|---|
| 276 | Released on March 27th, 2025.
|
|---|
| 277 |
|
|---|
| 278 | - Added support for [isBrowser](https://es-toolkit.slash.page/reference/predicate/isBrowser.html), [isNode](https://es-toolkit.slash.page/reference/predicate/isNode.html), [attempt](https://es-toolkit.slash.page/reference/util/attempt.html), [attemptAsync](https://es-toolkit.slash.page/reference/util/attemptAsync.html).
|
|---|
| 279 | - Introduced compatibility functions for [functionsIn](https://es-toolkit.slash.page/reference/compat/object/functionsIn.html), [meanBy](https://es-toolkit.slash.page/reference/math/meanBy.html), [minBy](https://es-toolkit.slash.page/reference/math/minBy.html), [mean](https://es-toolkit.slash.page/reference/math/mean.html), [sortedIndexOf](https://es-toolkit.slash.page/reference/compat/array/sortedIndexOf.html).
|
|---|
| 280 | - Fixed compatibility with lodash for [set](https://es-toolkit.slash.page/reference/compat/object/set.html), [add](https://es-toolkit.slash.page/reference/compat/math/add.html), [subtract](https://es-toolkit.slash.page/reference/compat/math/subtract.html).
|
|---|
| 281 |
|
|---|
| 282 | We sincerely thank @dayongkr, @D-Sketon, @seongminn, @Kyujenius for their contributions. We appreciate your great efforts!
|
|---|
| 283 |
|
|---|
| 284 | ## Version v1.33.0
|
|---|
| 285 |
|
|---|
| 286 | Released on March 9th, 2025.
|
|---|
| 287 |
|
|---|
| 288 | - Added support for [reverseString](https://es-toolkit.slash.page/reference/string/reverseString.html) and [isJSON](https://es-toolkit.slash.page/reference/predicate/isJSON.html).
|
|---|
| 289 | - Introduced compatibility functions for [pullAllBy](https://es-toolkit.slash.page/reference/compat/array/pullAllBy.html), [intersectionWith](https://es-toolkit.slash.page/reference/array/intersectionWith.html), [findLast](https://es-toolkit.slash.page/reference/compat/array/findLast.html), [reduce](https://es-toolkit.slash.page/reference/compat/array/reduce.html), [reduceRight](https://es-toolkit.slash.page/reference/compat/array/reduceRight.html), [divide](https://es-toolkit.slash.page/reference/compat/math/divide.html), [values](https://es-toolkit.slash.page/reference/compat/object/values.html), [valuesIn](https://es-toolkit.slash.page/reference/compat/object/valuesIn.html), [maxBy](https://es-toolkit.slash.page/reference/compat/math/maxBy.html), and [pickBy](https://es-toolkit.slash.page/reference/compat/object/pickBy.html).
|
|---|
| 290 | - Fixed package exports on React Native so that `es-toolkit` can be used in React Native projects.
|
|---|
| 291 | - Fixed a bug in [sum](https://es-toolkit.slash.page/reference/math/sum.html) where passing `undefined` values like `sum([undefined, 1, 2, 3])` resulted in `NaN`, which was different from lodash.
|
|---|
| 292 | - Fixed a bug in [assignIn](https://es-toolkit.slash.page/reference/compat/object/assignIn.html) that didn't assign keys with undefined values.
|
|---|
| 293 |
|
|---|
| 294 | ## Version v1.32.0
|
|---|
| 295 |
|
|---|
| 296 | Released on January 30th, 2025.
|
|---|
| 297 |
|
|---|
| 298 | - Added support for [Semaphore](https://es-toolkit.slash.page/reference/promise/Semaphore.html), [Mutex](https://es-toolkit.slash.page/reference/promise/Mutex.html), [isPromise](https://es-toolkit.slash.page/reference/predicate/isPromise.html), and [retry](https://es-toolkit.slash.page/reference/function/retry.html).
|
|---|
| 299 | - Introduced compatibility functions for [multiply](https://es-toolkit.slash.page/reference/compat/math/multiply.html), [sortedIndex](https://es-toolkit.slash.page/reference/compat/array/sortedIndex.html), and [sortedIndexBy](https://es-toolkit.slash.page/reference/compat/array/sortedIndexBy.html).
|
|---|
| 300 | - Added support for custom delimiters in [flattenObject](https://es-toolkit.slash.page/reference/object/flattenObject.html).
|
|---|
| 301 | - Added support for `fromIndex` parameters in [find](https://es-toolkit.slash.page/reference/compat/array/find.html).
|
|---|
| 302 | - Fixed a bug in [cloneDeep](https://es-toolkit.slash.page/reference/object/cloneDeep.html) and [cloneDeepWith](https://es-toolkit.slash.page/reference/object/cloneDeepWith.html) that cloned uncloneable objects.
|
|---|
| 303 |
|
|---|
| 304 | ## Version v1.31.0
|
|---|
| 305 |
|
|---|
| 306 | Released on December 27th, 2024.
|
|---|
| 307 |
|
|---|
| 308 | - Added support for the [windowed](https://es-toolkit.slash.page/reference/array/windowed.html), [remove](https://es-toolkit.slash.page/reference/array/remove.html) and [asyncNoop](https://es-toolkit.slash.page/reference/function/asyncNoop.html) functions.
|
|---|
| 309 | - Introduced compatibility functions for [pullAll](https://es-toolkit.slash.page/reference/compat/array/pullAll.html), [subtract](https://es-toolkit.slash.page/reference/compat/math/subtract.html), [isBuffer](https://es-toolkit.slash.page/reference/predicate/isBuffer.html), and [methodOf](https://es-toolkit.slash.page/reference/compat/util/methodOf.html).
|
|---|
| 310 | - Enhanced the performance of [pull](https://es-toolkit.slash.page/reference/array/pull.html) when working with large arrays.
|
|---|
| 311 | - Resolved an issue where [reverse](https://es-toolkit.slash.page/reference/compat/array/reverse.html) was not being exported in our compatibility library.
|
|---|
| 312 | - Updated [groupBy](https://es-toolkit.slash.page/reference/array/groupBy.html) to properly handle keys like `toString` or `valueOf`.
|
|---|
| 313 | - Fixed [merge](https://es-toolkit.slash.page/reference/object/merge.html) to correctly merge values when `target` or any of its values are `null` or `undefined`.
|
|---|
| 314 |
|
|---|
| 315 | We sincerely thank @T3sT3ro, @D-Sketon, @tuhm1, @willmanduffy, @apeltop, @aken-you, @SaeWooKKang, and @ssi02014 for their contributions. We appreciate your great efforts!
|
|---|
| 316 |
|
|---|
| 317 | ## Version v1.30.1
|
|---|
| 318 |
|
|---|
| 319 | Released on December 14th, 2024.
|
|---|
| 320 |
|
|---|
| 321 | - Fixed [uniqueId](https://es-toolkit.slash.page/reference/compat/util/uniqueId.html) not being exported in our compatibility library.
|
|---|
| 322 |
|
|---|
| 323 | We sincerely thank @redd97 for their contributions. We appreciate your great efforts!
|
|---|
| 324 |
|
|---|
| 325 | ## Version v1.30.0
|
|---|
| 326 |
|
|---|
| 327 | Released on December 13th, 2024.
|
|---|
| 328 |
|
|---|
| 329 | - Introduced support for [pull](https://es-toolkit.slash.page/reference/array/pull.html).
|
|---|
| 330 | - Added compatibility functions for [map](https://es-toolkit.slash.page/reference/compat/array/map.html), [range](https://es-toolkit.slash.page/reference/math/range.html), [rangeRight](https://es-toolkit.slash.page/reference/math/rangeRight.html), [differenceWith](https://es-toolkit.slash.page/reference/array/differenceWith.html), [nth](https://es-toolkit.slash.page/reference/compat/array/nth.html), [noop](https://es-toolkit.slash.page/reference/function/noop.html), [identity](https://es-toolkit.slash.page/reference/function/identity.html), [keys](https://es-toolkit.slash.page/reference/compat/object/keys.html), [propertyOf](https://es-toolkit.slash.page/reference/compat/object/propertyOf.html), [nthArg](https://es-toolkit.slash.page/reference/compat/function/nthArg.html), [delay](https://es-toolkit.slash.page/reference/promise/delay.html), [toPlainObject](https://es-toolkit.slash.page/reference/compat/util/toPlainObject.html), [unary](https://es-toolkit.slash.page/reference/function/unary.html), [once](https://es-toolkit.slash.page/reference/function/once.html), [after](https://es-toolkit.slash.page/reference/function/after.html), [takeRightWhile](https://es-toolkit.slash.page/reference/array/takeRightWhile.html), [escapeRegExp](https://es-toolkit.slash.page/reference/string/escapeRegExp.html), [unescape](https://es-toolkit.slash.page/reference/string/unescape.html), [upperFirst](https://es-toolkit.slash.page/reference/string/upperFirst.html), [lowerFirst](https://es-toolkit.slash.page/reference/string/lowerFirst.html), [deburr](https://es-toolkit.slash.page/reference/string/deburr.html), [lt](https://es-toolkit.slash.page/reference/util/lt.html), [lte](https://es-toolkit.slash.page/reference/util/lte.html), [toLower](https://es-toolkit.slash.page/reference/compat/string/toLower.html), [invoke](https://es-toolkit.slash.page/reference/compat/util/invoke.html), [method](https://es-toolkit.slash.page/reference/compat/util/method.html), [reverse](https://es-toolkit.slash.page/reference/compat/array/reverse.html), [now](https://es-toolkit.slash.page/reference/compat/util/now.html), [findKey](https://es-toolkit.slash.page/reference/object/findKey.html), [stubArray](https://es-toolkit.slash.page/reference/compat/util/stubArray.html), [stubFalse](https://es-toolkit.slash.page/reference/compat/util/stubFalse.html), [stubObject](https://es-toolkit.slash.page/reference/compat/util/stubObject.html), [stubString](https://es-toolkit.slash.page/reference/compat/util/stubString.html), and [stubTrue](https://es-toolkit.slash.page/reference/compat/util/stubTrue.html).
|
|---|
| 331 |
|
|---|
| 332 | We sincerely thank @healtheloper, @mass2527, @D-Sketon, @eunhyulkim, @scato3, @Na-hyunwoo, and @dasom-jo for their contributions. We appreciate your great efforts!
|
|---|
| 333 |
|
|---|
| 334 | ## Version v1.29.0
|
|---|
| 335 |
|
|---|
| 336 | Released on December 1st, 2024.
|
|---|
| 337 |
|
|---|
| 338 | - Introduced support for [cloneDeepWith](https://es-toolkit.slash.page/reference/object/cloneDeepWith.html).
|
|---|
| 339 | - Added a compatibility function for [lastIndexOf](https://es-toolkit.slash.page/reference/compat/array/lastIndexOf.html).
|
|---|
| 340 | - Fixed an issue in [flattenObject](https://es-toolkit.slash.page/reference/object/flattenObject.html) where nested objects in arrays were not flattened correctly.
|
|---|
| 341 |
|
|---|
| 342 | We sincerely thank @nnnnoel and @evan-moon for their contributions. We appreciate your great efforts!
|
|---|
| 343 |
|
|---|
| 344 | ## Version v1.28.0
|
|---|
| 345 |
|
|---|
| 346 | Released on November 30th, 2024.
|
|---|
| 347 |
|
|---|
| 348 | - Added compatibility functions for [gt](https://es-toolkit.slash.page/reference/compat/util/gt.html), [gte](https://es-toolkit.slash.page/reference/compat/util/gte.html), [toArray](https://es-toolkit.slash.page/reference/compat/util/toArray.html), [toUpper](https://es-toolkit.slash.page/reference/compat/string/toUpper.html), [add](https://es-toolkit.slash.page/reference/compat/math/add.html), [assignIn](https://es-toolkit.slash.page/reference/compat/object/assignIn.html) ([extend](https://es-toolkit.slash.page/reference/compat/object/extend.html)), and [isElement](https://es-toolkit.slash.page/reference/compat/predicate/isElement.html).
|
|---|
| 349 | - Introduced new compatibility types for `DebouncedFunc`.
|
|---|
| 350 | - Enhanced our function types to accept `PropertyKey` instead of just `string` for property keys.
|
|---|
| 351 | - Corrected [flatMap](https://es-toolkit.slash.page/reference/array/flatMap.html) to accurately infer return types when the `depth` parameter is omitted.
|
|---|
| 352 | - Resolved issues with incorrect types for [partial](https://es-toolkit.slash.page/reference/function/partial.html) and [partialRight](https://es-toolkit.slash.page/reference/function/partialRight.html).
|
|---|
| 353 | - Fixed [intersectionBy](https://es-toolkit.slash.page/reference/array/intersectionBy.html), [differenceBy](https://es-toolkit.slash.page/reference/array/differenceBy.html), and [differenceWith](https://es-toolkit.slash.page/reference/array/differenceWith.html) to properly calculate differences between various element types.
|
|---|
| 354 | - Ensured that [words](https://es-toolkit.slash.page/reference/string/words.html) is now correctly exported in our compatibility library.
|
|---|
| 355 |
|
|---|
| 356 | We sincerely thank @D-Sketon, @mass2527, @1eeminhyeong, @chhw130, @DONG-8, @filipsobol, @kim-dongho, @nnnnoel, @pbstar, and @jsparkdev for their contributions. We appreciate your great efforts!
|
|---|
| 357 |
|
|---|
| 358 | ## Version v1.27.0
|
|---|
| 359 |
|
|---|
| 360 | Released on November 10th, 2024.
|
|---|
| 361 |
|
|---|
| 362 | - Added support for [findKey](https://es-toolkit.slash.page/reference/object/findKey.html) and [isSubsetWith](https://es-toolkit.slash.page/reference/array/isSubsetWith.html).
|
|---|
| 363 | - Introduced compatibility functions for [words](https://es-toolkit.slash.page/reference/string/words.html), [at](https://es-toolkit.slash.page/reference/array/at.html), [differenceBy](https://es-toolkit.slash.page/reference/array/differenceBy.html), [uniqBy](https://es-toolkit.slash.page/reference/array/uniqBy.html), [forEach](https://es-toolkit.slash.page/reference/compat/array/forEach.html), [each](https://es-toolkit.slash.page/reference/compat/array/each.html), [sum](https://es-toolkit.slash.page/reference/math/sum.html), [sumBy](https://es-toolkit.slash.page/reference/array/sumBy.html), [union](https://es-toolkit.slash.page/reference/array/union.html), [zip](https://es-toolkit.slash.page/reference/array/zip.html), [unzip](https://es-toolkit.slash.page/reference/array/unzip.html), [iteratee](https://es-toolkit.slash.page/reference/compat/util/iteratee.html), [isEmpty](https://es-toolkit.slash.page/reference/compat/predicate/isEmpty.html), and [replace](https://es-toolkit.slash.page/reference/compat/string/replace.html).
|
|---|
| 364 | - Fixed a bug in [cloneDeep](https://es-toolkit.slash.page/reference/object/cloneDeep.html) that prevented it from correctly cloning object prototypes.
|
|---|
| 365 | - Improved performance for [at](https://es-toolkit.slash.page/reference/array/at.html).
|
|---|
| 366 | - Enhanced performance for [toPath](https://es-toolkit.slash.page/reference/compat/util/toPath.html), [get](https://es-toolkit.slash.page/reference/compat/object/get.html), [set](https://es-toolkit.slash.page/reference/compat/object/set.html), [unset](https://es-toolkit.slash.page/reference/compat/object/unset.html), [has](https://es-toolkit.slash.page/reference/compat/object/has.html), [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html), [chunk](https://es-toolkit.slash.page/reference/array/chunk.html), [difference](https://es-toolkit.slash.page/reference/array/difference.html), [drop](https://es-toolkit.slash.page/reference/array/drop.html), [dropRight](https://es-toolkit.slash.page/reference/array/dropRight.html), [dropWhile](https://es-toolkit.slash.page/reference/array/dropWhile.html), [findLastIndex](https://es-toolkit.slash.page/reference/compat/array/findLastIndex.html), [head](https://es-toolkit.slash.page/reference/array/head.html), [last](https://es-toolkit.slash.page/reference/array/last.html), [sample](https://es-toolkit.slash.page/reference/array/sample.html), [tail](https://es-toolkit.slash.page/reference/array/tail.html), [take](https://es-toolkit.slash.page/reference/array/take.html), and [takeRight](https://es-toolkit.slash.page/reference/array/takeRight.html) in our compatibility library.
|
|---|
| 367 |
|
|---|
| 368 | We sincerely thank @scato3, @ssi02014, @filipsobol, @mass2527, @Gyumong, @D-Sketon, @dayongkr, @kyvg, @Na-hyunwoo, @kaehehehe, and @bhollis for their contributions. Special thanks to @cruelladevil for improving the documentation. We appreciate your great efforts!
|
|---|
| 369 |
|
|---|
| 370 | ## Version v1.26.1
|
|---|
| 371 |
|
|---|
| 372 | Released on October 25th, 2024.
|
|---|
| 373 |
|
|---|
| 374 | - Fixed a bug in [isMatch](https://es-toolkit.slash.page/reference/compat/predicate/isMatch.html) that did not strictly compare `null` in objects.
|
|---|
| 375 |
|
|---|
| 376 | This version includes contributions from @D-Sketon. Thank you for your valuable contributions!
|
|---|
| 377 |
|
|---|
| 378 | ## Version v1.26.0
|
|---|
| 379 |
|
|---|
| 380 | Released on October 24th, 2024.
|
|---|
| 381 |
|
|---|
| 382 | - Added support for [invariant](https://es-toolkit.slash.page/reference/util/invariant.html), [identity](https://es-toolkit.slash.page/reference/function/identity.html), [median](https://es-toolkit.slash.page/reference/math/median.html), and [medianBy](https://es-toolkit.slash.page/reference/math/medianBy.html).
|
|---|
| 383 | - Added compatibility functions for [template](https://es-toolkit.slash.page/reference/compat/string/template.html), [uniqueId](https://es-toolkit.slash.page/reference/compat/util/uniqueId.html), [intersectionBy](https://es-toolkit.slash.page/reference/array/intersectionBy.html), [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html), [sortBy](https://es-toolkit.slash.page/reference/array/sortBy.html), and [some](https://es-toolkit.slash.page/reference/array/some.html).
|
|---|
| 384 | - Made it possible to use [drop](https://es-toolkit.slash.page/reference/array/drop.html), [dropRight](https://es-toolkit.slash.page/reference/array/dropRight.html), [every](https://es-toolkit.slash.page/reference/compat/array/every.html), [take](https://es-toolkit.slash.page/reference/array/take.html), and [takeRight](https://es-toolkit.slash.page/reference/array/takeRight.html) directly as iteratees, allowing for usage like `arr.map(drop)`.
|
|---|
| 385 | - Corrected [merge](https://es-toolkit.slash.page/reference/object/merge.html) to disallow primitive values such as numbers or strings.
|
|---|
| 386 |
|
|---|
| 387 | This version includes contributions from @dayongkr, @Na-hyunwoo, @ssi02014, @kaehehehe, @jakvbs, @D-Sketon, and @seonghun0828. Thank you for your valuable contributions!
|
|---|
| 388 |
|
|---|
| 389 | ## Version v1.25.2
|
|---|
| 390 |
|
|---|
| 391 | Released on October 16th, 2024.
|
|---|
| 392 |
|
|---|
| 393 | - Fixed a problem with [isJSONValue](https://es-toolkit.slash.page/reference/predicate/isJSONValue.html), [isJSONArray](https://es-toolkit.slash.page/reference/predicate/isJSONArray.html), and [isJSONObject](https://es-toolkit.slash.page/reference/predicate/isJSONObject.html) that led to circular dependencies.
|
|---|
| 394 | - Enhanced [flatten](https://es-toolkit.slash.page/reference/array/flatten.html), [flattenDeep](https://es-toolkit.slash.page/reference/array/flattenDeep.html), [flattenDepth](https://es-toolkit.slash.page/reference/compat/array/flattenDepth.html#flattendepth), [slice](https://es-toolkit.slash.page/reference/compat/array/slice.html), and [zipObjectDeep](https://es-toolkit.slash.page/reference/compat/array/zipObjectDeep.html) to work with array-like objects in our compatibility library, ensuring they are fully compatible with lodash.
|
|---|
| 395 |
|
|---|
| 396 | This version includes contributions from @D-Sketon. Thank you for your valuable contributions!
|
|---|
| 397 |
|
|---|
| 398 | ## Version v1.25.1
|
|---|
| 399 |
|
|---|
| 400 | Released on October 15th, 2024.
|
|---|
| 401 |
|
|---|
| 402 | - Resolved an issue in [cloneDeep](https://es-toolkit.slash.page/reference/object/cloneDeep.html) that incorrectly copied properties from the `target` when they were read-only.
|
|---|
| 403 | - Updated [every](https://es-toolkit.slash.page/reference/compat/array/every.html), [filter](https://es-toolkit.slash.page/reference/compat/array/filter.html), [find](https://es-toolkit.slash.page/reference/compat/array/find.html), [findIndex](https://es-toolkit.slash.page/reference/compat/array/findIndex.html), [findLastIndex](https://es-toolkit.slash.page/reference/compat/array/findLastIndex.html), [indexOf](https://es-toolkit.slash.page/reference/compat/array/indexOf.html), and [join](https://es-toolkit.slash.page/reference/compat/array/join.html) to now accept array-like objects and a `fromIndex` parameter, making them compatible with lodash.
|
|---|
| 404 |
|
|---|
| 405 | This version includes contributions from @D-Sketon. Thank you for your valuable contributions!
|
|---|
| 406 |
|
|---|
| 407 | ## Version v1.25.0
|
|---|
| 408 |
|
|---|
| 409 | Released on October 14th, 2024.
|
|---|
| 410 |
|
|---|
| 411 | - Added support for [isFile](https://es-toolkit.slash.page/reference/predicate/isFile.html).
|
|---|
| 412 | - Added compatibility functions for [escape](https://es-toolkit.slash.page/reference/string/escape.html), [toSafeInteger](https://es-toolkit.slash.page/reference/compat/util/toSafeInteger.html), [intersection](https://es-toolkit.slash.page/reference/array/intersection.html), [sample](https://es-toolkit.slash.page/reference/array/sample.html), [chunk](https://es-toolkit.slash.page/reference/array/chunk.html), [compact](https://es-toolkit.slash.page/reference/array/compact.html), [head](https://es-toolkit.slash.page/reference/array/head.html), [initial](https://es-toolkit.slash.page/reference/array/initial.html), [last](https://es-toolkit.slash.page/reference/array/last.html), [tail](https://es-toolkit.slash.page/reference/array/tail.html), [take](https://es-toolkit.slash.page/reference/array/take.html), [takeRight](https://es-toolkit.slash.page/reference/array/takeRight.html), [uniq](https://es-toolkit.slash.page/reference/array/uniq.html), and [without](https://es-toolkit.slash.page/reference/array/without.html).
|
|---|
| 413 | - Enhanced performance for [at](https://es-toolkit.slash.page/reference/array/at.html) and [isPlainObject](https://es-toolkit.slash.page/reference/predicate/isPlainObject.html).
|
|---|
| 414 | - Resolved an issue in [cloneDeep](https://es-toolkit.slash.page/reference/object/cloneDeep.html) that prevented it from cloning symbol properties and read-only properties of objects.
|
|---|
| 415 | - Fixed a problem in [pick](https://es-toolkit.slash.page/reference/object/pick.html) within our compatibility library that incorrectly added `undefined` for keys that do not exist.
|
|---|
| 416 |
|
|---|
| 417 | This version includes contributions from @D-Sketon, @mass2527, @dayongkr, @lukaszkowalik2, @Gyumong, @Dohun-choi, @belgattitude, and @chhw130. Thank you for your valuable contributions!
|
|---|
| 418 |
|
|---|
| 419 | ## Version v1.24.0
|
|---|
| 420 |
|
|---|
| 421 | Released on October 7th, 2024.
|
|---|
| 422 |
|
|---|
| 423 | - Added support for [isBlob](https://es-toolkit.slash.page/reference/predicate/isBlob.html) and [isDate](https://es-toolkit.slash.page/reference/predicate/isDate.html).
|
|---|
| 424 | - Added compatibility functions for [invertBy](https://es-toolkit.slash.page/reference/compat/object/invertBy.html), [times](https://es-toolkit.slash.page/reference/compat/util/times.html), [constant](https://es-toolkit.slash.page/reference/compat/util/constant.html), [slice](https://es-toolkit.slash.page/reference/compat/array/slice.html), [toLength](https://es-toolkit.slash.page/reference/compat/util/toLength.html), [defaultTo](https://es-toolkit.slash.page/reference/compat/util/defaultTo.html), [dropRightWhile](https://es-toolkit.slash.page/reference/array/dropRightWhile.html), [curryRight](https://es-toolkit.slash.page/reference/function/curryRight.html), [rangeRight](https://es-toolkit.slash.page/reference/math/rangeRight.html), [before](https://es-toolkit.slash.page/reference/function/before.html), [eq](https://es-toolkit.slash.page/reference/compat/util/eq.html), [defaults](https://es-toolkit.slash.page/reference/compat/object/defaults.html), [toDefaulted](https://es-toolkit.slash.page/reference/compat/object/toDefaulted.html), [isArrayBuffer](https://es-toolkit.slash.page/reference/predicate/isArrayBuffer.html), [isSet](https://es-toolkit.slash.page/reference/predicate/isSet.html), and [isMap](https://es-toolkit.slash.page/reference/predicate/isMap.html).
|
|---|
| 425 | - Enhanced [difference](https://es-toolkit.slash.page/reference/array/difference.html) to work with Array-like objects, aligning its functionality with lodash's behavior.
|
|---|
| 426 | - Improved performance for [pickBy](https://es-toolkit.slash.page/reference/object/pickBy.html) and [omitBy](https://es-toolkit.slash.page/reference/object/omitBy.html).
|
|---|
| 427 |
|
|---|
| 428 | ## Version v1.23.0
|
|---|
| 429 |
|
|---|
| 430 | Released on October 1st, 2024.
|
|---|
| 431 |
|
|---|
| 432 | - Added support for [isEqualWith](https://es-toolkit.slash.page/reference/predicate/isEqualWith.html), [isArrayBuffer](https://es-toolkit.slash.page/reference/predicate/isArrayBuffer.html), [curryRight](https://es-toolkit.slash.page/reference/function/curryRight.html), [isJSONValue](https://es-toolkit.slash.page/reference/predicate/isJSONValue.html), [isJSONObject](https://es-toolkit.slash.page/reference/predicate/isJSONObject.html), [isJSONArray](https://es-toolkit.slash.page/reference/predicate/isJSONArray.html).
|
|---|
| 433 | - Fixed a bug in [merge](https://es-toolkit.slash.page/reference/object/merge.html) that copied the reference from the `source` object to the `target` object.
|
|---|
| 434 | - Fixed a bug in [includes](https://es-toolkit.slash.page/reference/compat/array/includes.html) that returned `true` for inherited properties.
|
|---|
| 435 | - Fixed a bug in [startCase](https://es-toolkit.slash.page/reference/string/startCase.html) and other string methods that did not correctly split the words when using accented letters.
|
|---|
| 436 | - Fixed a bug in [filter](https://es-toolkit.slash.page/reference/compat/array/filter.html) that did not provide correct arguments to the predicate function.
|
|---|
| 437 | - Fixed a bug in [isMatch](https://es-toolkit.slash.page/reference/compat/predicate/isMatch.html) that did not strictly compare primitive falsy values.
|
|---|
| 438 |
|
|---|
| 439 | This version includes contributions from @D-Sketon, @wojtekmaj, @mass2527, @chhw130, and @knott11. Thank you for your valuable contributions!
|
|---|
| 440 |
|
|---|
| 441 | ## Version v1.22.0
|
|---|
| 442 |
|
|---|
| 443 | Released on September 28th, 2024.
|
|---|
| 444 |
|
|---|
| 445 | - Added support for [flow](https://es-toolkit.slash.page/reference/function/flow.html), [flowRight](https://es-toolkit.slash.page/reference/function/flowRight.html), [isMap](https://es-toolkit.slash.page/reference/predicate/isMap.html), and [isSet](https://es-toolkit.slash.page/reference/predicate/isSet.html).
|
|---|
| 446 | - Added compatibility functions for [filter](https://es-toolkit.slash.page/reference/compat/array/filter.html), [includes](https://es-toolkit.slash.page/reference/compat/array/includes.html), [every](https://es-toolkit.slash.page/reference/compat/array/every.html), [flip](https://es-toolkit.slash.page/reference/compat/function/flip.html), and [dropWhile](https://es-toolkit.slash.page/reference/array/dropWhile.html).
|
|---|
| 447 |
|
|---|
| 448 | - Fixed a bug in [throttle](https://es-toolkit.slash.page/reference/function/throttle.html) that prevented it from throttling after the initial `throttleMs`.
|
|---|
| 449 | - Fixed a bug in [cloneDeep](https://es-toolkit.slash.page/reference/object/cloneDeep.html) that caused it to not clone the offset and length of `DataView`.
|
|---|
| 450 | - Fixed a bug in [clone](https://es-toolkit.slash.page/reference/object/clone.html) that threw an error if `SharedArrayBuffer` is unavailable.
|
|---|
| 451 |
|
|---|
| 452 | This version includes contributions from @dayongkr, @k-jeonghee, @D-Sketon, @iDevGon, @mass2527, @wojtekmaj, @jonganebski, @hyesungoh, and @chhw130. Thank you for your valuable contributions!
|
|---|
| 453 |
|
|---|
| 454 | ## Version v1.21.0
|
|---|
| 455 |
|
|---|
| 456 | Released on September 25th, 2024.
|
|---|
| 457 |
|
|---|
| 458 | - Added support for [constantCase](https://es-toolkit.slash.page/reference/string/constantCase.html) and [isError](https://es-toolkit.slash.page/reference/predicate/isError.html).
|
|---|
| 459 | - Added compatibility functions for [pad](https://es-toolkit.slash.page/reference/compat/string/pad.html), [padStart](https://es-toolkit.slash.page/reference/compat/string/padStart.html), [padEnd](https://es-toolkit.slash.page/reference/compat/string/padEnd.html), [defer](https://es-toolkit.slash.page/reference/compat/function/defer.html), [isFinite](https://es-toolkit.slash.page/reference/compat/predicate/isFinite.html), [toNumber](https://es-toolkit.slash.page/reference/compat/math/toNumber.html), [toFinite](https://es-toolkit.slash.page/reference/compat/math/toFinite.html), and [toInteger](https://es-toolkit.slash.page/reference/compat/math/toInteger.html).
|
|---|
| 460 | - Improved performance for [flatten](https://es-toolkit.slash.page/reference/array/flatten.html), [isNumber](https://es-toolkit.slash.page/reference/predicate/isNumber.html), [isString](https://es-toolkit.slash.page/reference/predicate/isString.html), [isSymbol](https://es-toolkit.slash.page/reference/predicate/isSymbol.html), [isRegExp](https://es-toolkit.slash.page/reference/predicate/isRegExp.html), and [isBoolean](https://es-toolkit.slash.page/reference/predicate/isBoolean.html).
|
|---|
| 461 | - Fixed [compact](https://es-toolkit.slash.page/reference/array/compact.html) to correctly exclude `0n` as a falsey value.
|
|---|
| 462 | - Fixed [pick](https://es-toolkit.slash.page/reference/object/pick.html) to not pick nonexistent keys from the original object.
|
|---|
| 463 | - Fixed [omit](https://es-toolkit.slash.page/reference/object/omit.html) to accept readonly arrays.
|
|---|
| 464 |
|
|---|
| 465 | This version includes contributions from @hyesungoh, @D-Sketon, @mass2527, @gweesin, @VVSOGI, @coding-honey, @seonghun0828, and @jsparkdev. Thank you for your valuable contributions!
|
|---|
| 466 |
|
|---|
| 467 | ## Version v1.20.0
|
|---|
| 468 |
|
|---|
| 469 | Released on September 20th, 2024.
|
|---|
| 470 |
|
|---|
| 471 | - Added support for function invocation on leading and trailing edges for [debounce](https://es-toolkit.slash.page/reference/function/debounce.html) and [throttle](https://es-toolkit.slash.page/reference/function/throttle.html).
|
|---|
| 472 | - Added compatibility functions for [debounce](https://es-toolkit.slash.page/reference/function/debounce.html), [throttle](https://es-toolkit.slash.page/reference/function/throttle.html), [curry](https://es-toolkit.slash.page/reference/function/curry.html), [isNumber](https://es-toolkit.slash.page/reference/compat/predicate/isNumber.html), and [isNaN](https://es-toolkit.slash.page/reference/compat/predicate/isNaN.html).
|
|---|
| 473 | - Improved performance for [at](https://es-toolkit.slash.page/reference/array/at.html), [zip](https://es-toolkit.slash.page/reference/array/zip.html), [zipWith](https://es-toolkit.slash.page/reference/array/zipWith.html), and [drop](https://es-toolkit.slash.page/reference/array/drop.html).
|
|---|
| 474 |
|
|---|
| 475 | ## Version v1.19.0
|
|---|
| 476 |
|
|---|
| 477 | Released on September 14th, 2024.
|
|---|
| 478 |
|
|---|
| 479 | - Added support for [isDate](https://es-toolkit.slash.page/reference/predicate/isDate.html), [curry](https://es-toolkit.slash.page/reference/function/curry.html), [upperCase](https://es-toolkit.slash.page/reference/string/upperCase.html).
|
|---|
| 480 | - Added compatibility functions for [pick](https://es-toolkit.slash.page/reference/object/pick.html), [omit](https://es-toolkit.slash.page/reference/object/omit.html), [unset](https://es-toolkit.slash.page/reference/compat/object/unset.html), [toPath](https://es-toolkit.slash.page/reference/compat/util/toPath.html), [trim](https://es-toolkit.slash.page/reference/compat/string/trim.html), [trimStart](https://es-toolkit.slash.page/reference/compat/string/trimStart.html), [trimEnd](https://es-toolkit.slash.page/reference/compat/string/trimEnd.html), [isInteger](https://es-toolkit.slash.page/reference/compat/predicate/isInteger.html), [isSafeInteger](https://es-toolkit.slash.page/reference/compat/predicate/isSafeInteger.html), [snakeCase](https://es-toolkit.slash.page/reference/string/snakeCase.html), [startCase](https://es-toolkit.slash.page/reference/string/startCase.html), [lowerCase](https://es-toolkit.slash.page/reference/string/lowerCase.html), [kebabCase](https://es-toolkit.slash.page/reference/string/kebabCase.html), [ceil](https://es-toolkit.slash.page/reference/compat/math/ceil.html), [floor](https://es-toolkit.slash.page/reference/compat/math/floor.html), [round](https://es-toolkit.slash.page/reference/math/round.html).
|
|---|
| 481 | - Enhanced [clone](https://es-toolkit.slash.page/reference/object/clone.html) to handle `Buffer`s, `SharedArrayBuffer`s, `File`s, `Blob`s, `TypedArray`s, and `Error`s.
|
|---|
| 482 | - Fixed a bug where [mergeWith](https://es-toolkit.slash.page/reference/object/mergeWith.html) did not preserve the original properties of the `target` object.
|
|---|
| 483 | - Fixed a bug where [groupBy](https://es-toolkit.slash.page/reference/array/groupBy.html) couldn't group with keys like `toString` and `indexOf`.
|
|---|
| 484 | - Improved performance for [has](https://es-toolkit.slash.page/reference/compat/object/has.html) and [get](https://es-toolkit.slash.page/reference/compat/object/get.html).
|
|---|
| 485 |
|
|---|
| 486 | ## Version v1.18.0
|
|---|
| 487 |
|
|---|
| 488 | Released on September 12th, 2024.
|
|---|
| 489 |
|
|---|
| 490 | - Added support for [isObject](https://es-toolkit.slash.page/reference/compat/predicate/isObject.html), [findLastIndex](https://es-toolkit.slash.page/reference/compat/array/findLastIndex.html), [parseInt](https://es-toolkit.slash.page/reference/compat/math/parseInt.html), [rearg](https://es-toolkit.slash.page/reference/compat/function/rearg.html), [conforms](https://es-toolkit.slash.page/reference/compat/predicate/conforms.html), [conformsTo](https://es-toolkit.slash.page/reference/compat/predicate/conformsTo.html), [bindKey](https://es-toolkit.slash.page/reference/compat/function/bindKey.html), [some](https://es-toolkit.slash.page/reference/compat/array/some.html), [fromPairs](https://es-toolkit.slash.page/reference/compat/object/fromPairs.html), [isArrayLikeObject](https://es-toolkit.slash.page/reference/compat/predicate/isArrayLikeObject.html), [escapeRegExp](https://es-toolkit.slash.page/reference/string/escapeRegExp.html), [sortBy](https://es-toolkit.slash.page/reference/array/sortBy.html), [isWeakSet](https://es-toolkit.slash.page/reference/predicate/isWeakSet.html), [isWeakMap](https://es-toolkit.slash.page/reference/predicate/isWeakMap.html), [flatMapDeep](https://es-toolkit.slash.page/reference/array/flatMapDeep.html), [escape](https://es-toolkit.slash.page/reference/string/escape.html), [unescape](https://es-toolkit.slash.page/reference/string/unescape.html), [repeat](https://es-toolkit.slash.page/reference/compat/string/repeat.html), [pad](https://es-toolkit.slash.page/reference/compat/string/pad.html), [join](https://es-toolkit.slash.page/reference/compat/array/join.html), and [spread](https://es-toolkit.slash.page/reference/compat/function/spread.html).
|
|---|
| 491 | - Improved performance for [deburr](https://es-toolkit.slash.page/reference/string/deburr.html).
|
|---|
| 492 |
|
|---|
| 493 | ## Version v1.17.0
|
|---|
| 494 |
|
|---|
| 495 | Released on August 31st, 2024.
|
|---|
| 496 |
|
|---|
| 497 | ### New Features
|
|---|
| 498 |
|
|---|
| 499 | - Added support for new functions: [at](https://es-toolkit.slash.page/reference/array/at.html), [pullAt](https://es-toolkit.slash.page/reference/array/pullAt.html), [deburr](https://es-toolkit.slash.page/reference/string/deburr.html), [lowerFirst](https://es-toolkit.slash.page/reference/string/lowerFirst.html), [upperFirst](https://es-toolkit.slash.page/reference/string/upperFirst.html), and [isRegExp](https://es-toolkit.slash.page/reference/predicate/isRegExp.html).
|
|---|
| 500 | - Enhanced [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html) and [sortBy](https://es-toolkit.slash.page/reference/array/sortBy.html) to support function criteria.
|
|---|
| 501 | - [countBy](https://es-toolkit.slash.page/reference/array/countBy.html) now supports numeric and symbol keys.
|
|---|
| 502 |
|
|---|
| 503 | #### Bug Fixes
|
|---|
| 504 |
|
|---|
| 505 | - Updated type definitions for [throttle](https://es-toolkit.slash.page/reference/function/throttle.html) and [debounce](https://es-toolkit.slash.page/reference/function/debounce.html).
|
|---|
| 506 | - (`es-toolkit/compat`) Fixed [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html) to correctly handle deep keys even when object shapes differ ([#427](https://github.com/toss/es-toolkit/pull/427)).
|
|---|
| 507 |
|
|---|
| 508 | ## Version v1.16.0
|
|---|
| 509 |
|
|---|
| 510 | Released on August 15th, 2024.
|
|---|
| 511 |
|
|---|
| 512 | - Added support for [memoize](https://es-toolkit.slash.page/reference/function/memoize.html), [find](https://es-toolkit.slash.page/reference/compat/array/find.html), [findIndex](https://es-toolkit.slash.page/reference/compat/array/findIndex.html), [has](https://es-toolkit.slash.page/reference/compat/object/has.html), [partial](https://es-toolkit.slash.page/reference/function/partial.html), [partialRight](https://es-toolkit.slash.page/reference/function/partialRight.html), [sortBy](https://es-toolkit.slash.page/reference/array/sortBy.html), [isString](https://es-toolkit.slash.page/reference/predicate/isString.html), [rest](https://es-toolkit.slash.page/reference/function/rest.html), [padEnd](https://es-toolkit.slash.page/reference/compat/string/padEnd.html).
|
|---|
| 513 |
|
|---|
| 514 | ## Version v1.15.1
|
|---|
| 515 |
|
|---|
| 516 | Released on August 10th, 2024.
|
|---|
| 517 |
|
|---|
| 518 | - Disabled implicit conversion of values in [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html) for performance and simplicity.
|
|---|
| 519 |
|
|---|
| 520 | ## Version v1.15.0
|
|---|
| 521 |
|
|---|
| 522 | Released on August 10th, 2024.
|
|---|
| 523 |
|
|---|
| 524 | - Added support for [merge](https://es-toolkit.slash.page/reference/object/merge.html), [mergeWith](https://es-toolkit.slash.page/reference/object/mergeWith.html), [toMerged](https://es-toolkit.slash.page/reference/object/toMerged.html), [isSymbol](https://es-toolkit.slash.page/reference/predicate/isSymbol.html), [pascalCase](https://es-toolkit.slash.page/reference/string/pascalCase.html).
|
|---|
| 525 | - Added compatibility tests with lodash for [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html).
|
|---|
| 526 |
|
|---|
| 527 | ## Version v1.14.0
|
|---|
| 528 |
|
|---|
| 529 | Released on August 9th, 2024.
|
|---|
| 530 |
|
|---|
| 531 | - (`es-toolkit`) Added support for [mapKeys](https://es-toolkit.slash.page/reference/object/mapKeys.html), [mapValues](https://es-toolkit.slash.page/reference/object/mapValues.html), [cloneDeep](https://es-toolkit.slash.page/reference/object/cloneDeep.html), [before](https://es-toolkit.slash.page/reference/function/before.html), [after](https://es-toolkit.slash.page/reference/function/after.html), [isSubset](https://es-toolkit.slash.page/reference/array/isSubset.html), [ary](https://es-toolkit.slash.page/reference/function/ary.html), [unary](https://es-toolkit.slash.page/reference/function/unary.html), [flattenDeep](https://es-toolkit.slash.page/reference/array/flattenDeep.html), [isEqual](https://es-toolkit.slash.page/reference/predicate/isEqual.html), [isFunction](https://es-toolkit.slash.page/reference/predicate/isFunction.html), [isBoolean](https://es-toolkit.slash.page/reference/predicate/isBoolean.html), [isPrimitive](https://es-toolkit.slash.page/reference/predicate/isPrimitive.html), and [isTypedArray](https://es-toolkit.slash.page/reference/predicate/isTypedArray.html).
|
|---|
| 532 | - (`es-toolkit/compat`) Added support for [matches](https://es-toolkit.slash.page/reference/compat/predicate/matches.html), [isMatch](https://es-toolkit.slash.page/reference/compat/predicate/isMatch.html), [isArray](https://es-toolkit.slash.page/reference/compat/predicate/isArray.html), [isArrayLike](https://es-toolkit.slash.page/reference/compat/predicate/isArrayLike.html), [isObjectLike](https://es-toolkit.slash.page/reference/compat/predicate/isObjectLike.html), [isArguments](https://es-toolkit.slash.page/reference/compat/predicate/isArguments.html), [size](https://es-toolkit.slash.page/reference/compat/array/size.html), [bind](https://es-toolkit.slash.page/reference/compat/function/bind.html), [flattenDepth](https://es-toolkit.slash.page/reference/array/flatten.html), and [padStart](https://es-toolkit.slash.page/reference/compat/string/padStart.html).
|
|---|
| 533 | - Added compatibility tests with lodash for many functions like [initial](https://es-toolkit.slash.page/reference/array/initial.html), [last](https://es-toolkit.slash.page/reference/array/last.html), [takeRight](https://es-toolkit.slash.page/reference/array/takeRight.html), [without](https://es-toolkit.slash.page/reference/array/without.html), [uniq](https://es-toolkit.slash.page/reference/array/uniq.html), [invert](https://es-toolkit.slash.page/reference/object/invert.html), [isNull](https://es-toolkit.slash.page/reference/predicate/isNull.html), [isUndefined](https://es-toolkit.slash.page/reference/predicate/isUndefined.html), and [isNil](https://es-toolkit.slash.page/reference/predicate/isNil.html).
|
|---|
| 534 |
|
|---|
| 535 | ## Version v1.13.1
|
|---|
| 536 |
|
|---|
| 537 | Released on July 20th, 2024.
|
|---|
| 538 |
|
|---|
| 539 | - Use the compatibility layer `es-toolkit/compat` in legacy CDN builds.
|
|---|
| 540 |
|
|---|
| 541 | ## Version v1.13.0
|
|---|
| 542 |
|
|---|
| 543 | Released on July 20th, 2024.
|
|---|
| 544 |
|
|---|
| 545 | `es-toolkit` can now be used in various CDNs, like [unpkg](https://unpkg.com) and [jsdelivr](https://www.jsdelivr.com). See more in our [usage docs](https://es-toolkit.slash.page/usage.html)
|
|---|
| 546 |
|
|---|
| 547 | ### Features
|
|---|
| 548 |
|
|---|
| 549 | - Added support for [flattenObject](https://es-toolkit.slash.page/reference/object/flattenObject.html), [isPlainObject](https://es-toolkit.slash.page/reference/predicate/isPlainObject.html), [isLength](https://es-toolkit.slash.page/reference/predicate/isLength.html). ([3e60443](https://github.com/toss/es-toolkit/commit/3e60443a408d3296e4a18a1601a16f5953d414f9), [3764993](https://github.com/toss/es-toolkit/commit/376499351f347c269400ee0eeb5145ad041c7c06), [#245](https://github.com/toss/es-toolkit/pull/245))
|
|---|
| 550 | - Added support for [concat](https://es-toolkit.slash.page/reference/compat/array/concat.html) in our compatibility layer `es-toolkit/compat`. ([e09517f](https://github.com/toss/es-toolkit/commit/e09517f05c180b43e0f2b0b0fa44167f9c4832f3))
|
|---|
| 551 |
|
|---|
| 552 | ### Lodash Compatibility
|
|---|
| 553 |
|
|---|
| 554 | - Ensured compatibility with [difference](https://es-toolkit.slash.page/reference/array/difference.html) and [take](https://es-toolkit.slash.page/reference/compat/array/take.html)
|
|---|
| 555 |
|
|---|
| 556 | ## Version v1.12.0
|
|---|
| 557 |
|
|---|
| 558 | Released on July 19th, 2024.
|
|---|
| 559 |
|
|---|
| 560 | - Fixed a bug where `es-toolkit/compat` was not available in modern Node.js environments.
|
|---|
| 561 | - Added support for [max](https://es-toolkit.slash.page/reference/compat/math/max.html) and [min](https://es-toolkit.slash.page/reference/compat/math/min.html) in our compatibility layer `es-toolkit/compat`. ([e1e6e38](https://github.com/toss/es-toolkit/commit/e1e6e38206750fb90f5b99cace9196635288e21c))
|
|---|
| 562 |
|
|---|
| 563 | ## Version v1.11.0
|
|---|
| 564 |
|
|---|
| 565 | Released on July 18th, 2024.
|
|---|
| 566 |
|
|---|
| 567 | ### Introducing `es-toolkit/compat`
|
|---|
| 568 |
|
|---|
| 569 | We're introducing `es-toolkit/compat`, a new module designed as a drop-in replacement for lodash. It replicates lodash's API, making it easier to switch between the two libraries.
|
|---|
| 570 |
|
|---|
| 571 | `es-toolkit/compat` is undergoing rigorous testing using real `lodash` test cases. Initial benchmarks suggest it's typically 5% slower and increases bundle size by 10% compared to the original `es-toolkit`.
|
|---|
| 572 |
|
|---|
| 573 | This module is intended to facilitate a smooth transition and should be replaced with the original `es-toolkit` for optimal performance once migration is complete.
|
|---|
| 574 |
|
|---|
| 575 | For more information, see our [compatibility documentation](https://es-toolkit.slash.page/compatibility.html).
|
|---|
| 576 |
|
|---|
| 577 | ### Features
|
|---|
| 578 |
|
|---|
| 579 | - Added support for [get](https://es-toolkit.slash.page/reference/compat/object/get.html) and [set](https://es-toolkit.slash.page/reference/compat/object/set.html) in our compatibility layer `es-toolkit/compat`. (https://github.com/toss/es-toolkit/pull/232, https://github.com/toss/es-toolkit/pull/223)
|
|---|
| 580 | - Added support for [zipObjectDeep](https://es-toolkit.slash.page/reference/compat/array/zipObjectDeep.html) in our compatibility layer `es-toolkit/compat`. (https://github.com/toss/es-toolkit/pull/150)
|
|---|
| 581 | - Added support for [flatMap](https://es-toolkit.slash.page/reference/compat/array/flatMap.html). (https://github.com/toss/es-toolkit/pull/209)
|
|---|
| 582 | - Added support for [startCase](https://es-toolkit.slash.page/reference/string/startCase.html), [startsWith](https://es-toolkit.slash.page/reference/string/startsWith.html), and [endsWith](https://es-toolkit.slash.page/reference/string/endsWith.html). (https://github.com/toss/es-toolkit/pull/224).
|
|---|
| 583 | - Added support for [withTimeout](https://es-toolkit.slash.page/reference/promise/withTimeout.html). (https://github.com/toss/es-toolkit/pull/210)
|
|---|
| 584 |
|
|---|
| 585 | ### Bug fixes
|
|---|
| 586 |
|
|---|
| 587 | - Fixed `drop` and `dropRight` incorrectly accepting negative integers. (https://github.com/toss/es-toolkit/pull/218)
|
|---|
| 588 | - Fixed `invert` not to invert inherited properties. (https://github.com/toss/es-toolkit/pull/221)
|
|---|
| 589 |
|
|---|
| 590 | ### Performance Improvements
|
|---|
| 591 |
|
|---|
| 592 | - Improved performance for `dropRightWhile`. (https://github.com/toss/es-toolkit/pull/220)
|
|---|
| 593 |
|
|---|
| 594 | ## Version v1.10.1
|
|---|
| 595 |
|
|---|
| 596 | Released on July 15th, 2024.
|
|---|
| 597 |
|
|---|
| 598 | - Fixed [camelCase](https://es-toolkit.slash.page/reference/string/camelCase.html) using `capitalize` from incorrect import. ([8dda135](https://github.com/toss/es-toolkit/commit/8dda135fa339ae4953908a74b2e6eeca9f163a20))
|
|---|
| 599 |
|
|---|
| 600 | ## Version v1.10.0
|
|---|
| 601 |
|
|---|
| 602 | Released on July 14th, 2024.
|
|---|
| 603 |
|
|---|
| 604 | ### Features
|
|---|
| 605 |
|
|---|
| 606 | - Add support for [capitalize](https://es-toolkit.slash.page/reference/string/capitalize.html), [snakeCase](https://es-toolkit.slash.page/reference/string/snakeCase.html), [kebabCase](https://es-toolkit.slash.page/reference/string/kebabCase.html), [camelCase](https://es-toolkit.slash.page/reference/string/camelCase.html) and [lowerCase](https://es-toolkit.slash.page/reference/string/lowerCase.html). (https://github.com/toss/es-toolkit/pull/152, https://github.com/toss/es-toolkit/pull/161, https://github.com/toss/es-toolkit/pull/162, https://github.com/toss/es-toolkit/pull/166, [21d6530](https://github.com/toss/es-toolkit/commit/21d6530e16471d596410d57d59fd3ced8fc5569f)).
|
|---|
| 607 | - Add support for [negate](https://es-toolkit.slash.page/reference/function/negate.html). (https://github.com/toss/es-toolkit/pull/177)
|
|---|
| 608 | - Add support for [isEqual](https://es-toolkit.slash.page/reference/predicate/isEqual.html). (https://github.com/toss/es-toolkit/pull/174)
|
|---|
| 609 | - Add support for [clone](https://es-toolkit.slash.page/reference/object/clone.html). (https://github.com/toss/es-toolkit/pull/155)
|
|---|
| 610 | - Add support for [toFilled](https://es-toolkit.slash.page/reference/array/toFilled.html). (https://github.com/toss/es-toolkit/pull/154)
|
|---|
| 611 | - Add support for [initial](https://es-toolkit.slash.page/reference/array/initial.html) and [last](https://es-toolkit.slash.page/reference/array/last.html). (https://github.com/toss/es-toolkit/pull/188, https://github.com/toss/es-toolkit/pull/149)
|
|---|
| 612 | - Add support for [flattenDeep](https://es-toolkit.slash.page/reference/array/flattenDeep.html). (https://github.com/toss/es-toolkit/pull/160)
|
|---|
| 613 |
|
|---|
| 614 | ### Performance Improvements
|
|---|
| 615 |
|
|---|
| 616 | - Optimize the performance of [isNil](https://es-toolkit.slash.page/reference/predicate/isNil.html) by simplifying its check. ([489ac76](https://github.com/toss/es-toolkit/commit/489ac76fc62f97cbfa3ca9eec2e0a4c03c4f5b1c))
|
|---|
| 617 | - Optimize the performance of [sum](https://es-toolkit.slash.page/reference/array/sum.html). (https://github.com/toss/es-toolkit/pull/155)
|
|---|
| 618 |
|
|---|
| 619 | ## Version v1.9.0
|
|---|
| 620 |
|
|---|
| 621 | Released on July 10th, 2024.
|
|---|
| 622 |
|
|---|
| 623 | - Add support for [head](https://es-toolkit.slash.page/reference/array/head.html) and [tail](https://es-toolkit.slash.page/reference/array/tail.html). (https://github.com/toss/es-toolkit/pull/131, https://github.com/toss/es-toolkit/pull/143).
|
|---|
| 624 | - Add support for [unzip](https://es-toolkit.slash.page/reference/array/unzip.html). (https://github.com/toss/es-toolkit/pull/130)
|
|---|
| 625 | - Add support for [flatten](https://es-toolkit.slash.page/reference/array/flatten.html), which is six times faster than `Array#flat`. (https://github.com/toss/es-toolkit/pull/147)
|
|---|
| 626 |
|
|---|
| 627 | ## Version v1.8.0
|
|---|
| 628 |
|
|---|
| 629 | Released on July 5th, 2024.
|
|---|
| 630 |
|
|---|
| 631 | - Add support for [orderBy](https://es-toolkit.slash.page/reference/array/orderBy.html). (https://github.com/toss/es-toolkit/pull/123)
|
|---|
| 632 | - Add support for [invert](https://es-toolkit.slash.page/reference/array/invert.html). (https://github.com/toss/es-toolkit/pull/125)
|
|---|
| 633 | - Add support for [inRange](https://es-toolkit.slash.page/reference/array/inRange.html). (https://github.com/toss/es-toolkit/pull/124)
|
|---|
| 634 |
|
|---|
| 635 | ## Version v1.7.1
|
|---|
| 636 |
|
|---|
| 637 | Released on July 3rd, 2024.
|
|---|
| 638 |
|
|---|
| 639 | - Add support for [unzipWith](https://es-toolkit.slash.page/reference/array/unzipWith.html). (https://github.com/toss/es-toolkit/pull/113)
|
|---|
| 640 | - Add support for [forEachRight](https://es-toolkit.slash.page/reference/array/forEachRight.html). (https://github.com/toss/es-toolkit/pull/119)
|
|---|
| 641 | - Add support for [countBy](https://es-toolkit.slash.page/reference/array/countBy.html). (https://github.com/toss/es-toolkit/pull/117)
|
|---|
| 642 | - Add support for [without](https://es-toolkit.slash.page/reference/array/without.html). (https://github.com/toss/es-toolkit/pull/115)
|
|---|
| 643 | - Add support for [fill](https://es-toolkit.slash.page/reference/array/fill.html). (https://github.com/toss/es-toolkit/pull/109)
|
|---|
| 644 | - Add support for [sampleSize](https://es-toolkit.slash.page/reference/array/sampleSize.html). (https://github.com/toss/es-toolkit/pull/101)
|
|---|
| 645 | - Add support for [meanBy](https://es-toolkit.slash.page/reference/math/meanBy.html). (https://github.com/toss/es-toolkit/pull/104)
|
|---|
| 646 | - Accept number and symbol keys in [keyBy](https://es-toolkit.slash.page/reference/array/keyBy.html) and [groupBy](https://es-toolkit.slash.page/reference/array/groupBy.html) (https://github.com/toss/es-toolkit/pull/98, https://github.com/toss/es-toolkit/pull/99)
|
|---|
| 647 |
|
|---|
| 648 | ## Version v1.6.1
|
|---|
| 649 |
|
|---|
| 650 | Released on June 30th, 2024.
|
|---|
| 651 |
|
|---|
| 652 | - Publish package on [JSR](https://jsr.io/@es-toolkit/es-toolkit).
|
|---|
| 653 |
|
|---|
| 654 | ## Version v1.6.0
|
|---|
| 655 |
|
|---|
| 656 | Released on June 30th, 2024.
|
|---|
| 657 |
|
|---|
| 658 | ### Features
|
|---|
| 659 |
|
|---|
| 660 | - Add support for [keyBy](https://es-toolkit.slash.page/reference/array/keyBy.html). (https://github.com/toss/es-toolkit/pull/93).
|
|---|
| 661 | - Add support for [zipObject](https://es-toolkit.slash.page/reference/array/zipObject.html). (https://github.com/toss/es-toolkit/pull/92).
|
|---|
| 662 | - Add support for [compact](https://es-toolkit.slash.page/reference/array/compact.html). ([60ae59b](https://github.com/toss/es-toolkit/commit/60ae59bcfee69992e5447322e1da9cb7631c5745))
|
|---|
| 663 | - Add support for [mean](https://es-toolkit.slash.page/reference/math/mean.html). ([715bc60](https://github.com/toss/es-toolkit/commit/715bc60b26bb24ad490b8befe16204050699f0c0))
|
|---|
| 664 |
|
|---|
| 665 | ## Version v1.5.0
|
|---|
| 666 |
|
|---|
| 667 | Released on June 28th, 2024.
|
|---|
| 668 |
|
|---|
| 669 | ### Features
|
|---|
| 670 |
|
|---|
| 671 | - Add support for [range](https://es-toolkit.slash.page/reference/math/range.html). (https://github.com/toss/es-toolkit/pull/77, [2db11d8](https://github.com/toss/es-toolkit/commit/2db11d8882f6d7b0b53271c76f4c5007b6a9181e)).
|
|---|
| 672 | - Add support for [minBy](https://es-toolkit.slash.page/reference/math/minBy.html) (https://github.com/toss/es-toolkit/pull/71).
|
|---|
| 673 | - Add support for [maxBy](https://es-toolkit.slash.page/reference/math/maxBy.html) (https://github.com/toss/es-toolkit/pull/64).
|
|---|
| 674 |
|
|---|
| 675 | ### Bug fixes
|
|---|
| 676 |
|
|---|
| 677 | - Enforce stricter argument types in `pickBy` and `omitBy`. (https://github.com/toss/es-toolkit/pull/60)
|
|---|
| 678 | - Fix a bug in `difference` where one array parameter was not readonly. (https://github.com/toss/es-toolkit/pull/83)
|
|---|
| 679 | - Fix a bug in `round` where it incorrectly accepts floating-point numbers as `precision`. (https://github.com/toss/es-toolkit/pull/79)
|
|---|
| 680 |
|
|---|
| 681 | ## Version v1.4.0
|
|---|
| 682 |
|
|---|
| 683 | Released on June 15th, 2024.
|
|---|
| 684 |
|
|---|
| 685 | ### Features
|
|---|
| 686 |
|
|---|
| 687 | - Add support for [random](https://es-toolkit.slash.page/reference/math/random.html). (https://github.com/toss/es-toolkit/pull/53)
|
|---|
| 688 | - Add support for [randomInt](https://es-toolkit.slash.page/reference/math/randomInt.html). ([99a34e4](https://github.com/toss/es-toolkit/commit/99a34e4e9944c1b843e9d97dff0b5ff4e5eec260))
|
|---|
| 689 | - Add support for using AbortSignals to cancel the `Promise` returned by `delay`. (https://github.com/toss/es-toolkit/pull/52)
|
|---|
| 690 |
|
|---|
| 691 | ### Performance Optimizations
|
|---|
| 692 |
|
|---|
| 693 | - Optimized `uniqBy`. ([60e7974](https://github.com/toss/es-toolkit/commit/60e79741271e645bfa551f708466e43b136f69b1))
|
|---|
| 694 |
|
|---|
| 695 | ## Version v1.3.1
|
|---|
| 696 |
|
|---|
| 697 | Released on June 15th, 2024.
|
|---|
| 698 |
|
|---|
| 699 | - Fixed a bug in `dropWhile` where it incorrectly returned the entire array when no elements matched the predicate. (https://github.com/toss/es-toolkit/pull/49)
|
|---|
| 700 |
|
|---|
| 701 | ## Version v1.3.0
|
|---|
| 702 |
|
|---|
| 703 | Released on June 14th, 2024.
|
|---|
| 704 |
|
|---|
| 705 | ### Features
|
|---|
| 706 |
|
|---|
| 707 | - Add support for using AbortSignals to cancel `debounce`d functions. (https://github.com/toss/es-toolkit/pull/45)
|
|---|
| 708 |
|
|---|
| 709 | ### Performance Optimizations
|
|---|
| 710 |
|
|---|
| 711 | - Optimize the time complexity of `intersection`. (https://github.com/toss/es-toolkit/pull/47)
|
|---|
| 712 |
|
|---|
| 713 | ## Version v1.2.2
|
|---|
| 714 |
|
|---|
| 715 | Released on June 13th, 2024.
|
|---|
| 716 |
|
|---|
| 717 | - Add support for `readonly` arrays in array utilities. (https://github.com/toss/es-toolkit/pull/32, [e595e5e](https://github.com/toss/es-toolkit/commit/e595e5e017e1f2cb138b1ad3d708635efc5e289e))
|
|---|
| 718 | - Optimize the time complexity of `uniq`. (https://github.com/toss/es-toolkit/pull/40)
|
|---|
| 719 | - Optimize the time complexity of `intersectionBy`. (https://github.com/toss/es-toolkit/pull/44)
|
|---|
| 720 |
|
|---|
| 721 | ## Version v1.2.1
|
|---|
| 722 |
|
|---|
| 723 | Released on June 13th, 2024.
|
|---|
| 724 |
|
|---|
| 725 | - Ensure that the `omit` and `pick` functions only accept plain JavaScript objects as arguments. (https://github.com/toss/es-toolkit/pull/35)
|
|---|
| 726 |
|
|---|
| 727 | ## Version v1.2.0
|
|---|
| 728 |
|
|---|
| 729 | Released on June 8th, 2024.
|
|---|
| 730 |
|
|---|
| 731 | ### Features
|
|---|
| 732 |
|
|---|
| 733 | - Added the `noop` function. (https://github.com/toss/es-toolkit/commit/678028dd3d60509b99dfec47aed7f1088140d19d)
|
|---|
| 734 |
|
|---|
| 735 | ### Performance Improvements
|
|---|
| 736 |
|
|---|
| 737 | - Optimized the `difference` and `differenceBy` functions for better performance with large arrays. (https://github.com/toss/es-toolkit/pull/27, https://github.com/toss/es-toolkit/pull/28)
|
|---|
| 738 |
|
|---|
| 739 | ### Bug fixes
|
|---|
| 740 |
|
|---|
| 741 | - Fixed `shuffle` to ensure it does not modify the original array. (https://github.com/toss/es-toolkit/pull/29)
|
|---|
| 742 |
|
|---|
| 743 | ## Version v1.1.0
|
|---|
| 744 |
|
|---|
| 745 | Released on June 5th, 2024.
|
|---|
| 746 |
|
|---|
| 747 | - Support passing arguments to throttled and debounced functions. (https://github.com/toss/es-toolkit/pull/26)
|
|---|
| 748 |
|
|---|
| 749 | ## Version v1.0.4
|
|---|
| 750 |
|
|---|
| 751 | Released on June 4th, 2024.
|
|---|
| 752 |
|
|---|
| 753 | - Provide correct type declarations for ECMAScript Modules. (https://github.com/toss/es-toolkit/pull/21)
|
|---|
| 754 |
|
|---|
| 755 | ## Version v1.0.3
|
|---|
| 756 |
|
|---|
| 757 | Released on June 3rd, 2024.
|
|---|
| 758 |
|
|---|
| 759 | - Provide correct types for `"module": "Node"`, ` "Node10"`, and `"Node16"`. (https://github.com/toss/es-toolkit/pull/16)
|
|---|
| 760 |
|
|---|
| 761 | ## Version v1.0.2
|
|---|
| 762 |
|
|---|
| 763 | Initial release. Released on May 31th, 2024.
|
|---|