Applied-model is the read-time source of truth for feature availability
Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - ********...
Wire applied-model enforcement across every controller
Every non-role setting on the applied security model is now enforced at the exact controller boundary it governs, and the scalar settings round-trip cleanly thr...
Enforce system-role assignment and auto-admin for team-member owners
MemberSecurityController now enforces the three assignment invariants defined in the brainstorm spec: - saveMemberSecurity: before persisting the caller's requ...
Master-model + applied-model endpoints and template-aware org seeding
Adds the controllers that surface the new branch-type security flow: - /api/security/master-model (GET/PUT) manages the current org's master model; only writ...
Supplement session rights with all known rights for grant-all roles
Add SSE endpoint for real-time email verification + improve welcome email logging
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Add analytics → analytics text replacement in changelog sanitization
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Update required aliases — add app, capcha, docs, sign; remove legacy
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
Tambahkan terjemahan async untuk rencana changelog dan langganan, tambahkan lokal-sadar APIs publik
Tambahkan pengelolaan asupan timbal dan pengontrol penerima publik
Tambahkan dua pengontrol untuk sistem asupan timah otomatis: - LeadIntakeController: terotentikasi CRUD untuk masukan titik akhir, daerah pemetaan, muatan penge...
Tambah GET * * * * * * * * * * * * * * * titik akhir menggunakan jumlah SQL
Simpan keanggotaan di sesi Redis saat log masuk
Tambahkan CASE KETIKA .id TIDAK NULL THEN 'TEAM _ MEMBER' ELSE 'MBER' AKHIR ke log masuk permintaan SQL dan melewati hasil melalui createSetions ke Redis, sehin...
Sinkronisasi per- halaman pembuatan thumbnail selama upload template dengan kemajuan WS granular
- Tambahkan ketergantungan PDFBox ke pom.xml - Setelah menyimpan PDF terkonversi, membuat semua halaman melalui PDFRenderer dan upload setiap sebagai {id} _ thu...
Tambah GET * * * * * * * * * * * * * * * titik akhir untuk melayani gambar mini PNG halaman
Tambah / api / changelog / public / statistik titik akhir untuk jumlah kumpulan dengan tipe dan projek
Tambahkan validasi rahasia webhook ke titik akhir changelog
Defense- in- kedalaman: validates * * * header di Bagian Layanan SecuritySelain gerbang APIService validasi.
Tambahkan tingkat akses anggota dan titik akhir status pemilik
Tambahkan GET dan PATCH * * * * * * * * * * * * * * * * titik akhir untuk membaca dan memperbarui tingkat akses dengan penegakan izin penuh. Mutakhirkan pencipt...
Add granular conversion progress stages with 8 distinct WebSocket updates
Stages: downloading (0-15%) → preparing (15-20%) → converting (20-65%) → verifying (65-75%) → storing (75-90%) → finalizing (90-100%) → complete
Sinkronisasi konversi PDF untuk e-signature template uploads
Piring uploads sekarang dikonversi langsung melalui Layanan Percakapan selama Permintaan upload. Menerbitkan progress event NAS untuk real-time WebSocket update...
Tambahkan e- signature template API titik akhir
- POST * * * * * * * * * * * * * * * - upload template dengan kontrol scope - POST * * * * * * * * * * * * * * - daftar template oleh konteks dan status - PATCH...
Timpa Google dengan Capcha * * * verifikasi
Hapus Re * * * Layanan dan semua konfigurasi Google kembali * * *. Tambahkan Layanan CapchaVerificationService yang memverifikasi * * * payloads via kamo--capch...
Tambahkan ujung integrasi eceran untuk uji koneksi, sinkronisasi, kemampuan, dan webhooks
Perbesar POST / pelanggan untuk menerima info kontak dan cari pengguna lewat surel
Buat akun sekarang menerima email, kontaktName, telepon, penerimaan Pemasaran, taksi. Jika surel disediakan dan cocok dengan pengguna yang ada, auto- set sebaga...
Tambahkan 18 detail rekening titik akhir untuk manajemen pelanggan perdagangan
Titik akhir baru pada AccountController di bawah / api / keamanan / akun /: - Pelanggan CRUD: GET / POST / PUT / DELETE / pelanggan, GET / pelanggan / {uid} - D...
Tambahkan 111 titik akhir eceran ke controller CommerceMarketController
Semua titik akhir dibawah / {pasar} / ritel /... namespace meliputi: - Kategori, merek, atribut (dengan nilai), gambar, varian, tag, ulasan - Pelanggan, alamat,...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.