Kotlin 2.4.20-Beta2 Perkenalkan Pemulihan Stack Trace Coroutine

Business74 Views

JetBrains merilis Kotlin 2.4.20-Beta2 pada 2 Juli dengan sejumlah pembaruan yang mencakup berbagai platform. Rilis ini menambahkan dukungan eksperimental untuk pemulihan stack trace coroutine melalui antarmuka StackTraceRecoverable di pustaka standar. Fitur tersebut memungkinkan pembuatan instance exception baru untuk pemulihan stack trace tanpa ketergantungan pada kotlinx.coroutines, sehingga mempermudah integrasi dengan pustaka tersebut.

Pemulihan stack trace membantu proses debug ketika satu coroutine melempar exception dan coroutine lain melempar ulang exception tersebut. Pengembang dapat melihat asal exception serta lokasi di mana exception itu dilempar ulang. Pendekatan ini relevan dalam pengembangan aplikasi yang menggunakan konkurensi tinggi, karena stack trace yang lengkap mengurangi waktu yang diperlukan untuk mengidentifikasi akar masalah.

Selain itu, Kotlin 2.4.20-Beta2 mengubah cara Kotlin/Wasm menangani panggilan require() tingkat atas dalam deklarasi @JsFun. Rilis ini juga menyelaraskan urutan inisialisasi companion object dengan perilaku JVM, di mana companion object superclass diinisialisasi sebelum subclass. Penyelarasan ini mengurangi inkonsistensi perilaku lintas platform yang sebelumnya dapat terjadi.

Dukungan pewarisan lintas bahasa untuk ekspor Swift juga diperkenalkan. Fitur ini mendukung pola impor terbalik, di mana kontrak didefinisikan di Kotlin dan implementasi spesifik platform disediakan di sisi Swift. Untuk Kotlin/JS, rilis ini menghadirkan DSL eksperimental untuk pengujian browser serta dukungan ekspor suspend lambda sebagai fungsi asinkron JavaScript.

Empat fungsi baru untuk memeriksa elemen koleksi juga tersedia secara eksperimental. Fungsi allDistinct(), allDistinctBy(), allEqual(), dan allEqualBy() dapat diterapkan pada koleksi, sekuens, dan array dengan menggunakan kesetaraan struktural. Sebelumnya, pemeriksaan serupa memerlukan pola kode yang kurang efisien.

Rilis pertama image native compiler Kotlin juga disertakan. Image ini berfungsi sebagai pengganti perintah kotlinc standar dengan waktu mulai yang lebih cepat dan performa lebih tinggi. Karena bersifat eksperimental, image ini membuka peluang bagi pengembang untuk menguji dampaknya terhadap alur kerja build sehari-hari.

Dari sisi dampak, penambahan StackTraceRecoverable memperluas kemampuan debug tanpa menambah dependensi eksternal, yang bermanfaat bagi proyek multiplatform yang mengutamakan kesederhanaan dependensi. Selain itu, penyelarasan perilaku inisialisasi companion object dengan JVM meningkatkan prediktabilitas saat kode Kotlin dijalankan di lingkungan yang berbeda, mengurangi risiko bug yang sulit direproduksi.