v2.0 RC16
2.0.0-rc.16
- Codename
- Public Pilot
- Tanggal build
- 21 September 2026
- Generasi
- Laravel
- Status
- Release Candidate
Halaman ini mencatat perubahan besar, teknologi, dan kesiapan CodePlay 32 secara transparan. Setiap versi mewakili langkah baru untuk membuat belajar coding lebih ramah bagi siswa SMP.
v2.0 RC16
2.0.0-rc.16
Setiap pengembangan yang sudah terpasang dicatat di sini agar siswa dan pembina dapat mengikuti perubahan CodePlay 32.
Beranda, halaman versi, dan health endpoint pada codeplay32.web.id merespons HTTPS 200 melalui named tunnel production.
Secret pengirim verifikasi hanya tersimpan pada environment shared. Pengiriman langsung dari Laravel ke alamat uji berhasil tanpa failed job atau error aplikasi.
Hostname codeplay32.web.id diarahkan ke tunnel khusus production dan connector akan aktif kembali otomatis setelah reboot Ubuntu.
Credential tunnel disimpan di /etc/cloudflared dengan akses terbatas, sementara service hanya memiliki kebutuhan jaringan dasar untuk menjangkau origin lokal dan edge Cloudflare.
Release mewarisi grup www-data melalui setgid, shared storage tetap dapat ditulis, dan aktivasi host berhenti jika konfigurasi Nginx atau smoke test domain gagal.
Kode, dependency, aset, migration, dan cache disiapkan di release directory baru. Symlink current baru berpindah setelah seluruh tahap kritis lulus.
Jika build atau migration gagal, target current tidak berubah dan aplikasi aktif sebelumnya otomatis dikembalikan dari maintenance mode.
Node.js, npm, direktori rilis, shared storage, backup, dan log disiapkan konsisten tanpa mengubah secret yang sudah ada saat skrip dijalankan ulang.
MariaDB menggunakan database codeplay32 dan akun codeplay32_app yang hanya memperoleh hak pada database aplikasi. Password acak disimpan dengan izin ketat dan tidak dicetak ke terminal.
APP_URL, host validation, Nginx, cookie aman, tautan email, DNS, dan named Cloudflare Tunnel memakai domain publik yang sama serta telah lulus smoke test HTTPS.
Bentuk C dan aksen progres neon aqua dipertahankan dari lembar eksplorasi v3 tanpa diganti menjadi ikon coding generik.
Segmen putih digunakan pada latar gelap, sedangkan varian navy digunakan pada latar terang. Bentuk dan proporsi monogram tetap sama.
Browser, shortcut perangkat, dan manifest web kini memakai monogram yang sama dalam wadah navy agar tetap terbaca pada ukuran kecil.
Ikon placeholder sebelumnya diganti dengan komponen brand reusable sambil mempertahankan wordmark CODEPLAY 32 agar nama produk tetap langsung terbaca.
Dua puluh pengguna virtual menyelesaikan 260 request login, draft, progres, feed, forum, komentar, vote, dan logout dari cold start dengan concurrency 10 serta p95 236,22 ms.
Penguncian gap yang tidak diperlukan dihapus setelah row pengguna terkunci, sehingga insert progres siswa berbeda tidak saling deadlock. Retry transaksi tetap dipertahankan.
Draft, completion, posting, dukungan, komentar, forum, vote, dan tindakan akun memakai bucket terpisah per pengguna. Satu jaringan sekolah tidak lagi dianggap sebagai satu siswa.
View production diprecompile tanpa pemeriksaan timestamp saat request. Kompilasi pertama juga memakai lock lintas-thread agar cold start Apache Windows tidak memicu race rename cache.
Preflight PHP 8.5, template Nginx, environment production, queue worker, dan scheduler systemd telah disiapkan tanpa menurunkan kebutuhan runtime.
Jumlah stage selesai dan stage via asesmen kini dirender dengan blok tampilan yang aman tanpa membocorkan directive Blade.
Setiap modul hanya dapat dilewati setelah quiz acak minimal 80% dan seluruh target praktik stage penutup terpenuhi.
Hasil penempatan disimpan terpisah dari progres stage dan quiz reguler. Tidak ada XP, badge, atau kode praktik yang disimpan.
Asesmen dilakukan berurutan. Stage yang dilewati tetap dapat dipelajari opsional dan baru memberi XP setelah benar-benar diselesaikan.
Loading lazy dan sandbox diperiksa secara terpisah pada iframe yang sama, sehingga siswa mengetahui atribut mana yang masih harus diperbaiki.
Tujuan Stage 26 sekarang meminta siswa mencari baris rusak pertama, memperbaikinya, lalu memeriksa ulang hasil.
Course CSS kini memiliki 31 stage dengan unit positioning dan z-index, pola nth-child, serta dekorasi before dan after. Sticky tersedia sebagai eksplorasi tanpa reward rutin.
Migrasi transaksional memindahkan progres, draft, komentar, dan baseline stage lanjutan bersama kontennya. Siswa tetap kembali ke materi yang sama.
Artisan memperoleh dimensi terminal tetap khusus proses CLI Windows. Symfony tidak lagi memanggil stty atau mode CON ketika health monitor berjalan melalui php-win.exe.
Script inline tepercaya dan CSS dinamis CodeMirror memperoleh nonce per request. Sumber script, style, gambar, koneksi, frame, media, worker, dan form dibatasi secara eksplisit.
JavaScript, CSS, robots.txt, dan file publik lain kini menerima nosniff, referrer policy, serta cross-origin resource policy walaupun tidak melewati middleware Laravel.
Laravel tidak lagi memakai penyimpanan environment process-wide pada Apache Windows multi-thread. Nilai konfigurasi tetap terisolasi pada setiap request dan production menggunakan config cache.
Front controller menghentikan request dengan 503 apabila config cache dan file environment sama-sama tidak tersedia, sehingga aplikasi tidak diam-diam mencoba database default.
Permukaan publik dan area pengguna diuji dengan OWASP ZAP memakai akun tester terisolasi, backup tervalidasi, serta pembersihan artefak setelah scan.
HTML dan CSS tidak lagi tampil berdampingan: hanya file pada tab aktif yang dirender selebar area editor. Course CSS membuka style.css lebih dulu, menyediakan skala kode 100%, 85%, 70%, atau 50%, dan tetap memiliki mode layar penuh.
Pemeriksaan pertama yang berhasil kini ikut dihitung sehingga tingkat kesulitan tidak lagi dinilai hanya dari jumlah kegagalan. Kode siswa tetap tidak disimpan.
Stage baru dapat direkomendasikan setelah sedikitnya 10 pemeriksaan dari 3 siswa dan rasio gagal minimal 40%. Data internal saat rilis masih kosong.
Sebanyak 800 request dengan 25 pengguna serentak selesai tanpa kegagalan; p95 terburuk 255 ms. Login massal dan operasi tulis belum termasuk.
Database, storage, disk, queue, backup, monitor, dan runtime diperiksa melalui task tersembunyi tanpa membuka jendela terminal.
Backup baru menghasilkan SHA-256 pendamping dan diverifikasi dengan membaca isi gzip serta keberadaan skema SQL.
Backup final berhasil memulihkan 28 tabel ke database sementara lalu membersihkannya otomatis tanpa mengubah database aktif.
Nomor versi awal direkonstruksi dari tonggak pengembangan sebelum sistem versioning resmi diterapkan.
Prototipe login, dashboard, dan jalur belajar dasar mulai dibentuk.
Stage, editor kode, pemeriksaan misi, dan live preview hadir sebagai inti pengalaman belajar.
XP, peringkat, badge, level, dan streak ditambahkan untuk membuat progres lebih terasa.
Profil, foto, tema, postingan, feed, komentar, forum, vote, dan notifikasi mulai terhubung.
Cheatsheets, course terpisah, serta materi dan misi HTML yang lebih komprehensif dikembangkan.
Seluruh fitur utama versi awal menyatu dan menjadi dasar untuk modernisasi berikutnya.
Arsitektur, database, autentikasi, keamanan, dan antarmuka dipindahkan secara bertahap ke Laravel.
Versi uji publik dibuka melalui HTTPS dengan SMTP nyata, database terisolasi, dan alur kritis yang terverifikasi.
Interaksi feed diperdalam dengan komentar posting, notifikasi, moderasi, serta perbaikan responsif pada modal, menu akun, dan contoh kode.
Pengguna dapat memulihkan akun melalui tautan reset password yang dikirim ke email terdaftar dengan token sekali pakai.
Course HTML diperluas menjadi 28 stage dengan validator ketat, variasi latihan, rubrik proyek, peta penguasaan, dan editor mobile yang lebih nyaman.
Enam quiz modul ditambahkan dengan bank 10 soal, paket acak lima soal, syarat lulus 80%, pembahasan jawaban, dan penguncian progres di server.
Quiz kini memiliki batas lima menit yang diverifikasi server, hadiah XP sekali per modul, timeout otomatis, dan pilihan jawaban yang lebih seimbang.
Enam badge kompetensi resmi diperkenalkan dengan bukti quiz, challenge, proyek, kualitas kode, kontribusi komunitas, dan verifikasi pembina.
Mesin belajar digeneralisasi agar setiap course dapat memiliki modul, quiz, validator, materi, editor, dan peta penguasaannya sendiri tanpa bergantung pada HTML.
Course CSS dibuka dengan 15 stage dalam tiga modul, editor dua berkas, live preview, validator CSS, tiga quiz, dan cheatsheet visual yang ramah pemula.
Course CSS dituntaskan menjadi 28 stage dalam enam modul dengan Grid, layout fluid, motion aksesibel, debugging, audit, capstone, enam quiz, dan peta mastery.
Editor latihan ditingkatkan ke CodeMirror 6 dengan pewarnaan sintaks, nomor baris, pasangan tag, lint ramah pemula, dukungan mobile, dan fallback textarea tanpa mengubah validator resmi.
Feedback misi dibuat menetap dan bertingkat, Stage 2 dirancang ulang dengan diagram nesting serta identifier bebas, dan baseline kesulitan mulai dikumpulkan tanpa menyimpan kode siswa.
Baseline memakai rasio berhasil-gagal dan ambang sampel, jalur baca melewati uji beban, monitoring lima menit aktif, serta backup ber-checksum lulus recovery drill terisolasi.
Bootstrap environment dibuat aman untuk Apache Windows multi-thread, aplikasi gagal tertutup ketika konfigurasi hilang, jalur PHP-CGI diblokir pada virtual host, dan pengujian ZAP autentik ditambahkan.
CSP berbasis nonce diterapkan pada script dan editor, sumber konten dibatasi per jenis, header aset statis diperkuat, dan pemindaian DOM-XSS berbasis Chrome diselesaikan.
Perintah Artisan terjadwal di Windows tidak lagi menjalankan deteksi terminal melalui CMD, sehingga monitoring, backup, dan pembersihan berjalan tanpa jendela konsol berkedip.
Diagnosis misi HTML dibuat lebih spesifik dan CSS diperdalam menjadi 31 stage dengan positioning, selector struktural, serta pseudo-element tanpa merusak progres yang sudah tersimpan.
Fast-track per modul menguji lima soal dan praktik nyata, mencatat pengecualian secara terpisah, serta membuka jalur berikutnya tanpa XP, badge, atau progres stage palsu.
Ringkasan progres pada katalog course dirapikan agar kondisi asesmen dirender sebagai informasi pengguna, bukan terlihat sebagai sintaks template.
Jalur login dan operasi tulis diuji dengan sesi nyata, transaksi progres diperkuat, throttle dipisahkan per fitur, dan rendering production diamankan untuk akses kelas serentak.
Monogram pilihan 9 menjadi identitas utama CodePlay 32 dengan aset transparan, varian terang-gelap, favicon, app icon, serta penerapan konsisten di navbar, landing, dan footer.
Fondasi server Ubuntu untuk domain codeplay32.web.id disiapkan dengan bootstrap idempotent, akun MariaDB terbatas, secret database yang tidak dicetak, environment shared, dan struktur rilis yang dapat di-rollback.
Deployment Ubuntu memakai release directory terisolasi, build production, migration terkontrol, maintenance recovery, dan perpindahan symlink atomik agar pembaruan dapat diuji sebelum menjadi rilis aktif.
Named Cloudflare Tunnel menghubungkan codeplay32.web.id ke origin Ubuntu melalui connector non-root, credential terbatas, service otomatis, dan Host origin tervalidasi.
Domain permanen lulus pemeriksaan HTTPS publik, SMTP production berhasil mengirim email nyata, serta queue, scheduler, Nginx, PHP-FPM, tunnel, dan health endpoint terverifikasi aktif.
Fondasi aplikasi dan keamanan
Mesin aplikasi modern
Data belajar dan komunitas
Tampilan responsif dan editor kode interaktif
CodePlay 32 tumbuh sebagai ruang untuk belajar, mencoba, salah, memperbaiki, lalu berani membagikan karya.