From 99e9ca1f40e7811fd4b162e6c4a7566d3d6bdf11 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 25 Dec 2025 21:14:34 +0900 Subject: [PATCH 1/6] [DOC] Flush NEWS.md --- NEWS.md => doc/NEWS/NEWS-4.0.0.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename NEWS.md => doc/NEWS/NEWS-4.0.0.md (100%) diff --git a/NEWS.md b/doc/NEWS/NEWS-4.0.0.md similarity index 100% rename from NEWS.md rename to doc/NEWS/NEWS-4.0.0.md From 010dcf85567ee1898706a4a8e353ac915a3d8873 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 25 Dec 2025 21:14:35 +0900 Subject: [PATCH 2/6] Development of 4.1.0 started. --- NEWS.md | 49 +++++++++++++++++++++++++++++++++++++ include/ruby/internal/abi.h | 2 +- include/ruby/version.h | 2 +- 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 NEWS.md diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 00000000000000..19824f0e0d94de --- /dev/null +++ b/NEWS.md @@ -0,0 +1,49 @@ +# NEWS for Ruby 4.1.0 + +This document is a list of user-visible feature changes +since the **4.0.0** release, except for bug fixes. + +Note that each entry is kept to a minimum, see links for details. + +## Language changes + +## Core classes updates + +Note: We're only listing outstanding class updates. + +## Stdlib updates + +We only list stdlib changes that are notable feature changes. + +Other changes are listed in the following sections. We also listed release +history from the previous bundled version that is Ruby 3.4.0 if it has GitHub +releases. + +The following bundled gems are promoted from default gems. + +The following default gem is added. + +The following default gems are updated. + +The following bundled gems are updated. + +### RubyGems and Bundler + +Ruby 4.0 bundled RubyGems and Bundler version 4. see the following links for details. + +## Supported platforms + +## Compatibility issues + +## Stdlib compatibility issues + +## C API updates + +## Implementation improvements + +### Ractor + +A lot of work has gone into making Ractors more stable, performant, and usable. These improvements bring Ractor implementation closer to leaving experimental status. + +## JIT + diff --git a/include/ruby/internal/abi.h b/include/ruby/internal/abi.h index e6d1fa7e8f3770..e735a67564d885 100644 --- a/include/ruby/internal/abi.h +++ b/include/ruby/internal/abi.h @@ -24,7 +24,7 @@ * In released versions of Ruby, this number is not defined since teeny * versions of Ruby should guarantee ABI compatibility. */ -#define RUBY_ABI_VERSION 1 +#define RUBY_ABI_VERSION 0 /* Windows does not support weak symbols so ruby_abi_version will not exist * in the shared library. */ diff --git a/include/ruby/version.h b/include/ruby/version.h index 24c846a1ca6ce2..5bb381cea204e1 100644 --- a/include/ruby/version.h +++ b/include/ruby/version.h @@ -67,7 +67,7 @@ * Minor version. As of writing this version changes annually. Greater * version doesn't mean "better"; they just mean years passed. */ -#define RUBY_API_VERSION_MINOR 0 +#define RUBY_API_VERSION_MINOR 1 /** * Teeny version. This digit is kind of reserved these days. Kept 0 for the From 2fa02d6d2e325e0c746f353e70403389072b5dee Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 26 Dec 2025 09:06:05 +0900 Subject: [PATCH 3/6] Enabled auto-update NEWS.md and sync for default gems again --- .github/workflows/default_gems_list.yml | 2 +- .github/workflows/sync_default_gems.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/default_gems_list.yml b/.github/workflows/default_gems_list.yml index ba6d6ee73c528d..1c7e2195c8cf4a 100644 --- a/.github/workflows/default_gems_list.yml +++ b/.github/workflows/default_gems_list.yml @@ -2,7 +2,7 @@ name: Update default gems list on: [push, pull_request, merge_group] env: - UPDATE_NEWS_ENABLED: false + UPDATE_NEWS_ENABLED: true concurrency: group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }} diff --git a/.github/workflows/sync_default_gems.yml b/.github/workflows/sync_default_gems.yml index a108bf420e16cc..3947001ccdf71a 100644 --- a/.github/workflows/sync_default_gems.yml +++ b/.github/workflows/sync_default_gems.yml @@ -1,7 +1,7 @@ name: Sync default gems env: - DEFAULT_GEM_SYNC_ENABLED: false + DEFAULT_GEM_SYNC_ENABLED: true on: workflow_dispatch: From a06a59e3b34cd5227363dc3af14dc6d1ce93e665 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 26 Dec 2025 09:06:11 +0900 Subject: [PATCH 4/6] Rename and enabled auto-update bundled gems again --- .github/workflows/bundled_gems.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bundled_gems.yml b/.github/workflows/bundled_gems.yml index f12bc849b16551..59f64e8312e1aa 100644 --- a/.github/workflows/bundled_gems.yml +++ b/.github/workflows/bundled_gems.yml @@ -1,7 +1,7 @@ name: bundled_gems env: - UPDATE_NEWS_ENABLED: false + UPDATE_ENABLED: true on: push: @@ -59,7 +59,7 @@ jobs: id: bundled_gems run: | ruby -i~ tool/update-bundled_gems.rb gems/bundled_gems >> $GITHUB_OUTPUT - if: ${{ env.UPDATE_NEWS_ENABLED == 'true' }} + if: ${{ env.UPDATE_ENABLED == 'true' }} - name: Update spec/bundler/support/builders.rb run: | @@ -67,12 +67,12 @@ jobs: rake_version = File.read("gems/bundled_gems")[/^rake\s+(\S+)/, 1] print ARGF.read.sub(/^ *def rake_version\s*\K".*?"/) {rake_version.dump} shell: ruby -i~ {0} spec/bundler/support/builders.rb - if: ${{ env.UPDATE_NEWS_ENABLED == 'true' }} + if: ${{ env.UPDATE_ENABLED == 'true' }} - name: Maintain updated gems list in NEWS run: | ruby tool/update-NEWS-gemlist.rb bundled - if: ${{ env.UPDATE_NEWS_ENABLED == 'true' }} + if: ${{ env.UPDATE_ENABLED == 'true' }} - name: Check diffs id: diff From 715d69ac717d461ff3e6be53194f58aa4349c317 Mon Sep 17 00:00:00 2001 From: git Date: Fri, 26 Dec 2025 00:07:09 +0000 Subject: [PATCH 5/6] Update default gems list at a06a59e3b34cd5227363dc3af14dc6 [ci skip] --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 19824f0e0d94de..b9b5fb3ed247ca 100644 --- a/NEWS.md +++ b/NEWS.md @@ -25,6 +25,7 @@ The following default gem is added. The following default gems are updated. + The following bundled gems are updated. ### RubyGems and Bundler From 290fa0d8b4e0145f389c6fdaff3ef45b915d706b Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 25 Dec 2025 19:30:50 -0500 Subject: [PATCH 6/6] [ruby/mmtk] Fix cargo fmt https://github.com/ruby/mmtk/commit/f4c46cabc7 --- gc/mmtk/src/api.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gc/mmtk/src/api.rs b/gc/mmtk/src/api.rs index 92146f87913c78..0449d3959d7c1e 100644 --- a/gc/mmtk/src/api.rs +++ b/gc/mmtk/src/api.rs @@ -198,11 +198,7 @@ pub unsafe extern "C" fn mmtk_init_binding( let mmtk_boxed = mmtk_init(&builder); let mmtk_static = Box::leak(Box::new(mmtk_boxed)); - let binding = RubyBinding::new( - mmtk_static, - &binding_options, - upcalls, - ); + let binding = RubyBinding::new(mmtk_static, &binding_options, upcalls); crate::BINDING .set(binding)