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...
Adicione async tradução para Changelog e planos de assinatura, adicione APIs públicas locais
Adicionar gestão de ingestão de chumbo e controladores de recepção pública
Adiciona dois controladores para o sistema automatizado de admissão de chumbo: - LeadIntakeController: CRUD autenticado para endpoints de entrada, campo mapeame...
Adicionar GET **************************** endpoint usando contagem SQL
Membro da lojaTipo na sessão Redis no login
Adiciona o caso quando e.id não é nulo, em seguida, 'team member' outro 'member' fim para a consulta SQL de login e passa o resultado através de createSession e...
Geração de miniaturas sincronizadas por página durante o upload do modelo com progresso granular WS
- Adicionar dependência PDFBox para pom.xml - Depois de armazenar PDF convertido, renderizar todas as páginas via PDFRenderer e enviar cada como {id} thumb p{n}...
Adicionar GET **************************** Endpoint para servir as miniaturas de PNG por página
Adicionar /api/changelog/public/stats endpoint para contagem de agregados por tipo e projeto
Adicionar validação secreta do webhook ao endpoint do changelog
Defesa em profundidade: valida o cabeçalho *** no SegurançaService lado além de validação de gateway APIService.
Configurar projetos públicos changelog com todos os 23 repos Forgejo
Adicionar nível de acesso dos membros e parâmetros de status dos proprietários
Adicione GET e PATCH Endpoints para leitura e atualização dos níveis de acesso com autorização total. Atualizar criação de organização para usar createOrganizaç...
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
Conversão em PDF sincronizada para uploads de modelos de assinatura eletrônica
Template uploads agora converter diretamente via ConversionService durante o Pedido de envio. Publica eventos de progresso NATS para WebSocket em tempo real act...
Adicionar parâmetros de API de modelo de assinatura eletrónica
- POST **************** - modelo de upload com controle de escopo - POST ******************* - PATCH **************** — ciclo de vida do modelo atualizado - GET...
Substituir o Google re*** com a verificação Capcha ***
Remover Re***Service e toda a configuração do Google re***. Adicionar o CapchaVerificationService que verifica *** carga útil via serviço de kamo-capcha /api/ve...
Adicione terminais de integração de provedores de varejo para testes de conexão, sincronização, capacidades e webhooks
Melhore POST /clientes para aceitar informações de contato e procurar usuário por e-mail
Criar conta agora aceita e-mail, nome de contato, telefone, aceitaMarketing, taxa de isenção. Se o e-mail é fornecido e corresponde a um usuário existente, auto...
Adicione 18 parâmetros de detalhes da conta para gerenciamento de clientes de comércio
Novos parâmetros do Controlador de Contas em /api/security/account/: - Cliente CRUD: GET/POST/PUT/DELETE/clientes, GET/clientes/{uid} - Dados associados: GET /c...
Adicione 111 terminais de varejo ao CommerceMarketController
Todos os parâmetros sob /{marketId}/retail/... namespace cobrindo: - Categorias, marcas, atributos (com valores), imagens, variantes, tags, comentários - Client...
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...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.