tag:github.com,2008:https://github.com/rake-compiler/rake-compiler-dock/releasesRelease notes from rake-compiler-dock2025-01-20T16:49:00Ztag:github.com,2008:Repository/28981814/v1.9.12025-01-20T17:20:49Zv1.9.1 / 2025-01-20<h2>v1.9.1 / 2025-01-20</h2>
<h3>Features</h3>
<ul>
<li>Introduce <code>RakeCompilerDock.set_ruby_cc_version</code> to make it easier to set <code>RUBY_CC_VERSION</code> without hardcoding specific patch-level ruby versions. See the README for more deteails. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2799516694" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/149" data-hovercard-type="issue" data-hovercard-url="/rake-compiler/rake-compiler-dock/issues/149/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/issues/149">#149</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2799755127" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/150" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/150/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/150">#150</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></li>
</ul>flavorjonestag:github.com,2008:Repository/28981814/v1.9.02025-01-19T19:29:50Zv1.9.0 / 2025-01-19<h2>v1.9.0 / 2025-01-19</h2>
<h3>Changes</h3>
<ul>
<li>Bump Ruby 3.3 to v3.3.7 (from v3.3.5). <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2797727731" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/147" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/147/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/147">#147</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></li>
<li>The default <code>rbenv</code> ruby in the container is now Ruby v3.4.1 (previously the default was 3.1.6), which allows gems to drop Ruby 3.1 from their gemspecs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2793033113" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/145" data-hovercard-type="issue" data-hovercard-url="/rake-compiler/rake-compiler-dock/issues/145/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/issues/145">#145</a>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2793903216" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/146" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/146/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/146">#146</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></li>
<li>Ruby 3.4.x, 3.3.x, 3.2.x, 3.1.x, and 3.0.x are cross-compiled using Ruby v3.4.1. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2793903216" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/146" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/146/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/146">#146</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></li>
</ul>
<h3>CRuby container summary</h3>
<ul>
<li>native rubies: 3.4.1 (default), 3.1.6, 2.5.9</li>
<li><code>RUBY_CC_VERSION=3.4.1:3.3.7:3.2.6:3.1.6:3.0.7:2.7.8:2.6.10:2.5.9:2.4.10</code></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/rake-compiler/rake-compiler-dock/compare/v1.8.0...v1.9.0"><tt>v1.8.0...v1.9.0</tt></a></p>flavorjonestag:github.com,2008:Repository/28981814/v1.8.02025-01-19T19:29:08Zv1.8.0 / 2025-01-05<h2>v1.8.0 / 2025-01-05</h2>
<h3>Notable changes</h3>
<p>All versions of Ruby in the build containers are the latest patch version. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2761183311" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/135" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/135/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/135">#135</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></p>
<ul>
<li><code>RUBY_CC_VERSION=3.4.1:3.3.5:3.2.6:3.1.6:3.0.7:2.7.8:2.6.10:2.5.9:2.4.10</code></li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Base ruby updated to v3.1.6 (from v3.1.3), which is now the default <code>rbenv</code> ruby.</li>
<li>(Darwin) Set <code>OSXCROSS_PKG_CONFIG_USE_NATIVE_VARIABLES=1</code> to successfully build the 3.0 series.</li>
<li>(Darwin) The linker flags include <code>-Wl,-flat_namespace</code> for 2.7, 3.0, 3.1, 3.2, 3.3, and 3.4 rubies. Previously this was only needed for 3.2+, but code backported to 2.7.7, 3.0.5, and 3.1.3 required it for those versions as well.</li>
</ul>
<h3>CRuby container summary</h3>
<ul>
<li>native rubies: 3.1.6 (default), 2.5.9</li>
<li><code>RUBY_CC_VERSION=3.4.1:3.3.5:3.2.6:3.1.6:3.0.7:2.7.8:2.6.10:2.5.9:2.4.10</code></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/rake-compiler/rake-compiler-dock/compare/v1.7.1...v1.8.0"><tt>v1.7.1...v1.8.0</tt></a></p>flavorjonestag:github.com,2008:Repository/28981814/v1.7.12025-01-03T18:05:16Zv1.7.1 / 2025-01-03<h2>v1.7.1 / 2025-01-03</h2>
<ul>
<li>Bump rake-compiler dependency to v1.2.9 (from v1.2.5).</li>
<li>Bump Ruby to v3.4.1 (from v3.4.0) to address <code>ruby_abi_version</code> issues.</li>
</ul>flavorjonestag:github.com,2008:Repository/28981814/v1.7.02024-12-25T14:34:48Zv1.7.0<h2>v1.7.0 / 2024-12-25</h2>
<h3>Ruby 3.4 support</h3>
<ul>
<li>Add Ruby 3.4.0 cross-compilation support.</li>
</ul>flavorjonestag:github.com,2008:Repository/28981814/v1.7.0.rc12024-12-13T23:16:14Zv1.7.0.rc1 / 2024-12-13<h2>v1.7.0.rc1 / 2024-12-13</h2>
<h3>Ruby 3.4 support</h3>
<ul>
<li>Add Ruby 3.4.0-rc1 cross-compilation support. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2739162991" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/131" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/131/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/131">#131</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></li>
</ul>flavorjonestag:github.com,2008:Repository/28981814/v1.6.02024-12-13T19:32:13Zv1.6.0 / 2024-12-13<h2>v1.6.0 / 2024-12-13</h2>
<h3>Notable changes</h3>
<h4>Standardizing all Linux build images on Ubuntu</h4>
<p>In this release, we upgraded the base image for the <code>x86_64-linux-gnu</code> and <code>x86-linux-gnu</code> images from <code>manylinux2014</code> to <code>ubuntu:20.04</code>. (<code>manylinux2014</code> reached end-of-life earlier this year.) As a result, all of the build images are using the same base image, simplifying things considerably. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331577834" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/122" data-hovercard-type="issue" data-hovercard-url="/rake-compiler/rake-compiler-dock/issues/122/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/issues/122">#122</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2436379442" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/126" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/126/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/126">#126</a>) <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a></p>
<p>⚠ <strong>Note</strong> there are two important changes due to this upgrade:</p>
<ol>
<li>The minimum supported version of GLIBC for the <code>x86*-linux-gnu</code> images has increased from 2.17 to 2.29 for <code>x86_64</code> and <code>x86</code> architectures. (Note that GLIBC was already pinned to 2.29 for ARM architectures.)</li>
<li>Precompiled gems built with the <code>x86*linux-gnu</code> images are less likely to be compatible with Musl libc, and may segfault when run on Musl systems.</li>
</ol>
<p>For (2) above, if you have been shipping a single <code>x86_64-linux</code> native gem for both GNU and Musl systems, <strong>please make sure you test your gems on a Musl system before shipping them</strong>. See the <a href="https://github.com/flavorjones/ruby-c-extensions-explained/blob/6619a0d94e627897838a79144704387db65a03bc/.github/workflows/precompiled.yml#L137">actions workflow in flavorjones/ruby-c-extensions-explained</a> for an example of how to do this rigorously.</p>
<h4>Ruby 3.3 support upgraded to <code>3.3.5</code></h4>
<p>Update Ruby 3.3 support from 3.3.0-rc1 to 3.3.5. Note that the 3.3.x releases are not usable until 3.3.5 because of <a href="https://bugs.ruby-lang.org/issues/20088" rel="nofollow">https://bugs.ruby-lang.org/issues/20088</a>.</p>
<p>⚠ <strong>Note</strong> that if you were specifying <code>3.3.0</code> in your <code>RUBY_CC_VERSION</code> environment variable, that string must be updated to <code>3.3.5</code>.</p>
<h3>Added</h3>
<ul>
<li>Add support for the <code>SOURCE_DATE_EPOCH</code> environment variable, which can be used to create reproducible builds. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2474500451" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/128" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/128/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/128">#128</a>) <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/segiddins/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/segiddins">@segiddins</a></li>
</ul>flavorjonestag:github.com,2008:Repository/28981814/v1.5.22024-07-30T21:09:43Z1.5.2 / 2024-07-30<h2>1.5.2 / 2024-07-30</h2>
<p>With CentOS 7 becoming EOL as of 2024-06-30, <code>yum</code> will no longer work in the <code>x86_64-linux-gnu</code> and<br>
<code>x86-linux-gnu</code> images shipped with v1.5.1 and earlier.</p>
<p>In this release, we've updated the <code>manylinux2014</code> base image for the <code>x86_64-linux-gnu</code> and<br>
<code>x86-linux-gnu</code> images to point at a version patched by <code>pypa</code> to use valid yum mirrors. See<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2341783254" data-permission-text="Title is private" data-url="https://github.com/pypa/manylinux/issues/1628" data-hovercard-type="pull_request" data-hovercard-url="/pypa/manylinux/pull/1628/hovercard" href="https://github.com/pypa/manylinux/pull/1628">pypa/manylinux#1628</a> for more information.</p>flavorjonestag:github.com,2008:Repository/28981814/v1.5.12024-06-03T21:05:31Z1.5.1 / 2024-06-03<h2>1.5.1 / 2024-06-03</h2>
<h3>Improvements</h3>
<p>The <code>x86_64-linux-gnu</code> and <code>x86-linux-gnu</code> containers (based on <code>manylinux_2014</code>) now have a modern version of <code>pkg-config</code>, v0.29.2, installed on them in <code>/usr/local/bin/pkg-config</code>. The distro's version (v0.27.1) is still in <code>/usr/bin/pkg-config</code> if you need to fall back for some reason, but the newer version will be used by default and should be backwards-compatible. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331472873" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/121" data-hovercard-type="issue" data-hovercard-url="/rake-compiler/rake-compiler-dock/issues/121/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/issues/121">#121</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331762197" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/123" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/123/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/123">#123</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a>)</p>flavorjonestag:github.com,2008:Repository/28981814/v1.5.02024-04-15T23:04:43Z1.5.0 / 2024-02-25<h1>1.5.0 / 2024-02-25</h1>
<h2>Notable changes</h2>
<h3>First-class Linux <code>musl</code> libc support</h3>
<ul>
<li>Add Linux musl cross build targets <code>aarch64-linux-musl</code>, <code>arm-linux-musl</code>, <code>x86-linux-musl</code>, and <code>x86_64-linux-musl</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1431715893" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/75" data-hovercard-type="issue" data-hovercard-url="/rake-compiler/rake-compiler-dock/issues/75/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/issues/75">#75</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2049549218" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/111" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/111/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/111">#111</a> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a>)</li>
<li>Add Linux cross build targets <code>aarch64-linux-gnu</code>, <code>arm-linux-gnu</code>, <code>x86-linux-gnu</code>, and <code>x86_64-linux-gnu</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2049549218" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/111" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/111/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/111">#111</a> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a>)</li>
<li>The cross build targets <code>aarch64-linux</code>, <code>arm-linux</code>, <code>x86-linux</code>, and <code>x86_64-linux</code> are now aliases for the <code>*-linux-gnu</code> targets. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2049549218" data-permission-text="Title is private" data-url="https://github.com/rake-compiler/rake-compiler-dock/issues/111" data-hovercard-type="pull_request" data-hovercard-url="/rake-compiler/rake-compiler-dock/pull/111/hovercard" href="https://github.com/rake-compiler/rake-compiler-dock/pull/111">#111</a> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a>)</li>
</ul>
<p><strong>Please read the README for details and caveats!</strong></p>
<h2>Improvements</h2>
<ul>
<li>Predefined user and group list is more complete, and represents the union of users and groups across all RCD images.</li>
</ul>
<h2>Changes to build containers</h2>
<ul>
<li>Replace <code>rvm</code> with <code>rbenv</code> and <code>ruby-build</code> in the build containers.
<ul>
<li><code>rvm</code> has been replaced by <code>rbenv</code> and <code>ruby-build</code>
<ul>
<li>no longer applying sendfile patches to bootstrap rubies</li>
<li>no longer updating gems belonging to the bootstrap rubies</li>
</ul>
</li>
<li>user <code>rvm</code> no longer exists, replaced by <code>rubyuser</code></li>
</ul>
</li>
</ul>
<p>Users of the <code>rake-compiler-dock</code> gem should not be affected by this change. However, users of the raw containers may be affected if there are assumptions about <code>rvm</code>.</p>flavorjones