KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
March 11, 2026
Fixkamo-shared-library

Add matchIfMissing=false to ConditionalOnProperty for commerce beans

Makes it explicit that CommerceService and EngagementLifecycle are disabled by default when kamo.commerce.enabled is not set. Any service that does not configur...

Kamo·7mo ago
Fixkamo-shared-library

Replace ConditionalOnBean with ConditionalOnProperty for CommerceService

**************** is evaluated before Spring Data JPA registers user-defined repository beans, making it unreliable. Replace with **************** which is evalu...

Kamo·7mo ago
Performancekamo-shared-library

Eliminate full-table scan and N+1 queries on leads endpoint

- LeadRepository: add findByOrganizationId JPQL query (uses ORG_ID index) instead of loading entire LEADS table and filtering in Java - LeadCustomFormDataRepo...

Kamo·7mo ago
March 10, 2026
Fixkamo-shared-library

Make commerce beans conditional on repository availability

Add **************** to EngagementLifecycle and CommerceService so they only load when commerce repositories are scanned. Prevents UnsatisfiedDependencyExceptio...

Kamo·7mo ago
Fixkamo-shared-library

Allow app startup when NATS is unavailable

Remove @ConditionalOnBean from jetStream() and add @Nullable to the Connection parameter. When natsConnection() returns null (NATS unreachable), Spring no longe...

Kamo·7mo ago
Fixkamo-shared-library

Guard system role isAllowDelete from being changed

Kamo·7mo ago
Featurekamo-shared-library

Pass sessionTimeoutMinutes through service layer

Kamo·7mo ago
Featurekamo-shared-library

Add waterfall session timeout computation

Kamo·7mo ago
Featurekamo-shared-library

Default Everyone role sessionTimeoutMinutes to 30

Kamo·7mo ago
Featurekamo-shared-library

Add sessionTimeoutMinutes to Member entity

Kamo·7mo ago
Featurekamo-shared-library

Add sessionTimeoutMinutes to JobTitle entity

Kamo·7mo ago
Featurekamo-shared-library

Add sessionTimeoutMinutes to Department entity

Kamo·7mo ago
Featurekamo-shared-library

Add sessionTimeoutMinutes to OrgRole entity

Kamo·7mo ago
Featurekamo-shared-library

Add market_id FK to POS entities and market-filtered repository queries

Add market association (ManyToOne FK to CommerceMarket) to Offering, InventoryItem, RentalAsset, Vendor, and SubscriptionPlan entities. Add findByMarketId queri...

Kamo·7mo ago
Chorekamo-shared-library

Normalize line endings in EmbNameFull.java

Kamo·7mo ago
March 9, 2026
Featurekamo-shared-library

Add CommerceMarketVendor entity

Kamo·7mo ago
Featurekamo-shared-library

Add CommerceVendorCategory entity

Kamo·7mo ago
Featurekamo-shared-library

Add CommerceMarket entity

Kamo·7mo ago
Featurekamo-shared-library

Add built-in vendor categories seed data per commerce type

Kamo·7mo ago
Featurekamo-shared-library

Add CommerceType enum for commerce markets system

Kamo·7mo ago
February 14, 2026
Fixkamo-shared-library

Serialize POS DTO uid/id as string in JSON for JS safe integer

- RetailOrderDTO.uid, **************** EngagementDetailDTO.id/linkId, MortgageAppDTO.uid - Use @JsonSerialize(using = ToStringSerializer.class) to avoid precisi...

Kamo·8mo ago
February 12, 2026
Featurekamo-shared-library

Phase 1-3 foundation - RETAIL, MORTGAGE, RENTAL assets

Phase 1 RETAIL: - CommitmentContextType.SALE, processOrderPaid: Commitment, Transaction, InventoryAllocation, FulfillmentOrder - checkInventoryForOrder on creat...

Kamo·8mo ago
Fixkamo-shared-library

Use Uid instead of Id for BaseEntity-derived relations

