Erlang 29, bahasa pemrograman fungsional yang dirancang untuk mengembangkan aplikasi terdistribusi dan toleran terhadap kesalahan yang mendukung pemrosesan paralel dan waktu nyata, telah dirilis. Bahasa ini telah banyak diadopsi di berbagai bidang seperti telekomunikasi, perbankan, e-commerce, telepon komputer, dan pesan instan. OTP 29 (Open Telecom Platform), seperangkat pustaka dan komponen pendamping untuk mengembangkan sistem terdistribusi di Erlang, dirilis secara bersamaan.
Inovasi utama:
- Layanan shell dan exec, serta subsistem SFTP, dinonaktifkan secara default di server SSH. Eksekusi kode Erlang oleh pengguna terautentikasi melalui SSH sekarang memerlukan perubahan konfigurasi. Algoritma pertukaran kunci hibrida mlkem768x25519-sha256 diaktifkan secara default di SSH.
- Konfigurasi default pustaka SSL menetapkan prioritas tertinggi pada algoritma pertukaran kunci hibrida tahan kuantum "x25519mlkem768", yang merupakan kombinasi dari X25519 ECDH dan algoritma ML-KEM (CRYSTALS-Kyber).
- Atribut "-unsafe" telah ditambahkan untuk menandai fungsi sebagai tidak aman. Di pustaka Erlang/OTP, fungsi-fungsi tersebut ditandai, dan kompiler sekarang mengeluarkan peringatan untuknya. Kemampuan untuk melacak panggilan ke fungsi yang tidak aman dan fungsi tanpa dokumentasi melalui xref telah ditambahkan.
- Untuk memastikan pengoperasian yang benar dari alat bantu pembuatan pihak ketiga seperti Rebar3, penyaringan panggilan yang diabaikan (ignore_xref) sekarang dilakukan langsung di dalam xref.
- Menambahkan modul ct_doctest untuk pengujian otomatis contoh kode dari dokumentasi.
- Menambahkan modul io_ansi untuk membuat aplikasi konsol yang mendukung substitusi urutan ANSI (Virtual Terminal Sequences) ke dalam terminal, misalnya, untuk mengubah gaya dan warna teks.
- Saat mencari jalur file dengan kode (PATH), direktori saat ini (".") telah dipindahkan dari posisi pertama ke posisi terakhir dalam daftar dan sekarang diperiksa terakhir.
- Menghentikan pembuatan assembly 32-bit untuk Windows.
- Tipe data terpisah yang lengkap untuk record (native record, EEP-79) telah diimplementasikan, yang dapat digunakan sebagai pengganti record tradisional yang dibangun berdasarkan tuple.
- Menambahkan pemeriksa "is_integer/3" untuk memeriksa apakah bilangan bulat berada dalam suatu rentang (misalnya, "is_integer(I, 0, 100)").
- Menerapkan list comprehension bernilai ganda (EEP-78) yang mengembalikan beberapa item per iterasi (misalnya, "[-I, I || I 42 || K
Sumber: opennet.ru
