Kejujuran pra-1.0

Rilis dev bulanan dev-2026-10 dan versi 1.0 yang diumumkan untuk Januari 2027.

Daftar isi

Topik ini menjelaskan status rilis Odin pada saat jalur ini ditulis beserta arti praktis status pra-1.0 bagi proyek yang menggunakannya. Pembahasan mencakup pola rilis dev bulanan, cara membaca string versi yang ditampilkan compiler, rencana versi 1.0 yang diumumkan proyek, dan langkah menyematkan satu rilis dev agar proyek tetap stabil. Setelah topik ini dibaca, keputusan tentang versi compiler dapat dibuat dengan dasar yang jelas dan bukan dengan dugaan.

Rilis dev bulanan#

Odin tidak menerbitkan versi stabil tahunan seperti bahasa yang sudah mencapai 1.0. Compiler dirilis sebagai rilis dev bulanan dengan pola penamaan dev-YYYY-MM, misalnya dev-2026-10, ditambah build nightly yang dibangun otomatis dari commit terbaru. Halaman releases GitHub memperlihatkan deretan rilis bulanannya, yaitu dev-2026-09 pada awal September, dev-2026-10 pada 6 Oktober 2026, dan dev-2026-11 pada awal November 2026. Awalan dev menegaskan statusnya sebagai lini pengembangan, sedangkan angkanya menunjukkan tahun serta bulan penerbitannya. Jalur ini memakai lini dev-2026-10, dan binari pada lingkungan jalur ini merupakan build nightly dari lini tersebut.

Perintah berikut menampilkan versi compiler yang terpasang.

bash
odin version
text Keluaran
odin version dev-2026-10-nightly:84bc3fc

Keluaran odin version memuat nama perintahnya diikuti nilai versinya, yaitu dev-2026-10-nightly:84bc3fc. Nilai tersebut terbaca dari kiri ke kanan sebagai tiga bagian. Bagian pertama adalah lini rilis dev-2026-10, bagian kedua adalah penanda nightly, dan bagian ketiga adalah commit 84bc3fc yang menjadi dasar binari tersebut. Halaman releases GitHub mencatat rilis dev-2026-10 dengan commit yang sama pada 6 Oktober 2026, sehingga binari nightly pada lingkungan jalur ini persis mengikuti isi rilis bulanannya. Bila binari pada mesin lain menampilkan string yang berbeda, perbedaannya berada pada bagian penanda dan commit tersebut.

Versi 1.0 dan rencananya#

Proyek Odin mengumumkan rencana penerbitan versi 1.0 pada Januari 2027. Status 1.0 menandai implementasi compiler utama yang patuh pada spesifikasi bahasa dan teruji secara luas, sebagaimana dinyatakan dalam FAQ resmi proyek, dan bukan sekadar penomoran baru. Karena itu, sampai target tersebut tiba, seluruh pengguna bekerja pada lini pra-1.0 dengan semua kebebasan dan risikonya. Bagi yang baru mempelajari bahasanya, status pra-1.0 tidak mengubah cara menulis program, tetapi mengubah cara mengelola versi alat.

Pengumuman kemajuan proyek, newsletter bulanan, dan catatan rilis dipublikasikan pada saluran resmi yang sama, yaitu halaman news odin-lang.org dan halaman releases GitHub. Kedua halaman itulah titik pemantauan untuk memastikan rencana tersebut masih berlaku ketika topik ini dibaca. Tanggal target pada fase pra-1.0 dapat bergeser, dan pembacaan ulang saluran resmi lebih dapat diandalkan daripada ingatan terhadap pengumuman.

Arti praktis untuk produksi#

Status pra-1.0 berarti API belum dijanjikan stabil antar-rilis dev. Perubahan yang memutus kompatibilitas (breaking changes) tetap muncul antar-bulan, sebagaimana dicatat newsletter resmi November 2026 yang menyebut beberapa perubahan yang memutus kompatibilitas pada rilis dev-2026-11. Program yang dikompilasi ulang dengan compiler yang berpindah bulan dapat berhenti berjalan tanpa satu baris kode pun yang diubah, sehingga perpindahan rilis harus menjadi keputusan yang disengaja.

Perpindahan antar-lini tetap mudah dinilai karena setiap rilis menyertakan catatan perubahannya. Halaman releases GitHub memuat daftar perubahan untuk setiap tag beserta tautan pembanding antara dua tag, misalnya pembanding dev-2026-10 menuju dev-2026-11. Newsletter bulanan merangkum perubahan yang paling berdampak, sehingga dua sumber tersebut cukup untuk menilai risiko perpindahan sebelum keputusannya diambil.

Karena itu, proyek yang mengandalkan Odin menyematkan (pin) satu rilis dev untuk seluruh anggota dan lingkungan build, lalu berpindah rilis secara terencana setelah membaca catatan rilisnya. Penyematan cukup dilakukan dengan menyimpan arsip rilis yang sama untuk semua mesin, misalnya arsip odin-linux-amd64-dev-2026-10.tar.gz untuk Linux AMD64. Cara ini menjaga perilaku kompilasi tetap identik dari mesin ke mesin selama lini rilisnya sama.

Compiler juga memperlihatkan lini rilisnya kepada program melalui konstanta waktu kompilasi. Program berikut mencetak versi compiler, sistem operasi, dan arsitektur yang menangani kompilasinya.

odin main.odin
package main

import "core:fmt"

main :: proc() {
	fmt.println("versi compiler:", ODIN_VERSION)
	fmt.println("sistem operasi:", ODIN_OS)
	fmt.println("arsitektur:", ODIN_ARCH)
}
bash
# jalankan program dari direktori topik
odin run main.odin -file
text Keluaran
versi compiler: dev-2026-10
sistem operasi: Linux
arsitektur: amd64

Konstanta ODIN_VERSION memuat lini rilis dev-2026-10, sedangkan perintah odin version menampilkan identitas binari lengkap hingga akhiran nightly. Konstanta ODIN_OS dan ODIN_ARCH mengikuti mesin yang menangani kompilasi, sehingga keluarannya berbeda bila program dikompilasi di tempat lain. Konstanta-konstanta itu dibaca saat kompilasi tanpa memerlukan pustaka tambahan, sehingga program yang dikompilasi ulang pada lini berbeda dapat menyebut asalnya sendiri. Nilai-nilai ini berguna untuk mencatat asal binari pada log build, misalnya dengan mencetak lini versi compiler pada awal setiap build.

Ringkasan#

  • Odin dirilis sebagai rilis dev bulanan berpola dev-YYYY-MM, ditambah build nightly dari commit terbarunya.
  • Lingkungan jalur ini memakai binari nightly dari lini dev-2026-10, dan odin version menampilkannya sebagai dev-2026-10-nightly:84bc3fc.
  • Versi 1.0 diumumkan proyek untuk Januari 2027, dan sampai versi tersebut tiba, API dapat berubah antar-rilis dev, sehingga proyek disarankan menyematkan satu rilis dev.

Referensi#