Rilis Ruby 3.4.0
(ruby-lang.org)-
Seperti tahun-tahun sebelumnya, Ruby 3.4.0 dirilis pada 12/25.
-
Pembaruan utama mencakup penambahan referensi parameter blok
it, penggantian parser default ke Prism, penambahan dukungan Happy Eyeballs Version 2 pada pustaka socket, penyempurnaan YJIT, penambahan GC modular, dan lain-lain. -
Referensi Parameter Blok
it- Diperkenalkan
ityang dapat digunakan untuk mereferensikan parameter blok tanpa nama variabel. Ini bekerja mirip dengan_1dan nyaman digunakan pada blok yang sederhana.
- Diperkenalkan
-
Perubahan ke Prism sebagai Parser Default
- Parser default diubah dari
parse.ymenjadi Prism. Tidak akan ada perubahan besar yang terlihat bagi pengguna; jika ada masalah kompatibilitas, silakan laporkan.
- Parser default diubah dari
-
Happy Eyeballs Version 2 pada Pustaka Socket
- Dukungan untuk Happy Eyeballs Version 2 (RFC 8305) ditambahkan pada pustaka socket. Fitur ini menyediakan koneksi jaringan yang lebih efisien dan andal untuk kondisi internet modern.
-
Penyempurnaan YJIT
- Peningkatan kinerja pada sebagian besar benchmark, pengurangan penggunaan memori, berbagai perbaikan bug, dan penambahan fitur-fitur baru.
-
GC Modular
- Fitur GC modular ditambahkan agar implementasi garbage collector alternatif bisa dimuat secara dinamis. Dibutuhkan toolchain Rust.
-
Perubahan Bahasa
- Pada berkas yang tidak memiliki komentar
frozen_string_literal, perubahan literal string akan memunculkan peringatan. Termasuk juga dukungan keyword splatting**nilserta berbagai perubahan lain.
- Pada berkas yang tidak memiliki komentar
-
Pembaruan Kelas Inti
- Termasuk beberapa pembaruan kelas inti, seperti
Exception#set_backtraceyang sekarang menerima arrayThread::Backtrace::Location.
- Termasuk beberapa pembaruan kelas inti, seperti
-
Pembaruan Pustaka Standar
- Peningkatan kinerja dan penambahan fitur pada berbagai pustaka standar seperti RubyGems, Bundler, JSON, Tempfile, dan sebagainya.
-
Masalah Kompatibilitas
- Termasuk perubahan terkait kompatibilitas, seperti perubahan pesan error dan cara menampilkan backtrace, serta perubahan cara merender
Hash#inspect.
- Termasuk perubahan terkait kompatibilitas, seperti perubahan pesan error dan cara menampilkan backtrace, serta perubahan cara merender
-
Pembaruan C API
- Termasuk pembaruan C API, seperti penghapusan fungsi
rb_newobjdanrb_newobj_of.
- Termasuk pembaruan C API, seperti penghapusan fungsi
-
Perubahan Lainnya
- Berbagai perubahan lain, seperti kemunculan peringatan saat mengirim blok yang tidak dipakai ke suatu metode.
2 komentar
Komentar Hacker News
Antusiasme terhadap perubahan parser Ruby sangat besar. Dulu saya diajari untuk menggunakan yacc, tetapi Ruby kini masuk daftar bahasa yang menggunakan parser yang ditulis tangan.
parse.y16k baris denganprism.c22k baris adalah gerakan yang berani.Ruby 3.4.1 sudah ketinggalan zaman.
Kinerja Ruby dalam beberapa tahun terakhir meningkat secara signifikan. Sejak versi 3.3, menjalankan semua aplikasi dengan opsi
--yjitmembuat perbedaan besar.Strategi Shopify sama dengan kisah YJIT: jika layanan tidak memungkinkan untuk direfaktor, niatnya adalah merefaktor Ruby itu sendiri.
Senang sekali ada peningkatan performa di level JIT dan GC.
Kami sudah berharap rilis Ruby sebagai tradisi menjelang Natal setiap tahun.
Kami memperbarui aplikasi Rails tiap akhir tahun, dan baru-baru ini hal itu menjadi lebih mudah berkat semakin stabil dan performanya yang meningkat.
Mengucapkan selamat dan terima kasih kepada tim Ruby.
Sejak ada kabar tentang Rails 8, saya ingin mencoba Ruby, tetapi akhirnya menyerah karena proses instalasinya terlalu sulit.
html.erbRails di VSCode dan editor lain sepenuhnya rusak.macOS ada skrip yang memudahkan instalasi Rails.
=>
https://rails.new/