From eaaef83ace326fedf7ce438c34faa92fa661f68c Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Mon, 21 May 2012 15:34:09 -0400 Subject: [PATCH] Update README.md for version bump. Former-commit-id: dceae7cfcfade966145032cbf1d787e309e529c2 --- README.md | 134 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 115 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index f7be03192..15fc991d2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,16 @@ -# Lo-Dash v0.1.0 +# Lo-Dash v0.2.0 Lo-Dash, from the devs behind [jsPerf.com](http://jsperf.com), is a drop-in replacement for Underscore.js that delivers [performance improvements](http://jsperf.com/lodash-underscore#filterby=family), bug fixes, and additional features. -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. +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. + +## Dive in + +WeÕve got [API docs](http://lodash.com/docs) and [unit tests](http://lodash.com/tests). + +UnderscoreÕs [documentation](http://documentcloud.github.com/underscore/) may also be used. + +For a list of upcoming features, check out our [roadmap](https://github.com/bestiejs/lodash/wiki/Roadmap). ## Screencasts @@ -11,19 +19,19 @@ For more information check out these screencasts over Lo-Dash: * [Introducing Lo-Dash](http://dl.dropbox.com/u/513327/allyoucanleet/post/20/file/screencast.mp4) * [Compiling and custom builds](http://dl.dropbox.com/u/513327/allyoucanleet/post/21/file/screencast.mp4) -## Documentation - -The documentation for Lo-Dash can be viewed here: - -Underscore's [documentation](http://documentcloud.github.com/underscore/) may also be used. - -For a list of upcoming features, check out our [roadmap](https://github.com/bestiejs/lodash/wiki/Roadmap). - -For a summary of bug fixes, changes, features, and optimizations, check out [/wiki/The-Low-Down](https://github.com/bestiejs/lodash/wiki/The-Low-Down). - ## Features -Lo-Dash comes with AMD loader support, chainable [_.forEach](http://lodash.com/docs#_foreachcollection-callback--thisarg), lazy [_.bind](http://lodash.com/docs#_bindfunc--arg1-arg2-), [and more](https://github.com/bestiejs/lodash/wiki/The-Low-Down#wiki-features)... + * AMD loader support + * [_.bind](http://lodash.com/docs#_bindfunc--arg1-arg2-) supports *"lazy"* binding + * [_.debounce](http://lodash.com/docs#_debouncefunc-wait-immediate)Õed functions match [_.throttle](http://lodash.com/docs#_throttlefunc-wait)Õed functionsÕ return value behavior + * [_.forEach](http://lodash.com/docs#_foreachcollection-callback--thisarg) is chainable + * [_.groupBy](http://lodash.com/docs#_groupbycollection-callback--thisarg) accepts a third `thisArg` argument + * [_.partial](http://lodash.com/docs#_partialfunc--arg1-arg2-) for more functional fun + * [_.size](http://lodash.com/docs#_sizecollection) returns the `length` of a string value + +## Support + +Lo-Dash has been tested in at least Chrome 5-19, Firefox 1.5-12, 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. ## Custom builds @@ -48,13 +56,13 @@ Custom builds are saved to `lodash.custom.js` and `lodash.custom.min.js`. ## Installation and usage -In a browser: +In browsers: ~~~ html ~~~ -Via [npm](http://npmjs.org/): +Using [npm](http://npmjs.org/): ~~~ bash npm install lodash @@ -110,13 +118,101 @@ cd lodash git submodule update --init ~~~ -Feel free to fork and send pull requests if you see improvements! +## Closed Underscore issues -## Footnotes + * Fix Firefox, IE, Opera, and Safari object iteration bugs [#376](https://github.com/documentcloud/underscore/issues/376) + * Handle arrays with `undefined` values correctly in IE < 9 [#601](https://github.com/documentcloud/underscore/issues/601) + * Methods should work on pages with incorrectly shimmed native methods [#7](https://github.com/documentcloud/underscore/issues/7) + * Register as AMD module, but still export to global [#431](https://github.com/documentcloud/underscore/pull/431) + * `_.forEach` should be chainable [#142](https://github.com/documentcloud/underscore/issues/142) + * `_isNaN(new Number(NaN))` should return `true` + * `_.reduceRight` should pass correct callback arguments when iterating objects + * `_.size` should return the `length` of a string value - * Lo-Dash has been tested in at least Chrome 5-19, Firefox 1.5-12, 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. +## Optimized methods (50+) - * Lo-Dash is part of the BestieJS *"Best in Class"* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation. + * `_.bind` + * `_.bindAll` + * `_.clone` + * `_.compact` + * `_.contains`, `_.include` + * `_.defaults` + * `_.defer` + * `_.difference` + * `_.each` + * `_.escape` + * `_.every`, `_.all` + * `_.extend` + * `_.filter`, `_.select` + * `_.find`, `_.detect` + * `_.flatten` + * `_.forEach`, `_.each` + * `_.functions`, `_.methods` + * `_.groupBy` + * `_.indexOf` + * `_.intersection`, `_.intersect` + * `_.invoke` + * `_.isEmpty` + * `_.isEqual` + * `_.isFinite` + * `_.isObject` + * `_.isString` + * `_.keys` + * `_.lastIndexOf` + * `_.map`, `_.collect` + * `_.max` + * `_.memoize` + * `_.min` + * `_.mixin` + * `_.pick` + * `_.pluck` + * `_.reduce`, `_.foldl`, `_.inject` + * `_.reject` + * `_.result` + * `_.shuffle` + * `_.some`, `_.any` + * `_.sortBy` + * `_.sortedIndex` + * `_.template` + * `_.throttle` + * `_.toArray` + * `_.union` + * `_.uniq`, `_.unique` + * `_.values` + * `_.without` + * `_.wrap` + * `_.zip` + * plus all `_(...)` method wrappers + +## Changelog + +### v0.2.0 + + * Added custom build options + * Added default `_.templateSettings.variable` value + * Added *"lazy bind"* support to `_.bind` + * Added native method overwrite detection to avoid bad native shims + * Added support for more AMD build optimizers and aliasing as the *"underscore"* module + * Added `thisArg` to `_.groupBy` + * Added whitespace to compiled strings + * Added `_.partial` + * Commented the `iterationFactory` options object + * Ensured `_.max` and `_.min` support extremely large arrays + * Fixed IE < 9 `[DontEnum]` bug and Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1Õs prototype property iteration bug + * Inlined `_.isFunction` calls. + * Made `_.debounce`Õed functions match `_.throttle`Õed functionsÕ return value behavior + * Made `_.escape` no longer translate the *">"* character + * Fixed `clearTimeout` typo + * Simplified all methods in the *"Arrays"* category + * Optimized `_.debounce`, `_.escape`, `_.flatten`, `_.forEach`, `_.groupBy`, `_.intersection`, `_.invoke`, `_.isObject`, `_.max`, `_.min`, `_.pick`, `_.shuffle`, `_.sortedIndex`, `_.template`, `_.throttle`, `_.union`, `_.uniq` + +### v0.1.0 + + * Initial release + +## BestieJS + +Lo-Dash is part of the BestieJS *"Best in Class"* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation. ## Author