Resolver modelo aplicado para consulta orgId opcional com verificação de associação
Corrigir a fonte do modelo aplicado e normalizar a conformidade na API
Usar resolução do resolvedor para BRANCH TYPE vs MASTER em vez de inferir de branchTypeID sozinho. Normalizar literais de conformidade FALSE/TRUE em modelo apli...
Propagar regras de conformidade e idade do modelo mestre para modelos de segurança do tipo filial
Gravar o globals.css antes da limpeza; executar o cleanup assync
Disposição de reordenarAtualizar para escreverFilesConfig (colores, config, manifest) é executada Antes da limpeza do ficheiro de fundo. Recarregar org de DB pa...
Aplicar cores org comprometidas no MinIO globals.css
Recarregar a organização a partir do DB no início de uma provisão de assync assim writeConfigFiles vê cores salvas por PATCH /colors (snapshot do controlador Po...
Mark DNS-verificado domínios personalizados como isDefault in domain API
Anteriormente apenas *.kamocrm.com subdomínios foram marcados isDefault, assim orgs com um domínio apex personalizado verificado (por exemplo, kamocrm.com) semp...
Alinhar o detalhe do domínio e verificar-dns acesso com a associação org
Permitir branding quando o usuário é proprietário de org TeamMember
Provisionamento de tema e uploads de logotipo/fundo apenas checaram Organização. proprietário FK; o aplicativo UI trata o proprietário da organização como TeamM...
Limpar os FKs do usuário e membro antes de excluir a linha avatar
A exclusão de um avatar falhou com uma restrição DB quando ainda era o avatar ativo do usuário ou um cancelamento específico do membro, que combinou com as bolh...
Resolver a máquina de pastas de temas sem uma verificação estrita do DNS
Provisionamento de tema necessário éDnsVerificado para cada domínio, então orgs usando apenas o subdomínio padrão kamocrm.com nunca começou a trabalhar assync (...
Publicar os progressos da oferta temática no NATS principal
JetStream CHAT MESSAGES stream é configurado para chat.> somente, então publica A validação falhou e a UI viu Sem progresso. Use Connection.publish como Support...
Definir EmbRecordState.isActive no assistente create-org assim orgs.is active não é null
Retornar JSON-safe create-org body em vez de serializar entidade da Organização
Bind create-org JSON manualmente e desembrulhar corpos codificados duplos
Parse create-org com objeto simplesMapper e retornar mensagem Jackson em 400
Desserialize corpo create-org em CreateOrganização Carga útil para evitar entidade JsonIdentity Falha na informação
Processar o JSON create-org despindo o campo de domínio do assistente antes do mapeamento da organização
Parse create-org JSON sem @RequestBody para evitar 415
Primavera retorna Tipo de mídia não suportado quando o tipo de conteúdo está faltando ou não aceito para @RequestBody. Ler bytes e usar ObjectMapper em vez diss...
Campos de política de conformidade de coerção de mapas de solicitação JSON
Configuração padrão do direito nulo para NOT SPECIFIED na criação/atualização
Ignorar a atualização do modelo de segurança quando a função bloqueia as edições de segurança
Ler os direitos de sessão como lista ou CSV legado para os endpoints dos membros
Direitos de armazenamento do KSessionService e SecurityRoleController como Lista<String> de Nomes do tipo "RoleRight". MemberSecurityController elenco para Stri...
Verificando-dns verifica cada rótulo conhecidoAliases; skip depreciated app/media em opcional
Evitar o envenenamento de transações DDL e endurecer corridas de multi-pod
A auto-cura anterior colocou DDL dentro de uma @Transactional syncAll(). Quando um ALTER QUADRO ADD CONSTRAINT disparado sobre uma restrição existente (caso nor...
Remover chamadas getType () da OrganizaçãoController após a Organização Remoção de tipo
Use getOrganizaçãoByIdWithCaracterísticas no AppDisponível Interceptador
Resolve Initialização PreguiçosaExcepção em /api/security/leades e tudo Outras vias de CRM/POS. O interceptor chamado org.getFeatures() após o fechamento da tra...
Resolver a aba Membros mostrando vazio devido ao problema Hibernate Type () de classe base
O filtro do Hibernate (m) = :type JPQL retorna 0 resultados quando o limite parâmetro é a classe de membro base (herança JOINED). Isto afecta o Endpoint dos mem...
Allow god-mode users to provision ownerless orgs; prefer FQDNs in domain resolution
Add @Transactional to provision-theme for lazy domain loading; remove hardcoded domain from provision request
Add PATCH /org/{id}/colors endpoint to safely update only color palette fields
Use memberID session key and include creatorType in creatable branch-types response
Use correct session key 'memberID' instead of 'MID'
KSessionService stores member ID under key 'memberID' but both **************** and OrganizationController were reading session.get("MID") which always returned...
Exclude master model from models list; add debug log to child-org creation check
SecurityModelController now filters out the org's master model (identified by org.getMasterModelID()) from the /api/security/models response — it is managed exc...
Read session rights as List<String> names, not CSV of integer IDs
Session rights are stored as a JSON array of RoleRightType name strings. Both **************** and OrganizationController were casting them to String (causing C...
Add org-scoping, password length validation, and code quality improvements to PasswordChangeController
Add @Transactional to DataLoader.run to fix LazyInitializationException on startup
Use JPA entity traversal for grant-all detection (covers dept/job roles)
Filter null rights in buildAppliedRightsWithSources; upgrade shared-lib to 1.5.0
Use core NATS pub/sub for email-verified SSE fan-out
Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...
Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies
**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....
Populate all EMAIL_VERIFICATION template variables
Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...
Use subdomain-aware SQL to match findByDomain JPQL logic
Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...
Correct EmailService URL port in configmap (4203 -> 80)
EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.
Bypass JPA org lookup to avoid Hibernate cascade flush error
**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...
Use getReferenceById to avoid cascade orphanRemoval flush error on registration
Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...
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.