KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

17,644
Total Changes
6,069
Features
5,335
Fixes
30
Projects
Filter by project
All Projects17,644AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,408kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,069Fix5,335Other998Performance165Refactor278Revert23Style42Test162Upgrade1
April 22, 2026
April 21, 2026
FixSecurityService

필수 DNS CNAME aliases에서 드롭 메일

KnownAliases에서 메일을 제거하여 더 이상 확인 및 삭제 mail.example.com을 요구하십시오; 새로운 사용자 정의 도메인은 또한 자동 조정을 건너 뛸 메일 아이 alias.

Kamo·6mo ago
FixSecurityService

정확한 적용 모델 소스 및 API에서 규정 준수

대신 BRANCH TYPE 대 MASTER에 대한 해결자 해상도 사용 BranchTypeID 혼자. 적용 모델에 FALSE/TRUE 준수 리터럴을 정상화 JSON 설정.

Kamo·6mo ago
FixSecurityService

Cleanup 전에 globals.css를 쓰십시오; cleanup async를 실행하십시오

Reorder 프로비저닝 그래서 writeConfigFiles (컬러, 구성, 표시) 실행 배경 파일 정리 전에. 신선한 색상의 DB에서 Reload org. 완료 후 CompletableFuture에서 cleanupExtraBackgrounds를 실행하십시오. 느리거나 붙어있는 Mi...

Kamo·6mo ago
FixSecurityService

MinIO Globals.css에 대한 org 색상 적용

DB의 재로드 조직은 동기화 규정의 시작 부분에 writeConfigFiles는 PATCH /colors (컨트롤러 스냅샷에 의해 저장된 색상을 볼 수 있습니다. stale일 수 있었습니다. Null-safe 이차 팔레트; hex 교체 일치 MinIO CSS의 3- 및 6 자리 값; r...

Kamo·6mo ago
FixSecurityService

도메인 API의 isDefault로 DNS 인증 도메인 표시

*.kamocrm.com subdomains만 표시되어 있으므로 orgs 확인 된 사용자 정의 apex 도메인 (예 : kamocrm.com) 항상 defaultDomain=null과 사서함 만들기에서 차단되었습니다.

Kamo·6mo ago
FixSecurityService

읽힌 소유권 TXT 토큰을 읽으십시오

Kamo·6mo ago
FixSecurityService

사용자가 org 소유자 TeamMember 인 경우 브랜드 허용

테마 제공 및 로고 / 배경 만 확인 된 조직. 이름 * FK; app UI는 TeamMember.isOrganizationOwner로 조직 소유자를 대우합니다, 다른 것. 둘 다를 가진 Align 허가는, 새로운 형태를 올려서 좋습니다 프로퍼런스.

Kamo·6mo ago
FixSecurityService

Avatar 행을 삭제하기 전에 사용자 및 회원 FKs를 취소

Avatar를 삭제하면 여전히 활성 사용자 avatar 또는 회원 별 override가되었을 때 DB constraint로 실패했습니다. 이는 사용자가 stale 레코드를 제거 할 수 없었던 끊긴 MinIO blobs를 일치시킵니다.

Kamo·6mo ago
FixSecurityService

엄격한 DNS 검증 없이 테마 폴더 호스트를 해결

필요한 테마 제공은 모든 도메인에 대해 인증, 그래서 orgs 만 사용 기본 kamocrm.com subdomain 결코 동기화 작업을 시작하지 (400, STOMP). 어떤 활성 도메인으로 돌아 가기, 다음 {alias}.kamocrm.com.

Kamo·6mo ago
FixSecurityService

Core NATS의 테마 제공 진행

JetStream CHAT MESSAGES 스트림은 채팅을 위해 구성된다.> 단지, 그래서 게시 to **************** 스트림 검증 및 UI 보기 계속. Connection.publish를 사용하여 SupportNotificationService.

Kamo·6mo ago
FixSecurityService

@RequestBody없이 Parse create-org JSON

Spring Return Unsupported Media Type when Content-Type이 누락되거나 @RequestBody에 허용됩니다. 바이트를 읽고 대신 ObjectMapper를 사용하십시오. APIService/Next 프록시는 콘텐츠 협상 실패를 유발할 수 없습니다.

Kamo·6mo ago
April 20, 2026
FixSecurityService

NOT SPECIFIED에 기본 null 올바른 설정

Kamo·6mo ago
FixSecurityService

Role locks security edits

Kamo·6mo ago
FixSecurityService

회원 종료에 대한 목록 또는 레거시 CSV로 세션 권한 읽기

KSessionService and SecurityRoleController 매장 권리 목록<String> RoleRightType 이름. MemberSecurityController는 문자열로 던져서 분할합니다. comma, ClassCast회원 유형 및 회원 액세스 PATCH에 대한...

Kamo·6mo ago
FixSecurityService

DDL 및 harden 멀티 포드 경주를 방지

@Transactional syncAll() 내부 DDL을 넣는다. 알터 때 TABLE ADD CONSTRAINT는 기존의 제약 (일반적인 경우 후 첫 번째 부팅, 또는 멀티 포드 경주에서 파를 잃는), runIdempotent는 Java를 삼키 예외 — 하지만 주변 DB 거래는 낙태 ...

Kamo·6mo ago
FixSecurityService

AppAvailability의 getOrganizationByIdWithFeatures 사용 회사연혁

/api/security/leads 및 모든 것에 LazyInitializationException을 해결합니다. 다른 CRM/POS-gated 경로. org.getFeatures()라는 인터셉터 거래 종료 후; 새로운 방법 eagerly fetches 기능 읽기 전용 거래 안쪽에 단일...

Kamo·6mo ago
FixSecurityService

Resolve 회원 탭은 Hibernate TYPE() Base-class 문제로 비어 있는 것

Hibernate's TYPE(m) = :type JPQL 필터가 0 결과를 반환합니다. 매개 변수는 기본 회원 클래스 (JOINED 상속)입니다. 이 영향을 회원 구독 종료. findByOrganizationId() +로 교체 exampleof TeamMember filter in J...

Kamo·6mo ago
FixSecurityService

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...

Kamo·6mo ago
FixSecurityService

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...

Kamo·6mo ago
FixSecurityService

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...

Kamo·6mo ago
April 19, 2026
FixSecurityService

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...

Kamo·6mo ago
FixSecurityService

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....

Kamo·6mo ago
April 18, 2026
FixSecurityService

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...

Kamo·6mo ago
FixSecurityService

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')...

Kamo·6mo ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing