|
1 |
| -# Lo-Dash <sup>v0.3.1</sup> |
| 1 | +# Lo-Dash <sup>v0.3.2</sup> |
2 | 2 |
|
3 | 3 | A drop-in replacement for Underscore.js, from the devs behind [jsPerf.com](http://jsperf.com), that delivers [performance improvements](http://lodash.com/benchmarks), [bug fixes](https://github.com/bestiejs/lodash#closed-underscorejs-issues), and [additional features](https://github.com/bestiejs/lodash#features).
|
4 | 4 |
|
5 | 5 | Lo-Dash’s performance is gained by avoiding slower native methods, instead opting for simplified non-ES5 compliant methods optimized for common usage, and by leveraging function compilation to reduce the number of overall function calls.
|
6 | 6 |
|
7 | 7 | ## Download
|
8 | 8 |
|
9 |
| - * [Development source](https://raw.github.com/bestiejs/lodash/v0.3.1/lodash.js) |
10 |
| - * [Production source](https://raw.github.com/bestiejs/lodash/v0.3.1/lodash.min.js) |
| 9 | + * [Development source](https://raw.github.com/bestiejs/lodash/v0.3.2/lodash.js) |
| 10 | + * [Production source](https://raw.github.com/bestiejs/lodash/v0.3.2/lodash.min.js) |
11 | 11 | * For optimal performance, [create a custom build](https://github.com/bestiejs/lodash#custom-builds) with only the features you need
|
12 | 12 |
|
13 | 13 | ## Dive in
|
@@ -39,7 +39,7 @@ For more information check out these screencasts over Lo-Dash:
|
39 | 39 |
|
40 | 40 | ## Support
|
41 | 41 |
|
42 |
| -Lo-Dash has been tested in at least Chrome 5-19, Firefox 1.5-13, IE 6-9, Opera 9.25-11.64, Safari 3.0.4-5.1.3, Node.js 0.4.8-0.6.18, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC3. |
| 42 | +Lo-Dash has been tested in at least Chrome 5-19, Firefox 1.5-13, IE 6-9, Opera 9.25-12, Safari 3.0.4-5.1.3, Node.js 0.4.8-0.6.18, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC3. |
43 | 43 |
|
44 | 44 | ## Custom builds
|
45 | 45 |
|
@@ -150,21 +150,22 @@ git submodule update --init
|
150 | 150 |
|
151 | 151 | ## Closed Underscore.js issues
|
152 | 152 |
|
153 |
| - * Allow iteration of objects with a `length` property [[#148](https://github.com/documentcloud/underscore/issues/148), [#154](https://github.com/documentcloud/underscore/issues/154), [#252](https://github.com/documentcloud/underscore/issues/252), [#448](https://github.com/documentcloud/underscore/issues/448), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L266-272)] |
154 |
| - * Ensure "Arrays" category methods allow falsey `array` arguments [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L714-748)] |
155 |
| - * Ensure array-like objects with invalid `length` properties are treated like regular objects [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L237-243), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L533-542), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L661-664)] |
156 |
| - * Ensure `_(...)` returns passed wrapper instances [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L106-109)] |
157 |
| - * Ensure `_.groupBy` adds values to own, not inherited, properties [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L317-324)] |
158 |
| - * Ensure `_.sortedIndex` supports arrays with high `length` values [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L586-595)] |
159 |
| - * Ensure `_.throttle` works when called in tight loops [[#502](https://github.com/documentcloud/underscore/issues/502), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L629-639)] |
160 |
| - * Fix Firefox, IE, Opera, and Safari object iteration bugs [[#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L175-187), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L277-302), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L379-390), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L398-400), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L418-438), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L554-556)] |
| 153 | + * Allow iteration of objects with a `length` property [[#148](https://github.com/documentcloud/underscore/issues/148), [#154](https://github.com/documentcloud/underscore/issues/154), [#252](https://github.com/documentcloud/underscore/issues/252), [#448](https://github.com/documentcloud/underscore/issues/448), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L271-276)] |
| 154 | + * Ensure "Arrays" category methods allow falsey `array` arguments [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L758-790)] |
| 155 | + * Ensure array-like objects with invalid `length` properties are treated like regular objects [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L242-248), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L560-569), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L705-708)] |
| 156 | + * Ensure `_(…)` returns passed wrapper instances [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L106-109)] |
| 157 | + * Ensure `_.escape` returns an empty string when passed `null` or `undefined` [[#407](https://github.com/documentcloud/underscore/issues/427), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L161-164)] |
| 158 | + * Ensure `_.groupBy` adds values to own, not inherited, properties [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L322-329)] |
| 159 | + * Ensure `_.sortedIndex` supports arrays with high `length` values [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L613-622)] |
| 160 | + * Ensure `_.throttle` works when called in tight loops [[#502](https://github.com/documentcloud/underscore/issues/502), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L656-666)] |
| 161 | + * Fix Firefox, IE, Opera, and Safari object iteration bugs [[#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L180-192), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L282-307), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L395-406), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L414-416), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L434-454), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L581-583)] |
161 | 162 | * Handle arrays with `undefined` values correctly in IE < 9 [[#601](https://github.com/documentcloud/underscore/issues/601)]
|
162 |
| - * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L88-94)] |
163 |
| - * Register as AMD module, but still export to global [[#431](https://github.com/documentcloud/underscore/pull/431), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L72-86)] |
164 |
| - * `_.forEach` should be chainable [[#142](https://github.com/documentcloud/underscore/issues/142), [test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L232-235)] |
165 |
| - * `_isNaN(new Number(NaN))` should return `true` [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L408-410)] |
166 |
| - * `_.reduceRight` should pass correct callback arguments when iterating objects [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L521-531)] |
167 |
| - * `_.size` should return the `length` of string values [[test](https://github.com/bestiejs/lodash/blob/801e8a5b3a963157fceaad15075690f59c22de9c/test/test.js#L550-552)] |
| 163 | + * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L88-94)] |
| 164 | + * Register as AMD module, but still export to global [[#431](https://github.com/documentcloud/underscore/pull/431), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L72-86)] |
| 165 | + * `_.forEach` should be chainable [[#142](https://github.com/documentcloud/underscore/issues/142), [test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L237-240)] |
| 166 | + * `_isNaN(new Number(NaN))` should return `true` [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L424-426)] |
| 167 | + * `_.reduceRight` should pass correct callback arguments when iterating objects [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L548-558)] |
| 168 | + * `_.size` should return the `length` of string values [[test](https://github.com/bestiejs/lodash/blob/1ba47a7c2a35552796f0c75dc2b46660e230f842/test/test.js#L577-579)] |
168 | 169 |
|
169 | 170 | ## Optimized methods <sup>(50+)</sup>
|
170 | 171 |
|
@@ -220,70 +221,20 @@ git submodule update --init
|
220 | 221 | * `_.without`
|
221 | 222 | * `_.wrap`
|
222 | 223 | * `_.zip`
|
223 |
| - * plus all `_(...)` method wrappers |
224 |
| - |
225 |
| -## Changelog |
226 |
| - |
227 |
| -### <sup>v0.3.1</sup> |
228 |
| - |
229 |
| - * Added `backbone` build option |
230 |
| - * Ensured "Arrays" category methods allow falsey `array` arguments |
231 |
| - * Removed `_.isArguments` fallback from the `mobile` build |
232 |
| - * Simplified `_.pluck`, `_.values` and `_(...)` method wrappers |
233 |
| - |
234 |
| -### <sup>v0.3.0</sup> |
235 |
| - |
236 |
| - * Added `category` build option |
237 |
| - * Added `fromIndex` argument to `_.indexOf` and `_.lastIndexOf` |
238 |
| - * Added `//@ sourceURL` support to `_.template` |
239 |
| - * Added `thisArg` argument to `_.sortedIndex` and `_.uniq` |
240 |
| - * Added `_.forIn` and `_.forOwn` methods |
241 |
| - * Ensured array-like objects with invalid `length` properties are treated like regular objects |
242 |
| - * Ensured `_.sortedIndex` supports arrays with high `length` values |
243 |
| - * Fixed `prototype` property iteration bug in `_.keys` for Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1 |
244 |
| - * Optimized `_.times` and `this` bindings in iterator methods |
245 |
| - |
246 |
| -### <sup>v0.2.2</sup> |
247 |
| - |
248 |
| - * Added `mobile` build option |
249 |
| - * Ensured `_.find` returns `undefined` for unmatched values |
250 |
| - * Ensured `_.templateSettings.variable` is compatible with Underscore.js |
251 |
| - * Optimized `_.escape` |
252 |
| - * Reduced dependencies in `_.find` |
253 |
| - |
254 |
| -### <sup>v0.2.1</sup> |
255 |
| - |
256 |
| - * Adjusted the Lo-Dash export order for r.js |
257 |
| - * Ensured `_.groupBy` values are added to own, not inherited, properties |
258 |
| - * Made `_.bind` follow ES5 spec to support a popular Backbone.js pattern |
259 |
| - * Removed the alias `intersect` |
260 |
| - * Simplified `_.bind`, `_.flatten`, `_.groupBy`, `_.max`, and `_.min` |
261 |
| - |
262 |
| -### <sup>v0.2.0</sup> |
263 |
| - |
264 |
| - * Added custom build options |
265 |
| - * Added default `_.templateSettings.variable` value |
266 |
| - * Added *"lazy bind"* support to `_.bind` |
267 |
| - * Added native method overwrite detection to avoid bad native shims |
268 |
| - * Added support for more AMD build optimizers and aliasing as the *"underscore"* module |
269 |
| - * Added `thisArg` argument to `_.groupBy` |
270 |
| - * Added whitespace to compiled strings |
271 |
| - * Added `_.partial` method |
272 |
| - * Commented the `iterationFactory` options object |
273 |
| - * Ensured `_(...)` returns passed wrapper instances |
274 |
| - * Ensured `_.max` and `_.min` support extremely large arrays |
275 |
| - * Ensured `_.throttle` works in tight loops |
276 |
| - * Fixed IE < 9 `[DontEnum]` bug and Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1’s `prototype` property iteration bug |
277 |
| - * Inlined `_.isFunction` calls. |
278 |
| - * Made `_.debounce`’ed functions match `_.throttle`’ed functions’ return value behavior |
279 |
| - * Made `_.escape` no longer translate the *">"* character |
280 |
| - * Fixed `clearTimeout` typo |
281 |
| - * Simplified all methods in the *"Arrays"* category |
282 |
| - * Optimized `_.debounce`, `_.escape`, `_.flatten`, `_.forEach`, `_.groupBy`, `_.intersection`, `_.invoke`, `_.isObject`, `_.max`, `_.min`, `_.pick`, `_.shuffle`, `_.sortedIndex`, `_.template`, `_.throttle`, `_.union`, `_.uniq` |
283 |
| - |
284 |
| -### <sup>v0.1.0</sup> |
285 |
| - |
286 |
| - * Initial release |
| 224 | + * plus all `_(…)` method wrappers |
| 225 | + |
| 226 | +## Release Notes |
| 227 | + |
| 228 | +### <sup>v0.3.2</sup> |
| 229 | + |
| 230 | + * Deprecated `_(…).chain`, `_.isFinite`, `_.isNaN`, `_.isNull`, `_.isUndefined`, `_.result`, and `_.size` |
| 231 | + * Ensured `_.escape` returns an empty string when passed `null` or `undefined` |
| 232 | + * Ensured `sourceURL` support doesn't cause errors in Adobe's JS engine. |
| 233 | + * Fixed regression in generating custom builds |
| 234 | + * Moved `_.invoke` and `_.pluck` back to the *"Collections"* category |
| 235 | + * Moved `_.tap` to the *"Chaining"* category |
| 236 | + |
| 237 | +The full changelog is available [here](https://github.com/bestiejs/lodash/wiki/Changelog). |
287 | 238 |
|
288 | 239 | ## BestieJS
|
289 | 240 |
|
|
0 commit comments