Phát hành Ruby 4.0.0 preview2

Đăng bởi naruse vào 17 Nov 2025
Dịch bởi Ngọc Lê

Chúng tôi vui mừng thông báo phát hành Ruby 4.0.0-preview2. Ruby 4.0 cập nhật phiên bản Unicode lên 17.0.0, và nhiều cải tiến khác.

Thay đổi ngôn ngữ

  • *nil không còn gọi nil.to_a, tương tự như cách **nil không gọi nil.to_hash. [Feature #21047]

Cập nhật các lớp lõi

Lưu ý: Chúng tôi chỉ liệt kê các cập nhật đáng chú ý của các lớp lõi.

  • Binding

    • Binding#local_variables không còn bao gồm các tham số được đánh số. Ngoài ra, Binding#local_variable_getBinding#local_variable_set từ chối xử lý các tham số được đánh số. [Bug #21049]
  • IO

    • IO.select chấp nhận +Float::INFINITY+ làm đối số timeout. [Feature #20610]
  • String

Cập nhật thư viện chuẩn

Lưu ý: Chúng tôi chỉ liệt kê các cập nhật đáng chú ý của thư viện chuẩn.

  • ostruct 0.6.1
  • pstore 0.2.0
  • benchmark 0.4.0
  • logger 1.7.0
  • rdoc 6.13.1
  • win32ole 1.9.2
  • irb 1.15.2
  • reline 0.6.1
  • readline 0.0.4
  • fiddle 1.1.6

Vấn đề tương thích

Lưu ý: Không bao gồm các bản sửa lỗi tính năng.

Vấn đề tương thích thư viện chuẩn

Cập nhật C API

JIT

  • YJIT
    • Thống kê YJIT
      • ratio_in_yjit không còn hoạt động trong bản build mặc định. Sử dụng --enable-yjit=stats khi configure để kích hoạt nó với --yjit-stats.
      • Thêm invalidate_everything vào thống kê mặc định, được tăng lên khi mọi mã bị vô hiệu hóa bởi TracePoint.
    • Thêm các tùy chọn mem_size:call_threshold: cho RubyVM::YJIT.enable.
  • ZJIT
    • Thêm trình biên dịch JIT dựa trên phương thức thử nghiệm. Sử dụng --enable-zjit khi configure để kích hoạt hỗ trợ --zjit.
    • Tính đến Ruby 4.0.0-preview2, ZJIT chưa sẵn sàng để tăng tốc hầu hết các benchmark. Vui lòng chưa đánh giá ZJIT vội. Hãy chờ bản phát hành Ruby 4.0.
  • RJIT
    • --rjit đã bị loại bỏ. Chúng tôi sẽ chuyển triển khai API JIT bên thứ ba sang kho lưu trữ ruby/rjit.

Thay đổi khác

Xem NEWS hoặc nhật ký commit để biết thêm chi tiết.

Với những thay đổi này, 3607 tệp thay đổi, 197451 thêm(+), 285607 xóa(-) kể từ Ruby 3.4.0!

Tải về

  • https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.tar.gz

    SIZE: 23444451
    SHA1: 132e450bbee3f61ed0b463ed1e2bd3a3a324339c
    SHA256: 0a3330dae710302e11f7f0323e83219ab3c6517984691a312c662f329c5120e1
    SHA512: b5e681cc84be59148485b9a2212dcf54d61cfee27431ceddb49bedc8baa913ec8b36da43242cb4f1791b25e4bfc1dcf72b5527288a0656f2933da898d0e0b40f
    
  • https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.tar.xz

    SIZE: 17554228
    SHA1: f8e8b98ea85ac82610ab601a21dc9a90c5c56a97
    SHA256: 0b92b15466d77a9d7e59e4a75f050d42cd50fe96c951d2b3b9f8029394cd9a43
    SHA512: 7afaa8d8e832ef0ded28f1caf874da69f16105e1b3aad5947c6911364159b4c6ebd3d7ea5d7d86708e9f2f06a047921b8302ca6e75ec429a3da846845f896976
    
  • https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.zip

    SIZE: 28933540
    SHA1: 48a235cfbfd4252dce81da870c792e32309e62b9
    SHA256: f5c68ee44dfcb76b61c07c437fa945814dfc516570b1c921506ac886960160ca
    SHA512: 508c685e46a641c74e2968daf650559503ce2bcaac3403654713adb2345c3ede2bace929294a1367afecac5edd6b2c42fa833f5313456f78c79151d310c860cf
    

Ruby là gì

Ruby được phát triển lần đầu bởi Matz (Yukihiro Matsumoto) vào năm 1993, và hiện được phát triển dưới dạng Mã nguồn Mở. Nó chạy trên nhiều nền tảng và được sử dụng trên toàn thế giới, đặc biệt cho phát triển web.

Tin mới nhất

Phát hành Ruby 4.0.0

Chúng tôi vui mừng thông báo phát hành Ruby 4.0.0. Ruby 4.0 giới thiệu “Ruby Box” và “ZJIT”, cùng nhiều cải tiến khác.

Đăng bởi naruse vào 25 Dec 2025

Diện mạo mới cho tài liệu Ruby

Tiếp theo việc thiết kế lại ruby-lang.org, chúng tôi có thêm tin vui để kỷ niệm 30 năm Ruby: docs.ruby-lang.org có diện mạo hoàn toàn...

Đăng bởi Stan Lo vào 23 Dec 2025

Thêm Tin...