18 Apr 2026 327 kali dibaca
1.0 dan Janji yang Berat
Rust 1.0 rilis 15 Mei 2015. Yang berat bukan kompiler, bukan ekosistem. Yang berat adalah janji yang dibuat tim kepada penggunanya.
15 Mei 2015. Rust 1.0 rilis.
Tim sudah lama menahan napas. Sejak 2014, mereka tahu satu hal: setelah 1.0, segalanya akan berubah. Bukan tentang fitur baru. Tentang janji.
Janji itu disebut stability without stagnation. Setiap kode yang berjalan di Rust 1.0 harus tetap berjalan di Rust 1.x mendatang — tanpa modifikasi, selamanya.
Janji yang berat. Sebelum 1.0, tim bebas membongkar API, mengubah sintaks, menukar trait. Setelah 1.0, setiap perubahan harus aditif. Sebuah fitur yang merusak kode existing hanya boleh masuk lewat edition — versi opt-in yang programmer pilih dengan sengaja di Cargo.toml.
Edition pertama adalah 2015. Lalu 2018, 2021, 2024. Setiap edition membawa perubahan yang tidak bisa diakomodasi tanpa breaking change — closure capture rules, await syntax, ergonomic improvements — tapi kode lama tetap bisa kompil tanpa upgrade edition.
Cara Rust merilis fitur baru juga belajar dari kesalahan komunitas lain. Setiap perubahan signifikan masuk lewat RFC (Request for Comments) di GitHub. Diskusi publik, sering ratusan komentar, kadang berbulan-bulan. Saat RFC diterima, fitur masuk ke nightly Rust dengan flag eksperimental. Dipakai komunitas. Diuji. Lalu di-stabilkan setelah cukup matang.
async/await butuh hampir empat tahun dari proposal awal sampai stable di Rust 1.39 (November 2019). Saat sudah stabil, ia tidak akan bergerak lagi.
Apa yang dihadapi tim Rust adalah dilema yang dialami semua bahasa modern: bagaimana berkembang tanpa mengkhianati pengguna. C++ memilih kompatibilitas mutlak, dan terbebani kompleksitas warisan. Python 2-ke-3 memilih breaking change, dan komunitas pecah selama satu dekade.
Rust memilih jalur ketiga: edition system + stability promise.
Hari rilis 1.0, dokumentasi sudah lengkap. Buku "The Rust Programming Language" sudah ada, ditulis oleh Steve Klabnik dan Carol Nichols. Cargo dan crates.io sudah jalan. Standard library sudah punya bentuk yang sekarang kita kenal.
Tetapi ekosistem masih kecil. Hanya sekitar 1.500 crate di crates.io waktu itu. Tahun 2026, sudah lebih dari 150.000.
Yang membuat 1.0 bekerja bukan jumlah fitur — Rust 1.0 sebenarnya kekurangan banyak hal yang sekarang fundamental. Tidak ada ? operator. Tidak ada impl Trait. Tidak ada async. Tidak ada const generics. Semua datang setelahnya, lewat proses RFC yang lambat dan sabar.
Yang membuat 1.0 bekerja adalah komitmen: kami akan jaga kompatibilitas, kami akan rilis tiap enam minggu seperti jam, kami akan dokumentasikan setiap perubahan.
Sembilan tahun kemudian, tim masih menepati semua tiga.