Releases: rake-compiler/rake-compiler-dock
v1.9.1 / 2025-01-20
v1.9.1 / 2025-01-20
Features
- Introduce
RakeCompilerDock.set_ruby_cc_version
to make it easier to setRUBY_CC_VERSION
without hardcoding specific patch-level ruby versions. See the README for more deteails. #149, #150 @flavorjones
v1.9.0 / 2025-01-19
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
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
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
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
v1.7.0.rc1 / 2024-12-13
Ruby 3.4 support
- Add Ruby 3.4.0-rc1 cross-compilation support. #131 @flavorjones
v1.6.0 / 2024-12-13
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:
- The minimum supported version of GLIBC for the
x86*-linux-gnu
images has increased from 2.17 to 2.29 forx86_64
andx86
architectures. (Note that GLIBC was already pinned to 2.29 for ARM architectures.) - 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
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
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
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
, andx86_64-linux-musl
. #75, #111 (@flavorjones) - Add Linux cross build targets
aarch64-linux-gnu
,arm-linux-gnu
,x86-linux-gnu
, andx86_64-linux-gnu
. #111 (@flavorjones) - The cross build targets
aarch64-linux
,arm-linux
,x86-linux
, andx86_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
withrbenv
andruby-build
in the build containers.rvm
has been replaced byrbenv
andruby-build
- no longer applying sendfile patches to bootstrap rubies
- no longer updating gems belonging to the bootstrap rubies
- user
rvm
no longer exists, replaced byrubyuser
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
.