- FulfillmentOrderRepository: findBySourceCommitmentId -> findBySourceCommitmentUid (Commitment uses uid) - TransactionRepository: findByOrderId -> findByOrderU...

Kamo·8mo ago
Featurekamo-shared-library

Add ordering (createdAt DESC) and date range filter

- EngagementRepository: OrderByDateCreatedDesc on all find methods - CommerceService: dateFrom/dateTo params, in-memory date filter - Engagements API now suppor...

Kamo·8mo ago
Featurekamo-shared-library

Add EngagementDomainTypeConverter for VENDOR→SERVICE, no manual SQL

- JPA AttributeConverter maps legacy VENDOR to SERVICE when reading from DB - Applied to Engagement.domain and OrgPOSConfig.enabledDomains - Removes need for ma...

Kamo·8mo ago
Featurekamo-shared-library

Replace pos beans with commerce package

- Add commerce package (Order, Intent, Offering, InventoryItem, InventoryPool, etc.) - Add CommerceService replacing POSService, RetailProductService, RetailInv...

Kamo·8mo ago
February 11, 2026
Featurekamo-shared-library

Enterprise validation in POSService

- createRetailOrder: null check on request - createLineItem: null check, quantity > 0, unitPrice >= 0 validation

Kamo·8mo ago
Featurekamo-shared-library

Add POS/inventory domain entities, DTOs, repos and services

- Add POS beans (retail, rental, mortgage, subscription, vendor) - Add RetailProduct, RetailInventoryStock, RetailOrder, MortgageApp DTOs - Add RetailProductSer...

Kamo·8mo ago
February 4, 2026
Featurekamo-shared-library

Populate vendorProduct relationship when fetching leads

Update getLeadsByOrganizationId() to populate the @Transient vendorProduct field for each lead that has a vendorProductId. This ensures the vendor and product d...

Kamo·8mo ago
February 3, 2026
Featurekamo-shared-library

Add status, subStatus, source, and dateCreated fields

- Added status, subStatus, source, dateCreated, and isActive fields to Lead entity - Updated LeadDTO with frontend-compatible fields (status, subStatus, source,...

Kamo·8mo ago
Featurekamo-shared-library

Refactor Lead assignment from String to Employee reference

- Changed Lead.assignedUser (String) to Lead.assignedEmployee (Employee) - Added LeadAssignment entity to track assignment history - Added LeadAssignmentType en...

Kamo·8mo ago
December 23, 2025
CIkamo-shared-library

Trigger pipeline

snadjafinia·10mo ago
December 11, 2025
December 5, 2025
Chorekamo-shared-library

Update code

snadjafinia·10mo ago
Fixkamo-shared-library

Resolve MultipleBagFetchException and fix custom form persistence

- Simplified CustomFormRepository query to avoid multiple bag fetches - Fixed LeadMarketService to properly save and load custom form associations - Use saveAnd...

snadjafinia·10mo ago
Fixkamo-shared-library

Properly save and load custom form associations for markets

- Removed repository delete, now using JPA orphan removal for cleanup - Initialize lazy marketCustomForms collection before clearing - Ensure collections are in...

snadjafinia·10mo ago
Fixkamo-shared-library

Resolve MultipleBagFetchException in CustomFormRepository

- Simplified findByIdAndOrganizationId query to avoid fetching multiple bags - Removed LEFT JOIN FETCH for stacks and fields in same query - Collections are now...

snadjafinia·10mo ago
Fixkamo-shared-library

Resolve MultipleBagFetchException by using transactional lazy loading

- LeadMarketRepository: Reverted to simple query without multiple JOIN FETCH - LeadMarketService: Added @Transactional(readOnly=true) to getMarketById with expl...

snadjafinia·10mo ago
Fixkamo-shared-library

Add eager loading for repository queries to fix lazy loading issues

- CustomFormRepository: Added LEFT JOIN FETCH for stacks and fields in findByIdAndOrganizationId - LeadMarketRepository: Added LEFT JOIN FETCH for marketCustomF...

snadjafinia·10mo 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