# Changelog & Catatan Rilis NekoStay
Semua perubahan, penambahan fitur, dan perbaikan keamanan pada platform NekoStay didokumentasikan di halaman ini mengikuti format [Keep a Changelog](https://keepachangelog.com/id/1.0.0/) dan [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [1.2.0] - 2026-09-30
### Ringkasan Rilis
Pembaruan versi 1.2.0 berfokus pada sinkronisasi skema basis data live, penguatan sistem penanganan error yang ramah pengguna, keandalan hidrasi tampilan pada berbagai ekstensi browser, serta integrasi gateway pembayaran resmi.
### Ditambahkan
- **Sinkronisasi Skema Supabase PostgreSQL 1:1**:
- Penambahan tabel `landing_settings` untuk pengelolaan konten dinamis (Hero, Why Us, Brand Color, Kontak, dan Pengaturan Finansial).
- Penambahan tabel `whatsapp_sessions` untuk persistensi sesi bot WhatsApp berbasis Baileys.
- Penambahan kolom kuota kandang (`total_cages`, `maintenance_cages`) dan gambar kelas (`image_url`) pada tabel `classes`.
- Pelacakan pemakaian poin royalti (`points_used`) dan promo diskon (`promo_code_used`, `promo_amount`) pada tabel `bookings`.
- Stored procedure otomatis `check_late_bookings()` dengan penjadwalan harian `pg_cron` untuk menghitung akumulasi denda keterlambatan penjemputan secara berkala.
- **Rangkaian Uji Otomatis Lengkap**:
- Penambahan 189 skenario pengujian unit dan integrasi (`scripts/test-suite.mjs`) yang mencakup logika format Rupiah, rate limiting IP proxy, state machine pembayaran Midtrans, dan proteksi anti-echo bot WhatsApp.
- **Dukungan Pembayaran DANA & QRIS**:
- Integrasi resmi Midtrans Snap dengan opsi pembayaran e-wallet DANA dan QRIS instan.
### Diperbaiki
- **Pembersihan Galat Hidrasi Browser**:
- Penambahan konfigurasi `suppressHydrationWarning` pada layout dan modul dashboard admin untuk mencegah peringatan konsol akibat injeksi atribut DOM oleh ekstensi browser pihak ketiga (seperti `bis_skin_checked`).
- **Sanitasi Pesan Error (Anti-Leak)**:
- Pesan galat teknis Supabase dan PostgreSQL (seperti galat *generated columns*, nama kolom database, dan *captcha token*) kini disaring sepenuhnya menjadi bahasa Indonesia yang informatif dan mudah dipahami pengguna.
- Komponen `UserErrorAlert` diperbarui menggunakan ikon vektor Lucide standar menggantikan karakter emoji literal.
- **Penanganan Formulir Bot WhatsApp**:
- Proteksi terhadap salinan teks menu utama atau submenu agar bot tidak salah mengenali pesan *copy-paste* sebagai input opsi atau formulir perubahan jadwal.
### Keamanan
- Pengetatan kebijakan Row Level Security (RLS) pada seluruh 12 tabel produksi, termasuk isolasi hak akses catatan internal staf (`booking_admin_notes`) dan data ulasan pesanan.
- Verifikasi proteksi Cloudflare Turnstile CAPTCHA pada seluruh endpoint autentikasi dan pendaftaran akun.
---
## [1.1.0] - 2026-09-18
### Ringkasan Rilis
Pembaruan versi 1.1.0 menghadirkan modul operasional multi-admin, pemindai QR kasir untuk penitipan langsung, dan otomatisasi notifikasi status kucing.
### Ditambahkan
- **Sistem Catatan Multi-Admin & Peringatan Prioritas**:
- Tabel dan antarmuka `booking_admin_notes` dengan kategori operasional: medis, diet makanan, perilaku kucing, serah terima shift, dan darurat.
- Fitur penyematan catatan penting (*pin notes*) yang langsung muncul sebagai kartu peringatan di halaman rincian pesanan.
- **Pemindai Kode QR Kasir (Check-in / Check-out Offline)**:
- Integrasi modul kamera pemindai QR berbasis `html5-qrcode` untuk validasi kedatangan dan kepulangan kucing di meja kasir.
- Token QR offline acak yang dibuat otomatis saat pesanan disetujui menjadi aktif.
- **Laporan Harian Kondisi Kucing (`cat_reports`)**:
- Admin dapat mengunggah foto harian dan status kesehatan (*Sehat*, *Kurang Fit*, *Perlu Perhatian*) yang langsung dapat dilihat pemilik kucing dari dashboard pengguna.
- **Program Loyalitas Poin & Kode Referral**:
- Pembuatan kode referral unik (`NEKO-XXXXXXXX`) untuk setiap pengguna terdaftar.
- Pengurangan biaya pemesanan menggunakan Neko Points saat proses checkout.
### Diperbaiki
- Perbaikan kalkulasi hari menginap pada modul ubah jadwal booking agar tidak memicu galat penulisan ulang kolom kalkulasi bawaan PostgreSQL.
- Penyesuaian tata letak kartu bento landing page agar tidak terpotong pada tingkat zoom layar 75% ke bawah.
- Ekspor laporan rekapitulasi data pesanan dan keuangan ke format PDF via `jspdf-autotable`.
---
## [1.0.0] - 2026-07-06
### Ringkasan Rilis
Rilis produksi perdana NekoStay sebagai platform digital manajemen penitipan kucing (*cat hotel*).
### Ditambahkan
- **Manajemen Penitipan & Pemesanan**:
- 3 kategori ruang inap kucing: Basic (Rp 45.000/hari), Standard (Rp 80.000/hari), dan Premium (Rp 130.000/hari).
- Formulir pemesanan lengkap dengan input data kesehatan, pola makan, riwayat vaksin, dan kebutuhan khusus kucing.
- Perhitungan estimasi biaya otomatis secara transparan.
- **Sistem Autentikasi Pengguna & Profil**:
- Login dan registrasi terintegrasi Supabase Auth dengan verifikasi email.
- Pemisahan hak akses berbasis peran (*Role-Based Access Control*): Pelanggan (`user`) dan Administrator (`admin`).
- **Dashboard Pelanggan & Administrator**:
- Dashboard pelanggan untuk memantau status menginap, riwayat pembayaran, laporan harian kucing, dan notifikasi.
- Dashboard admin untuk persetujuan pesanan, monitoring keterisian kandang, dan rekap data operasional.
- **Infrastruktur & Arsitektur Modern**:
- Dibangun dengan Next.js App Router, React 19, Tailwind CSS v4, dan Supabase PostgreSQL.
- Dukungan Progressive Web App (PWA) dan tampilan antarmuka responsif ramah perangkat mobile.
---
## Panduan Instalasi & Kebutuhan Sistem
### Akses Aplikasi Web / PWA
Platform NekoStay dapat langsung diakses melalui peramban web modern tanpa instalasi berkas biner khusus:
- **Peramban yang Didukung**: Google Chrome (versi 110+), Mozilla Firefox (versi 115+), Apple Safari (iOS 16+ / macOS 13+), Microsoft Edge (versi 110+).
- **Instalasi PWA (Mobile / Desktop)**:
1. Buka alamat resmi aplikasi di peramban web Anda.
2. Klik ikon **Pasang / Install NekoStay** pada bilah alamat peramban (desktop) atau pilih menu **Tambahkan ke Layar Utama / Add to Home Screen** (Android & iOS).
3. Aplikasi akan terpasang di perangkat Anda dengan akses instan layaknya aplikasi native.
### Konfigurasi Mandiri Pengembang (Self-Hosting)
Bagi pengembang yang ingin menjalankan NekoStay secara mandiri:
- **Node.js**: Versi 20.x LTS atau lebih baru.
- **Database**: Supabase PostgreSQL dengan ekstensi `uuid-ossp`, `pgcrypto`, dan `pg_cron`.
- **Skema Awal**: Eksekusi berkas `supabase/schema.sql` di SQL Editor Supabase.
- **Pengujian**: Jalankan `npm test` untuk memastikan seluruh 189 skenario uji lulus.