summaryrefslogtreecommitdiff
path: root/v1.2/whats_new.html
blob: 7c69f252a891f4ac8a810b2f010fe1c5792cdcbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE html>
<html>
  <head>
    <title>Bundler: The best way to manage a Ruby application's gems</title>
    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
    <meta content='276VSYOko8B8vIu1i8i5qbj7_ql5PXo0dU69XQy-SL' name='globalsign-domain-verification'>
    <link href='/images/favicon.png' rel='shortcut icon' type='image/png'>
    <link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <div id='body'>
      <div id='header'>
        <a class="image" href="/"><img width="725" alt="The best way to manage your application's dependencies" src="/images/gembundler.png" /></a>
      </div>
      <div id='container'>
        <div id='contents'>
          <h1>What's New in each Release</h1>
          <div class='buttons'>
            <a href="/v1.6/whats_new.html#version16">Latest Version v1.6</a>
            <a href="/v1.5/whats_new.html#version15">v1.5</a>
            <a href="/v1.3/whats_new.html#version13">v1.3</a>
            <a href="/v1.2/whats_new.html#version12">v1.2</a>
            <a href="https://github.com/bundler/bundler/blob/master/CHANGELOG.md#110-mar-7-2012">v1.1</a>
            <a href="https://github.com/bundler/bundler/blob/master/CHANGELOG.md#100-august-29-2010">v1.0</a>
          </div>
          <h2 id='version12'>What's New in v1.2</h2>
          <div class='contents'>
            <div class='bullet'>
              <div class='description'>
                In this section, you'll find the major features introduced in the release. All the changes are documented in the Bundler 1.2 CHANGELOG.
                <a href="https://github.com/bundler/bundler/blob/1-2-stable/CHANGELOG.md">CHANGELOG</a>
              </div>
            </div>
          </div>
          <h2 id='ruby-directive'>Specifying a Ruby Version</h2>
          <div class='contents'>
            <div class='bullet'>
              <div class='description'>
                You can now specify the version of Ruby in the <code>Gemfile</code> like the following:
              </div>
              <pre class="highlight ruby"><span class="n">ruby</span> <span class="s1">'1.9.3'</span>&#x000A;</pre>
            </div>
            <div class='bullet'>
              <div class='description'>
                That line declares that this application has a dependency on the Ruby VM that is ABI-compatible with 1.9.3. If the version check does not match, Bundler will raise an exception. This will ensure the running code matches. You can be more specific with the <code>:engine</code> and <code>:engine_version</code> options.
              </div>
              <pre class="highlight ruby"><span class="n">ruby</span> <span class="s1">'1.9.3'</span><span class="p">,</span> <span class="ss">:engine</span> <span class="o">=&gt;</span> <span class="s1">'jruby'</span><span class="p">,</span> <span class="ss">:engine_version</span> <span class="o">=&gt;</span> <span class="s1">'1.6.7'</span></pre>
              <a href="/v1.2/gemfile_ruby.html">Learn More: Ruby Directive</a>
            </div>
          </div>
          <h2 id='package-git-and-path-dependencies'>Package <code>:git</code> and <code>:path</code> Dependencies</h2>
          <div class='contents'>
            <div class='bullet'>
              <div class='description'>
                The <code>bundle package</code> command can also package <code>:git</code> and
                <code>:path</code> dependencies besides <code>.gem</code> files. This needs to be explicitly enabled
                via the <code>--all</code> option. Once used, the <code>--all</code> option will be remembered.
              </div>
              <a href="/v1.2/bundle_package.html">Learn More: bundle pack</a>
            </div>
          </div>
          <h2 id='local-git-repos'>Local Git Repos</h2>
          <div class='contents'>
            <div class='bullet'>
              <div class='description'>
                Now when developing against a remote git repository, you can use a local
                git repo and keep the remote version for deployment. You can do this by
                setting a local git override:
              </div>
              <pre class="highlight plaintext">bundle config local.GEM_NAME /path/to/local/git/repository&#x000A;</pre>
            </div>
            <div class='bullet'>
              <div class='description'>
                For example, in order to use a local Rack repository, a developer could call:
              </div>
              <pre class="highlight plaintext">bundle config local.rack ~/Work/git/rack</pre>
              <div class='description'>
                and in your <code>Gemfile</code> you would set:
              </div>
              <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'rack'</span><span class="p">,</span> <span class="ss">:github</span> <span class="o">=&gt;</span> <span class="s1">'rack/rack'</span><span class="p">,</span> <span class="ss">:branch</span> <span class="o">=&gt;</span> <span class="s1">'master'</span></pre>
              <div class='description'>
                You'll need to reference a git branch, since Bundler will do checks to
                ensure you don't work with invalid references. If the branch specified in
                the <code>Gemfile</code> and the current branch in the local git
                repository do not match, Bundler will abort. This ensures that a
                developer is always working against the correct branches, and prevents
                accidental locking to a different branch.
              </div>
              <a href="/v1.2/git.html#local">Learn More: Git</a>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id='footer'>
      <img src="/images/emocow.png" />
      <img src="/images/panda.jpg" />
      <div class='spacer'></div>
      <div id='credits'>
        <p>
          Many thanks to Bundler's <a href="/contributors.html">contributors</a>
          and <a href="/sponsors.html">sponsors</a>
        </p>
      </div>
      <div class='spacer'></div>
      <img src="/images/bundler-small.png" />
    </div>
    <a href='http://github.com/bundler/bundler/' id='github'>
      <img alt='Fork me on GitHub' src='http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png'>
    </a>
    <div id='prod-versions'>
      Docs:
      <a href="/v0.9/">v0.9</a>
      <a href="/v1.0/">v1.0</a>
      <a href="/v1.1/">v1.1</a>
      <a class="current" href="/v1.2/">v1.2</a>
      <a href="/v1.3/">v1.3</a>
      <a href="/v1.5/index.html">v1.5</a>
      <a href="/">v1.6</a>
    </div>
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
      ga('create', 'UA-39559982-1', 'bundler.io');
      ga('send', 'pageview');
    </script>
  </body>
</html>