Perubahan dalam Fedora 40 Bagi Pengembang

PyTorch

Fedora 40 adalah rilis Fedora pertama yang menyediakan PyTorch, suatu kerangka kerja machine learning yang berbasis pada pustaka Torch, dipakai untuk aplikasi seperti visi komputer dan natural language processing, aslinya dikembangkan oleh Meta AI dan kini bagian dari payung Linux Foundation. Itu adalah perangkat lunak bebas dan sumber terbuka yang dirilis di bawah lisensi BSD yang dimodifikasi.

Menyediakan PyTorch sebagai suatu paket Fedora berarti pengguna kini bisa memakai DNF untuk memasang sebagai pengganti pip. Versi awal yang disediakan di Fedora 40 adalah 2.1.2. Untuk memasang, jalankan dnf install python-torch.

Untuk mulai memakai PyTorch, lihat dokumentasi resmi. Mereka yang khususnya tertarik pada PyTorch dalam Fedora - pengembang, pemaket, pengguna akhir, dan seterusnya - bisa bergabung ke PyTorch Fedora Special Interest Group.

PHP 8.3

Stack untuk interpreter bahasa pemrograman PHP telah ditingkatkan ke versi 8.3, yang menyediakan berbagai perbaikan kutu dan peningkatan. Perubahan penting termasuk:

  • Penentuan tipe eksplisit dari konstanta kelas

  • Pengambilan konstanta kelas yang dinamis

  • Atribut #[\Override] baru

  • Klon mendalam dari properti hanya baca

  • Fungsi json_validate() baru

  • Metode Randomizer::getBytesFromString() baru

  • Linter baris perintah mendukung beberapa berkas

Untuk cakupan lengkap pembaruan, lihat catatan rilis hulu.

Golang 1.22

Fedora 40 menyediakan Golang versi 1.22. Lihat catatan rilis hulu untuk daftar perubahan lengkap.

Mempensiunkan Python 3.7

Dimulai pada rilis ini, Python versi 3.7 dianggap pensiun tanpa pengganti karena dianggap Akhir Masa Hidup sejak Juni 2023.

LLVM 18

Semua sub proyek LLVM telah diperbarui ke versi 18, yang termasuk perubahan versi soname bagi pustaka llvm. Paket kompatibilitas clang17, llvm17, dan lld17 telah ditambahkan untuk memastikan bahwa paket yang saat ini bergantung pada pustaka clang dan llvm versi 17 akan terus bekerja.

Perubahan penting lain termasuk:

  • clang akan meng-emit DWARF-5 secara baku sebagai pengganti DWARF-4. Ini cocok dengan baku hulu. Fedora telah memakai DWARF-4 sebagi baku bagi beberapa rilis terakhir karena https://bugzilla.redhat.com/show_bug.cgi?id=2064052.

  • Paket kompatibilitas kini akan menyertakan konten yang sama dengan paket utama. Dalam rilis sebelumnya, paket kompatibilitas hanya memuat pustaka dan header, sedangkan biner dan konten lain dibuang. Paket ini akan didukung untuk dipakai sebagai kebergantungan bagi paket RPM lain, tapi tidak untuk penggunaan umum oleh pengguna akhir. Pengguna Fedora mesti memakai Clang/LLVM 18.

  • Paket kompatibilitas yang ditambahkan untuk Fedora 40 akan dipensiunkan sebelum cabang Fedora 41.

  • Kami akan memfungsikan Fat LTO dalam redhat-rpm-config bila fitur ini lengkap pada waktunya bagi rilis LLVM 18 hulu. Fat LTO adalah suatu fitur yang mengizinkan compiler menghasilkan pustaka yang memuat bitcode LTO bersamaan dengan kode biner ELF tradisional sehingga pustaka bisa di-link dalam mode LTO dan non-LTO. gcc juga mendukung fitur ini dan telah memfungsikannya dalam Fedora. Dalam Fedora 39 dan yang lebih tua, dengan LTO difungsikan, clang menghasilkan biner dengan bitcode LTO saja, sehingga kita perlu menjalankan suatu skrip pasca pemrosesan (brp-llvm-compile-to-elf) pada pustaka untuk mengonversi mereka ke kode ELF sehingga mereka dapat dipakai oleh paket-paket lain. Memfungsikan Fat LTO memungkinkan Proyek Fedora untuk menghapus skrip ini dan menyederhanakan proses build.

Lihat catatan rilis hulu untuk rincian.

Pembaruan toolchain GNU

Koleksi Compiler GNU, Utlitas Biner GNU, Pustaka C GNU, dan Debugger GNU menyusun bagian inti dari Toolchain GNU dan itu berguna bagi pengguna kami untuk transisi komponen ini sebagai suatu implementasi lengkap ketika membuat suatu rilis baru dari Fedora.

Komponen dari Toolchain GNU (gcc, glibc, binutils, gdb) telah diperbarui ke versi-versi berikut dalam Fedora 40:

Boost 1.83

Fedora 40 menyertakan Boost 1.83. Untuk informasi lebih lanjut, lihat catatan rilis hulu.

Ruby 3.3

Bahasa Ruby telah diperbarui ke versi 3.3 dalam Fedora 40, naik dari versi 3.2 yang disediakan dalam rilis Fedora sebelumnya. Versi baru menambahkan parser baru bernama Prism, memakai Lrama sebagai generator parser, menambahkan compiler JIT murni Ruby bernama RJIT, dan menyediakan banyak peningkatan kinerja, khususnya YJIT.

Untuk rincian lengkap, lihat BERITA hulu dan pengumuman rilis.

java-21-openjdk sebagai JDK sistem

JDK sistem telah diperbarui dari versi 17 ke versi 21 dalam Fedora 40.

Untuk lebih banyak informasi tentang Java 21, lihat catatan rilis JDK 21, dan panduan migrasi.

Lihat juga Halaman perubahan untuk FAQ cepat tentang perubahan ini.

Mempensiunkan Pipenv

Mulai rilis ini, pipenv tidak lagi dipaketkan dalam Fedora dan usang, sehingga mungkin dihapus selama proses peningkatan.

Pengembang yang masih perlu memakai pipenv dapat memasangnya secara langsung dari pip dengan pip install --user pipenv.