Skip to content

Releases: rake-compiler/rake-compiler-dock

v1.9.1 / 2025-01-20

20 Jan 17:20
44dd68a
Compare
Choose a tag to compare

v1.9.1 / 2025-01-20

Features

  • Introduce RakeCompilerDock.set_ruby_cc_version to make it easier to set RUBY_CC_VERSION without hardcoding specific patch-level ruby versions. See the README for more deteails. #149, #150 @flavorjones

v1.9.0 / 2025-01-19

19 Jan 19:29
a173ba7
Compare
Choose a tag to compare

v1.9.0 / 2025-01-19

Changes

  • Bump Ruby 3.3 to v3.3.7 (from v3.3.5). #147 @flavorjones
  • The default rbenv 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 #145. #146 @flavorjones
  • 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. #146 @flavorjones

CRuby container summary

  • native rubies: 3.4.1 (default), 3.1.6, 2.5.9
  • 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

Full Changelog: v1.8.0...v1.9.0

v1.8.0 / 2025-01-05

06 Jan 02:43
c4e7dc3
Compare
Choose a tag to compare

v1.8.0 / 2025-01-05

Notable changes

All versions of Ruby in the build containers are the latest patch version. #135 @flavorjones

  • 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

Other changes

  • Base ruby updated to v3.1.6 (from v3.1.3), which is now the default rbenv ruby.
  • (Darwin) Set OSXCROSS_PKG_CONFIG_USE_NATIVE_VARIABLES=1 to successfully build the 3.0 series.
  • (Darwin) The linker flags include -Wl,-flat_namespace 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.

CRuby container summary

  • native rubies: 3.1.6 (default), 2.5.9
  • 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

Full Changelog: v1.7.1...v1.8.0

v1.7.1 / 2025-01-03

03 Jan 18:05
0f1e37e
Compare
Choose a tag to compare

v1.7.1 / 2025-01-03

  • Bump rake-compiler dependency to v1.2.9 (from v1.2.5).
  • Bump Ruby to v3.4.1 (from v3.4.0) to address ruby_abi_version issues.

v1.7.0

25 Dec 14:34
cc37afb
Compare
Choose a tag to compare

v1.7.0 / 2024-12-25

Ruby 3.4 support

  • Add Ruby 3.4.0 cross-compilation support.

v1.7.0.rc1 / 2024-12-13

13 Dec 23:16
827b917
Compare
Choose a tag to compare
Pre-release

v1.7.0.rc1 / 2024-12-13

Ruby 3.4 support

v1.6.0 / 2024-12-13

13 Dec 19:32
36ec61e
Compare
Choose a tag to compare

v1.6.0 / 2024-12-13

Notable changes

Standardizing all Linux build images on Ubuntu

In this release, we upgraded the base image for the x86_64-linux-gnu and x86-linux-gnu images from manylinux2014 to ubuntu:20.04. (manylinux2014 reached end-of-life earlier this year.) As a result, all of the build images are using the same base image, simplifying things considerably. (#122, #126) @flavorjones

Note there are two important changes due to this upgrade:

  1. The minimum supported version of GLIBC for the x86*-linux-gnu images has increased from 2.17 to 2.29 for x86_64 and x86 architectures. (Note that GLIBC was already pinned to 2.29 for ARM architectures.)
  2. Precompiled gems built with the x86*linux-gnu images are less likely to be compatible with Musl libc, and may segfault when run on Musl systems.

For (2) above, if you have been shipping a single x86_64-linux native gem for both GNU and Musl systems, please make sure you test your gems on a Musl system before shipping them. See the actions workflow in flavorjones/ruby-c-extensions-explained for an example of how to do this rigorously.

Ruby 3.3 support upgraded to 3.3.5

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 https://bugs.ruby-lang.org/issues/20088.

Note that if you were specifying 3.3.0 in your RUBY_CC_VERSION environment variable, that string must be updated to 3.3.5.

Added

  • Add support for the SOURCE_DATE_EPOCH environment variable, which can be used to create reproducible builds. (#128) @segiddins

1.5.2 / 2024-07-30

30 Jul 21:09
44c297c
Compare
Choose a tag to compare

1.5.2 / 2024-07-30

With CentOS 7 becoming EOL as of 2024-06-30, yum will no longer work in the x86_64-linux-gnu and
x86-linux-gnu images shipped with v1.5.1 and earlier.

In this release, we've updated the manylinux2014 base image for the x86_64-linux-gnu and
x86-linux-gnu images to point at a version patched by pypa to use valid yum mirrors. See
pypa/manylinux#1628 for more information.

1.5.1 / 2024-06-03

03 Jun 21:05
114086d
Compare
Choose a tag to compare

1.5.1 / 2024-06-03

Improvements

The x86_64-linux-gnu and x86-linux-gnu containers (based on manylinux_2014) now have a modern version of pkg-config, v0.29.2, installed on them in /usr/local/bin/pkg-config. The distro's version (v0.27.1) is still in /usr/bin/pkg-config if you need to fall back for some reason, but the newer version will be used by default and should be backwards-compatible. (#121, #123 by @flavorjones)

1.5.0 / 2024-02-25

15 Apr 23:04
66dac5b
Compare
Choose a tag to compare

1.5.0 / 2024-02-25

Notable changes

First-class Linux musl libc support

  • Add Linux musl cross build targets aarch64-linux-musl, arm-linux-musl, x86-linux-musl, and x86_64-linux-musl. #75, #111 (@flavorjones)
  • Add Linux cross build targets aarch64-linux-gnu, arm-linux-gnu, x86-linux-gnu, and x86_64-linux-gnu. #111 (@flavorjones)
  • The cross build targets aarch64-linux, arm-linux, x86-linux, and x86_64-linux are now aliases for the *-linux-gnu targets. #111 (@flavorjones)

Please read the README for details and caveats!

Improvements

  • Predefined user and group list is more complete, and represents the union of users and groups across all RCD images.

Changes to build containers

  • Replace rvm with rbenv and ruby-build in the build containers.
    • rvm has been replaced by rbenv and ruby-build
      • no longer applying sendfile patches to bootstrap rubies
      • no longer updating gems belonging to the bootstrap rubies
    • user rvm no longer exists, replaced by rubyuser

Users of the rake-compiler-dock gem should not be affected by this change. However, users of the raw containers may be affected if there are assumptions about rvm.