Tim Go dengan bangga mengumumkan peluncuran resmi bahasa pemrograman Go versi 1.25. Rilis terbaru ini, yang tiba tepat waktu enam bulan setelah Go 1.24, membawa segudang peningkatan signifikan yang menyentuh hampir setiap sudut toolchain, runtime, dan standard library. Ini bukan kaleng-kaleng, bro, banyak banget fitur keren yang di-bawa kali ini.
Salah satu inovasi paling mencolok adalah penambahan garbage collector (GC) eksperimental baru. Fitur ini dirancang untuk meningkatkan performa saat menangani objek berukuran kecil, yang berpotensi memangkas overhead GC hingga 10-40% dalam beban kerja dunia nyata. Ini mah jelas bikin aplikasi makin ngebut.
Bersamaan dengan itu, hadir pula fitur eksperimental lainnya, yaitu paket encoding/json/v2. Paket ini menjanjikan proses decoding yang lebih cepat dan konfigurasi yang lebih fleksibel. Kedua fitur eksperimental ini bersifat opt-in untuk sementara, memberikan kesempatan bagi para pengembang untuk mencobanya lebih awal dan memberikan masukan sebelum finalisasi.
Go 1.25 juga menghadirkan GOMAXPROCS yang sadar kontainer secara default. Artinya, aplikasi yang berjalan di lingkungan seperti Kubernetes kini dapat secara otomatis menyesuaikan diri dengan batasan CPU tanpa perlu penyesuaian manual. Selain itu, compiler menjadi lebih pintar dengan alokasi slice yang lebih cepat dan informasi debug DWARF5, yang berkontribusi pada pengurangan ukuran biner dan percepatan linking untuk proyek-proksi besar.
Dari sisi tooling, banyak pembaruan yang patut diacungi jempol. Analisis go vet yang baru kini mampu mendeteksi kesalahan umum, dan beberapa peningkatan perintah go juga turut disematkan. Contohnya, kemampuan untuk mengabaikan direktori di go.mod atau meluncurkan server dokumentasi lokal dengan go doc -http. Tak hanya itu, ada juga paket testing/synctest yang benar-benar baru, yang mempermudah pengujian kode konkuren tanpa bikin pusing tujuh keliling.
Terakhir, seperti biasa, terdapat daftar panjang peningkatan pada standard library. Mulai dari peningkatan performa kriptografi hingga pemrosesan ASN.1 yang lebih konsisten, ditambah fitur jaringan dan TLS baru. Dukungan untuk versi macOS yang lebih lama telah dihentikan, dan Go 1.25 menandai perhentian terakhir untuk port Windows/ARM 32-bit yang bermasalah sebelum dihapus secara permanen.
Sumber: https://go.dev/doc/go1.25