Risolvere modello applicato per query orgId opzionale con controllo di iscrizione
Corretta sorgente applicata-model e normalizzare la conformità in API
Utilizzare la risoluzione del risolutore per BRANCH TYPE vs MASTER invece di differire da BranchTypeID da solo. Normalizzare i parametri di conformità FALSE/TRU...
Propagate la conformità del modello master e le regole di età ai modelli di sicurezza di tipo branch
JSON field-scoped org PUT, aggiornamenti cancello sul modello applicato
Scrivere globals.css prima della pulizia; eseguire la pulizia asinc
Reorder provisionUpdate così writeConfigFiles (colori, configurazione, manifesto) corre prima della pulizia dei file di sfondo. Ricarica org da DB per colori fr...
Applicare colori org impegnati a MinIO globals.css
Reload Organizzazione dal DB all'inizio della fornitura asinc writeConfigFiles vede i colori salvati da PATCH /colors (controller snapshot potrebbe essere stall...
Segna i domini personalizzati verificati da DNS come isDefault nell'API di dominio
Precedentemente solo *.kamocrm.com sottodomini sono stati contrassegnati èDefault, così orgs con un dominio apice personalizzato verificato (ad esempio kamocrm....
Allineare i dettagli del dominio e verificare l'accesso con l'appartenenza a org
Consentire di marca quando l'utente è org proprietario TeamMember
Fornitura tematica e logo/background uploads solo controllato Organizzazione. proprietario FK; l'app UI tratta il proprietario dell'organizzazione come TeamMemb...
Cancella utente e membro FKs prima di eliminare la riga avatar
Cancellare un avatar non è riuscito con un vincolo DB quando era ancora l'avatar dell'utente attivo o un override specifico del membro, che ha abbinato i blobs ...
Risolvere l'host cartella tema senza una rigorosa verifica DNS
Fornitura a tema richiesta èDnsVerified per ogni dominio, così org utilizzando solo il subdominio predefinito kamocrm.com non ha mai iniziato il lavoro asincast...
Pubblica i progressi della fornitura di temi sul core NATS
JetStream CHAT MESSAGES stream è configurato solo per chat.>, così pubblica e l'UI ha visto Nessun progresso. Utilizzare Connection.publish come SupportoNotific...
Impostare EmbRecordState.isActive su wizard create-org così orgs.is active non è null
Restituzione del corpo crea-org sicuro JSON invece di serializzare l'entità dell'organizzazione
Parse create-org con semplice messaggio ObjectMapper e ritorno Jackson su 400
Parse create-org JSON rimuovendo il campo di dominio wizard prima della mappatura dell'organizzazione
Parse create-org JSON senza @RequestBody per evitare 415
Tipo di media non supportato quando il contenuto-tipo manca o non accettato per @RequestBody. Leggi byte e usa ObjectMapper invece così I proxy APIService/Next ...
Campi di politica di conformità della coerce dalle mappe di richiesta JSON
Predefinite le impostazioni di destra nulle per NON SPECIFIED su creare/aggiornamento
Salta l'aggiornamento del modello di sicurezza quando il ruolo blocca le modifiche di sicurezza
Leggi i diritti di sessione come elenco o legacy CSV per gli endpoint membri
KSessionService e SecurityRoleController memorizzano i diritti come List RoleRightType. MemberSecurityController lanciato a String e diviso su virgola, causando...
Verifica-dns controlla ogni etichetta KnownAliases; skip deprecated app/media in optional
Evitare transazioni-poisoning DDL e indurire le gare multi-pod
Il precedente self-heal ha messo DDL all'interno di un @Transactional syncAll(). Quando un ALTER TABLE ADD CONSTRAINT licenziato su un vincolo esistente (caso n...
Rimuovi getType() chiamate da OrganizationController dopo Organizzazione Tipo di rimozione
Rettifica della guardiaIncompletoTraduzioni contro l'arresto del contesto di primavera
Utilizzare getOrganizationByIdWithFeatures in AppAvailability Intercettatore
Resolves LazyInitializationException on /api/security/leads e tutti altri percorsi CRM/POS-gated. L'intercettatore ha chiamato org.getFeatures() dopo la transaz...
Risolvere la scheda Membri che mostra vuoto a causa di Hibernate TYPE() problema di base-class
Hibernate's TYPE(m) =:type JPQL filter restituisce 0 risultati quando il limite parametro è la classe Membro di base (eredità JOINED). Questo colpisce il membri...
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...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.