Total rewrite of bower. The list bellow highlights the most important stuff:
- Clear architecture and separation of concerns
- Much much faster
--json
output for all commands--offline
usage for all commands, exceptregister
- Proper
install
andupdate
commands, similar tonpm
in behaviour - Named endpoints when installing, e.g.
bower install backbone-amd=backbone#~1.0.0
- New interactive conflict resolution strategy
- Prevent human errors when using
register
- New
home
command, similar tonpm
- New
cache list
command - New
prune
command - Many many bug general bug fixes
Non-backwards compatible changes:
json
from .bowerrc is no longer used- Programmatic usage changed, specially the commands interface
For a complete list of changes that this rewrite and release brings please read: https://github.com/bower/bower/wiki/Rewrite-state
- Allow specific commits to be targeted (#275)
- Change bower default folder from
components
tobower_components
(#434) - Support semver pre-releases and builds (#188)
- Use
Content-Type
andContent-Disposition
to guess file types, such as zip files (#454) - Fix bower failing silently when using an invalid version value in the bower.json file (#439)
- Fix bower slowness when downloading after redirects (#437)
- Detect and error out with a friendly message when
git
is not installed (#362) - Add
--quiet
and--silent
CLI options (#343) - Minor programmatic usage improvements
NOTE: The components
folder will still be used if already created, making it easier for users to upgrade.
- Better fix for #429
- Update
package.json
, docs and other stuff to point to the newBower
organisation on GitHub - Fix root label of
bower list
being an absolute path; now uses the package name - Fix
bower update <pkg>
updating all packages; now throws when updating an unknown package - Fix
list
command when package use different names than theguessed
one (#429)
- Change from
component.json
tobower.json
(#39) - Compatibility with
node 0.10.x
, including fix hangs/errors when extractingzip
files - Fix
--save
and--save-dev
not working with URLs that get redirected (#417) - Fix
init
command targeting~commit
instead of*
. (#385) - Remove temporary directories before exiting (#345)
- Integrate
update-notifier
(#202) - Use
json
name when a package name was inferred (#192) - Fix
bin/bower
not exiting with an exit code greater than zero when an error occurs (#187) - Fix
--save
and--save-dev
saving resolved shorthands instead of the actual shorthands - Fix bower using user defined git templates (#324)
- Add command abbreviations (#262)
- Improve help messages and fix abuse of colors in output
- Wait for every package to resolve before printing error messages (#290)
- Add
shorthand_resolver
to allow shorthands to be resolved to repositories other than GitHub (#278)
- Emergency fix for
node 0.8.x
users to makezip
extraction work again
- Fix
cache-clean
command clearing the completion cache when the command was called with specific packages - Add error message when an error is caught parsing an invalid
component.json
- Fix some more duplicate async callbacks being called twice
- Preserve new lines when saving
component.json
(#285)
- Fix error when using the
update
command (#282)
- Fix some errors in windows while removing directories, had to downgrade
rimraf
(#274) - Prevent duplicate package names in error summaries (#277)
- Fix some async callbacks being fired twice (#274)
- Add init command similar to
npm init
(#219) - Add devDependencies support (#251)
- Add
--save-dev
flag to install/uninstall commands (#258) cache-clean
command now clears links pointing to nonexistent folders (#182)- Fix issue when downloading assets behind a proxy using
https
(#230) - Fix --save saving unresolved components (#240)
- Fix issue when extracting some zip files (#225)
- Fix automatic conflict resolver not selecting the correct version
- Add
--sources
option to thelist
command (#235) - Automatically clear cache when git commands fail with code 128 (#216)
- Fix
bower
not working correctly behind a proxy in some commands (#208)
- Remove postinstall script from
bower
installation
- Ability to resolve conflicts (#214)
- Ability to search and publish to different endpoints by specifying them in the
.bowerrc
file - Experimental autocompletion
- Ability to exclude (ignore) files
- Fix minor issues in the cache clean command
- Better error message for invalid semver tags (#185)
- Only show discover message in the list command only if there are packages
- Fix mismatch issue due to reading cached component.json files (#214)
- Better error messages when reading invalid .bowerrc files (#220)
- Fix update command when used in packages pointing to assets (#197)
- Bower now obeys packages's
.bowerrc
if they define a differentjson
(#205)
- Improve list command
- Does not fetch versions if not necessary (for --map and --paths options)
- Add --offline option to prevent versions from being fetched
- Fix uninstall command not firing the
end
event - Fix error when executing an unknown command (#179)
- Fix help for the ls command (alias of list)
- Fix uninstall removing all unsaved dependencies (#178)
- Fix uninstall --force flag in some cases
- Add --silent option to the register option, to avoid questioning
- Fix possible issues with options in some commands
- Fix error reporting when reading invalid project component.json
- Improve error handling while reading component.json
- Fix package name not being correctly collected in the error summary
- Fix error summary not being displayed in some edge cases
- Fix bower not fetching latest commits correctly in some cases
- Fix permission on downloaded files (#160)
- Fix version not being correctly set for local packages (#155)
- Fix uninstall --save when there is no component.json
- Fix uninstall when the project component.json has no deps saved (#153)
- Fix uncaught errors when using file writter (they are now caught and reported)
- Fix temporary directories not being deleted when an exception occurs (#153)
- Add link command (similar to npm)
- Fix error reporting for nested deps
- Abort if a repository is detected when installing. This is useful to prevent people from loosing their work
- Minor fixes and improvements
- Add errors summary to the end of install/update commands
- Add windows instructions to the README
- Remove package.json support
- Support for local path repositories (#132)
install --save
now saves the correct tag (e.g: ~0.0.1) instead of 'latest'install --save
now saves packages pointing directly to assets correctly- Bower automatically creates a component.json when install with
--save
is used - Fix issues with list command (#142)
- Fix local paths not being saved when installing with --save (#114)
uninstall
now uninstalls nested dependencies if they are not shared (#83)uninstall
now warns when a dependency conflict occurs and aborts. It will only proceed if the--force
flag is passed- Bower now detects mismatches between the version specified in the component.json and the tag, informing the user
bower ls
now informs when a package has a new commit (for non-tagged repos)- Add jshintrc and fix a lot of issues related with JSHint warnings
bower register
now prompts if the user really wants to proceed