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...
Adăugați traducere asinc pentru changelog și planuri de abonament, adăugați API-uri publice locale
Adăugați managementul aportului de plumb și publicul primește controlere
Adaugă două controlere pentru sistemul automat de admisie a plumbului: - LeadIntakeController: CRUD autentificat pentru criteriile finale de administrare, domen...
Adaugă GET Nu-ţi face griji. Obiectivul final utilizând numărul de SQL
Stocare membruType în sesiune Redis la autentificare
Adaugă cazul în care E.D. nu este NULL, atunci "TEAM MINTIȚI-VĂ" autentificarea SQL interogare și trece rezultatul prin creareaSesssion în Redis; astfel încât f...
Generație sincronă per pagină miniatură în timpul uploadului șablonului cu progres granular WS
- Adăugați dependență PDFBox la pom.xml - După stocarea PDF convertit, redați toate paginile prin PDFRenderer și încărcați fiecare ca {id} thumb p{n}.png - Even...
Adaugă GET - Nu. Obiectivul final pentru a servi unghiile PNG per pagină
Se adaugă /api/changelog/public/stats obiectivul pentru numărul total pe tip și proiect
Adăugați validarea secretă a webhook pentru a modifica obiectivul jurnal
Apărare în profunzime: validează *** antetul pe SecurityService în plus față de validarea APIService gateway.
Configurează proiectele publice de schimb cu toate cele 23 de programe Forgejo
Adaugă nivelul de acces al membrilor și criteriile de evaluare a statutului proprietarului
Adaugă GET and PACTCH *************** obiective pentru citirea și actualizarea nivelurilor de acces cu aplicarea deplină a permisiunii. Actualizați crearea orga...
Adăugați etape de proces de conversie granulare cu 8 actualizări distincte WebSocket
Etape: descărcare (0-15%) → pregătire (15-20%) → conversie (20-65%) → verificare (65-75%) → depozitare (75-90%) → finalizarea (90-100%) → completă
Conversie PDF sincronă pentru încărcarea șablonului de semnătură electronică
Upload-uri de șablon convertiți acum direct prin serviciul de conversie în timpul Încarcă cererea. Editează evenimente de progres NATS pentru WebSocket în timp ...
Add e-signature template API endpoints
- POST **************** — upload template with scope control - POST **************** — list templates by context and status - PATCH **************** — update te...
Înlocuieşte Google re *** cu verificarea Capcha ***
Elimină Re***Service și toate configurarea Google re ***. Adaugă CapchaVerificationService care verifică încărcătura utilă *** prin intermediul kamo-capcha serv...
Adăugați criterii de integrare a furnizorului de retail pentru testarea conexiunii, sincronizare, capacități și proteze web
Îmbunătățește Post / Clienți pentru a accepta informații de contact și căutare utilizator prin e-mail
Creați cont acum acceptă e-mail, contactName, telefon, acceptăMarketing, taxaExpect. Dacă e-mail-ul este furnizat și se potrivește cu un utilizator existent, au...
Adăugați 18 obiective detaliate ale contului pentru gestionarea comerțului cu clienții
Noi obiective privind ContController la /api/securitate/cont/: - CRUD Client: GET/POST/PUT/DELETE/Clienți, GET /clienți/{uid} - Date asociate: GET / clients/ {u...
Adăugați 111 obiective de vânzare cu amănuntul la CommerceMarketController
Toate criteriile de evaluare sub / {marketId}/retail/... namespace acopera: - Categorii, mărci, atribute (cu valori), imagini, variante, etichete, comentarii - ...
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...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.