./lang/ruby40, Ruby 4.0.5 release package

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 4.0.5, Package name: ruby40-4.0.5, Maintainer: taca

Ruby is an interpreted object-oriented programming language often used
for web development. It also offers many scripting features to
process plain text and serialized files, or manage system tasks. It
is simple, straightforward, and extensible.

Ruby 4.0 introduces a number of new features and performance improvements,
here are some of them:
* Ruby Box

a new (experimental) feature to provide separation about definitions

* Performance: ZJIT

a new just-in-time (JIT) compiler, which is developed as the
next generation of YJIT

It is not enabled on pkgsrc for now.

* Ractor Improvements
* Stdlib updates
* Retirement of RJIT: Experital pure-Ruby JIT compiler

DEINSTALL [+/-]


Package options: ruby-build-ri-db, ruby-yjit

Master sites: (Expand)

Filesize: 17474.371 KB

Version history: (Expand)


CVS history: (Expand)


   2026-05-20 15:13:37 by Takahiro Kambe | Files touched by this commit (4) | Package updated
Log message:
lang/ruby40: update to 4.0.5

Ruby 4.0.5 (2026-05-20)

* CVE-2026-46727: Use-after-free in pthread-based getaddrinfo timeout
  handler

* Bug #22065: make rdoc fails with invalid byte sequence in US-ASCII on Ruby
  4.0.4 under C locale - Ruby - Ruby Issue Tracking System
   2026-05-19 16:58:52 by Takahiro Kambe | Files touched by this commit (5) | Package updated
Log message:
lang/ruby40: update to 4.0.4

pkgsrc change:

* Fix rdoc problem on C locale, backported from rdoc-7.0.4.
  (So, no need to patch a template file to character entity reference.)

Ruby 4.0.4 (2026-05-11)

* Bug #21955: Fiber#transfer: machine stack not released when fiber
  terminates, causing FiberError: can't set a guard page
* Bug #21964: Fiber stack acquire can expand unnecessarily
* Bug #21971: Fix regexp performance regression for patterns starting with
  s/k
* Bug #21961: Marshal.load freeze option fail to freeze linked strings
* Bug #21959: rb_internal_thread_event_hooks_rw_lock is not reinitialized
  after fork causing deadlocks
* Bug #21954: NoMethodError instead of Gem::LoadError on gem activation
  problem in Ruby 4.0.2
* Bug #21844: Inconsistent ArgumentError message for Data::define.new
* Bug #21992: Defining BasicObject#initialize causes segmentation fault
* Bug #22018: ISeq created via RubyVM::InstructionSequence.compile don't
  support coverage
* Bug #21985: RubyVM::AST negative numbers do not include - in location
* Bug #21986: RubyVM::AST incorrect location for literals followed by
  modifier if
* Bug #21933: Ruby::Box: named capture local variable can become nil after
  non-matching lines
* Bug #21940: Ruby::Box: $_ returns stale value due to gvar_tbl caching
* Bug #22004: parse.y doesn't executes loop body with while true || true
  condition
* Bug #21952: Ruby::Box double free at process exit when fiddle/import is
  required in multiple boxes
* Bug #22003: .bundle extensions not built when doing out-of-source build
* Bug #22002: argument stack underflow (-1)
   2026-05-15 18:58:55 by Thomas Klausner | Files touched by this commit (2)
Log message:
ruby40: add upstream bug report to patch
   2026-05-15 18:56:19 by Thomas Klausner | Files touched by this commit (3)
Log message:
ruby40: fix parallel build and dtrace-related build problem
   2026-05-05 16:09:07 by Takahiro Kambe | Files touched by this commit (4) | Package updated
Log message:
lang/ruby: update to 4.0.3

4.0.3 (2026-04-21)

What's Changed

* Prohibit def_method on marshal-loaded ERB instances (CVE-2026-41316)
   2026-03-22 14:20:18 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
lang/ruby40: update to 4.0.2

This release contains security fix for zlib gem version 3.3.2 which fixes
CVE-2026-27820.

Quote from release announce:

This is a routine update that includes a bugfix in YJIT for NoMethodError on
Puma. Please see the GitHub Releases for further details.

Release Schedule

We intend to release the latest stable Ruby version (currently Ruby 4.0)
every two months following the most recent release. Ruby 4.0.3 will be
released in May, 4.0.4 in July, 4.0.5 in September, and 4.0.6 in November.

If a change arises that significantly affects users, a release may occur
earlier than planned, and the subsequent schedule may shift accordingly.

Changes from GitHub release page:

4.0.2 (2026-03-16)

* Bug #21941: Local variable becomes nil when YJIT enabled mid-method with
  fork/signal/ensure

* Bug #21832: segfault with argument forwarding, when combined with splat &
  positional arg

* Bug #21723: binding.irb raises a LoadError under bundle exec when Gemfile
  contains path: or git:

* Bug #21847: Backport syntax_suggest 2.0.3 to supported branches

* Bug #21866: Backport Fix for integer overflow checks in enumerator

* Bug #21865: Crash on signal raise

* Bug #21842: Encoding of rb_interned_str

* Bug #21838: Rails seeing degradation (20% slowdown) related to Revision
  079ef92b "Implement global allocatable slots and empty pages" (from Sep 5
  2024)

* Bug #21873: UnboundMethod#== returns false for methods from
  included/extended modules

* ZJIT: Avoid runtime exceptions from RubyVM::ZJIT.stats_string by k0kubun ยท
  Pull Request #16139

* Bug #21931: GC Crash in String#% (backport
  726205b354d1068147719fb42e1de743f1838ef1)

* Bug #21944: "Cannot allocate memory" with M:N threads or Ractors on a low
  RAM Linux machine

* Bug #21927: Prism: misleading error message for forwarding in lambda
  argument

* Bug #21925: Prism misparses standalone "in" pattern matching in \ 
"case/in"

* Bug #21828: An incorrect warning message related to benchmark is shown
  when using benchmark-ips

* Bug #21917: Unable to build 4.0.1 on AIX 7.2

* Bug #21945: Ripper lexes newline between identifier and and? as ignored
  newline

* Bug #21947: Timeout.timeout doesn't use Timeout::ExitException when Fiber
  scheduler is in use.

* Bug #21926: Thread#value on popen3 wait thread hangs in finalizer

* Bug #21880: The ultra_safe mode of pstore bundled with Ruby 4.0 is broken.

* Bug #21097: x = a rescue b in c and def f = a rescue b in c parsed
  differently between parse.y and prism
   2026-02-05 14:07:17 by Thomas Klausner | Files touched by this commit (2)
Log message:
ruby40: revert previous, -g should not be in CPPFLAGS
   2026-02-05 11:07:45 by Thomas Klausner | Files touched by this commit (2)
Log message:
ruby40: fix build with CPPFLAGS=-g

CPPFLAGS got passed unmodified to dtrace, but that does not support
all compiler flags that can be passed this way.

Add link to upstream bug report.