## 1.15.1 (2017-06-02)
Bugfixes:
- `bundle lock --update GEM` will fail gracefully when the gem is not in the lockfile (#5693, @segiddins)
- `bundle init --gemspec` will fail gracefully when the gemspec is invalid (@colby-swandale)
- `bundle install --force` works when the gemfile contains git gems (#5678, @segiddins)
- `bundle env` will print well-formed markdown when there are no settings (#5677, @segiddins)
## 1.15.0 (2017-05-19)
This space intentionally left blank.
## 1.15.0.pre.4 (2017-05-10)
Bugfixes:
- avoid conflicts when `Gem.finish_resolve` is called after the bundle has been set up (@segiddins)
- ensure that `Gem::Specification.find_by_name` always returns an object that can have `#to_spec` called on it (#5592, @jules2689)
## 1.15.0.pre.3 (2017-04-30)
Bugfixes:
- avoid redundant blank lines in the readme generated by `bundle gem` (@koic)
- ensure that `open-uri` is not loaded after `bundle exec` (@segiddins)
- print a helpful error message when an activated default gem conflicts with
a gem in the gemfile (@segiddins)
- only shorten `ref` option for git gems when it is a SHA (#5620, @segiddins)
## 1.15.0.pre.2 (2017-04-23)
Bugfixes:
- ensure pre-existing fit caches are updated from remote sources (#5423, @alextaylor000)
- avoid duplicating specs in the lockfile after updating with the gem uninstalled (#5599, @segiddins)
- ensure git gems have their extensions available at runtime (#5594, @jules2689, @segiddins)
## 1.15.0.pre.1 (2017-04-16)
Features:
- print a notification when a newer version of bundler is available (#4683, @segiddins)
- add man pages for all bundler commands (#4988, @feministy)
- add the `bundle info` command (@fredrb, @colby-swandale)
- all files created with `bundle gem` comply with the bundler style guide (@zachahn)
- if installing a gem fails, print out the reason the gem needed to be installed (#5078, @segiddins)
- allow setting `gem.push_key` to set the key used when running `rake release` (@DTrierweiler)
- print gem versions that are regressing during `bundle update` in yellow (#5506, @brchristian)
- avoid printing extraneous dependencies when the resolver encounters a conflict (@segiddins)
- add the `bundle issue` command that prints instructions for reporting issues (#4871, @jonathanpike)
- add `--source` and `--group` options to the `bundle inject` command (#5452, @Shekharrajak)
- add the `bundle add` command to add a gem to the gemfile (@denniss)
- add the `bundle pristine` command to re-install gems from cached `.gem` files (#4509, @denniss)
- add a `--parseable` option for `bundle config` (@JuanitoFatas, @colby-swandale)
Performance:
- speed up gemfile initialization by storing locked dependencies as a hash (@jules2689)
- speed up gemfile initialization by making locked dependency comparison lazy, avoiding object allocation (@jules2689)
- only validate git gems when they are downloaded, instead of every time `Bundler.setup` is run (@segiddins)
- avoid regenerating the lockfile when nothing has changed (@segiddins)
- avoid diffing large arrays when no sources in the gemfile have changed (@segiddins)
- avoid evaluating full gemspecs when running with RubyGems 2.5+ (@segiddins)
Bugfixes:
- fix cases where `bundle update` would print a resolver conflict instead of updating the selected gems (#5031, #5095, @segiddins)
- print out a stack trace after an interrupt when running in debug mode (@segiddins)
- print out when bundler starts fetching a gem from a remote server (@segiddins)
- fix `bundle gem` failing when `git` is unavailable (#5458, @Shekharrajak, @colby-swandale)
- suggest the appropriate command to unfreeze a bundle (#5009, @denniss)
- ensure nested calls to `bundle exec` resolve default gems correctly (#5500, @segiddins)
- ensure that a plugin failing to install doesn't uninstall other plugins (@kerrizor, @roseaboveit)
- ensure `socket` is required before being referenced (#5533, @rafaelfranca)
- allow running `bundle outdated` when gems aren't installed locally (#5553, @segiddins)
- print a helpful error when `bundle exec`ing to a gem that isn't included in the bundle (#5487, @segiddins)
- print an error message when a non-git gem is given a `branch` option (#5530, @colby-swandale)
- allow interrupts to exit the process after gems have been installed (@segiddins)
- print the underlying error when downloading gem metadata fails (#5579, @segiddins)
- avoid deadlocking when installing with a lockfile that is missing dependencies (#5378, #5480, #5519, #5526, #5529, #5549, #5572, @segiddins)