Updating a rails app
Gem requirements as defined in the Gemfile will still be the first determining factor for what versions are available.If the gem requirement for # Command Line Result ------------------------------------------------------------ 1 bundle update --patch 'foo 1.4.5', 'bar 2.1.1' 2 bundle update --patch foo 'foo 1.4.5', 'bar 2.1.1' 3 bundle update --minor 'foo 1.5.1', 'bar 3.0.0' 4 bundle update --minor --strict 'foo 1.5.0', 'bar 2.1.1' 5 bundle update --patch --strict 'foo 1.4.4', 'bar 2.0.4' In case 1, bar is upgraded to 2.1.1, a minor version increase, because the dependency from foo 1.4.5 required it.Version 1.14 introduced 4 patch-level options that will influence how gem versions are resolved. Note that versions outside the stated patch level could still be resolved to if necessary to find a suitable dependency graph.One of the following options can be used: When Bundler is resolving what versions to use to satisfy declared requirements in the Gemfile or in parent gems, it looks up all available versions, filters out any versions that don't satisfy the requirement, and then, by default, sorts them from newest to oldest, considering them in that order. For example, if gem 'foo' is locked at 1.0.2, with no gem requirement defined in the Gemfile, and versions 1.0.3, 1.0.4, 1.1.0, 1.1.1, 2.0.0 all exist, the default order of preference by default ( are used, it would be "1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2".Edit: In this post we’re upgrading an application to Rails 5.0.0.beta1.1 and Rails 5.0.0.beta2 is now already released.Throughout this post we show some patches we needed to apply to Rails to get our application working.It would be going from 3.1 to 3.2, and 3.2 to 4.0, and so on.
Resolving all dependencies from scratch can have surprising results, especially if a number of the third-party packages you depend on have released new versions since you last did a full update.
To illustrate, the probably won't break anything, similar scenarios can happen that involve much larger jumps.
(see  below for a larger discussion) In order to avoid this problem, when you update a gem, bundler will not update a dependency of that gem if another gem still depends on it. If bundler needs to update a gem that another gem depends on, it will let you know after the update has completed.
with no parameters, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources.
Consider the following Gemfile Fetching gem metadata from https://rubygems.org/......... Installing builder 2.1.2 Installing abstract 1.0.0 Installing rack 1.2.8 Using bundler 1.7.6 Installing rake 10.4.0 Installing polyglot 0.3.5 Installing mime-types 1.25.1 Installing i18n 0.4.2 Installing mini_portile 0.6.1 Installing tzinfo 0.3.42 Installing rack-mount 0.6.14 Installing rack-test 0.5.7 Installing treetop 1.4.15 Installing thor 0.14.6 Installing activesupport 3.0.0Installing erubis 2.6.6 Installing activemodel 3.0.0Installing arel 0.4.0 Installing mail 2.2.20 Installing activeresource 3.0.0Installing actionpack 3.0.0Installing activerecord 3.0.0Installing actionmailer 3.0.0Installing railties 3.0.0Installing rails 3.0.0Installing nokogiri 1.6.5 Bundle complete! Use `bundle show [gemname]` to see where a bundled gem is installed. Keep in mind that this process can result in a significantly different set of the 25 gems, based on the requirements of new gems that the gem authors released since the last time you ran Fetching source index for https://rubygems.org/ Installing daemons (1.1.0) Installing eventmachine (0.12.10) with native extensions Installing open4 (1.0.1) Installing (0.4.7) with native extensions Installing rack (1.2.1) Installing rack-perftools_profiler (0.0.2) Installing thin (1.2.7) with native extensions Using bundler (1.0.03) option will also prevent shared dependencies from being updated.