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
August 22, 2026
ChoreSecurityService

Rebuild against kamo-shared-library 48cde37

Picks up MANAGE_ORG_MASTER_NOTE, the right that guards "Our Master Note". SecurityService is what enumerates RoleRightType for the role, job-title and departme...

Kamo·2mo ago
August 20, 2026
ChoreMediaService

Rebuild against kamo-shared-library 811db57

Picks up the createLead fix that moves the pool-availability recount to afterCommit. Before it, a read-after-write in the lead's own transaction hit YugabyteDB'...

Kamo·2mo ago
ChoreSecurityService

Rebuild against kamo-shared-library 811db57

Picks up the createLead fix that moves the pool-availability recount to afterCommit. Before it, a read-after-write in the lead's own transaction hit YugabyteDB'...

Kamo·2mo ago
ChoreMediaService

Follow the renamed tracking repository queries

findVisitorsForCode and findTimelineForVisitor replace the derived finders, which now carry an id tiebreaker and NULLS LAST; the conversion consumer moves to th...

Kamo·2mo ago
August 19, 2026
Chorekamo-marketing

Remove the navigation timing probe

It did its job. The question it was added to answer — whether the remaining delay was network, script or paint — turned out to have a fourth answer the probe fo...

Kamo·2mo ago
Chorekamo-marketing

Measure real navigations and cold loads, not just flagged sessions

Five rounds of fixes have each removed a real defect and none has fixed what is actually being felt, because every diagnosis so far has been inference from outs...

Kamo·2mo ago
Chorekamo-marketing

Add an opt-in navigation timing probe behind ?perf=1

Page switches still feel slow on production, and the server has been ruled out from the reporter's own machine: 55-122ms responses, x-nextjs-cache HIT, prefetch...

Kamo·2mo ago
Chorekamo-internal

Rebuild to pick up the Start Group Chat/Meeting labels

The image bakes messages/ from kamo-translation-dictionary at build time, so the dictionary push alone left the deployed bundle on the old copy.

kamo·2mo ago
ChoreDaemonService

Rebuild against the shared-library lead id fix

This service creates leads through LeadService, so it hit the same failure as /leads/new: on a mortgage market Hibernate 6.2 emitted "insert into leads (...) re...

Kamo·2mo ago
ChoreMediaService

Rebuild against the shared-library lead id fix

This service creates leads through LeadService, so it hit the same failure as /leads/new: on a mortgage market Hibernate 6.2 emitted "insert into leads (...) re...

Kamo·2mo ago
ChoreSecurityService

Delete the unauthenticated /api/security/roles/test stub

A reachability probe that returned "SecurityRoleController test endpoint is working" to anybody. Nothing calls it — no reference in any service or in kamo-inter...

Kamo·2mo ago
August 15, 2026
ChoreKlusterServices

Drop committed __pycache__ bytecode and ignore it

Kamo·2mo ago
ChoreSecurityService

Rebuild against the shared-lib loading_logo_overlay column

No source change. CI clones kamo-shared-library at build time, so Organization.loadingLogoOverlay is only mapped once this rebuilds — until then the generic PUT...

Kamo·2mo ago
ChoreSecurityService

Rebuild against the shared-lib home_logo_overlay column

No source change here. SecurityService's CI clones kamo-shared-library at build time, so it only maps Organization.homeLogoOverlay once it is rebuilt — and unti...

Kamo·2mo ago
Chorekamo-internal

Drop the now-unused Button import

kamo·2mo ago
August 14, 2026
Chorekamo-internal

Drop the proxy route for an endpoint that never existed

/api/notes/statistics forwarded to a KBService endpoint NotesController does not implement, and nothing in the app ever called it — so the only thing it could d...

kamo·2mo ago
ChoreEmailService

Rebuild against the shared-lib event-range fix

No source change here. Service CI clones kamo-shared-library at build time, so picking up c1e68a9 — which stops an omitted date window failing every calendar ev...

Kamo·2mo ago
August 13, 2026
ChoreKlusterServices

Retire CockroachDB now that YugabyteDB owns the data

CockroachDB v24.2.4 was pinned to the last release under the old free BSL terms and was replaced by YugabyteDB on 2026-08-09. Nothing has connected to it since;...

Kamo·2mo ago
August 11, 2026
ChoreEmailService

Rebuild against the shared-library JetStream consumer reconcile

Picks up kamo-shared-library f3a7283. Eight members hold an email-ws-<id> consumer still filtered on email.inbox.<addr> from before subscribeToNats moved to ema...

Kamo·2mo ago
ChoreBillingService

Rebuild against the renamed pay-group table

The entity moved from billing_groups to billing_pay_groups after it turned out the former is a live legacy table with a different shape. This service still hold...

Kamo·2mo ago
August 10, 2026
ChoreSecurityService

Rebuild for PublicChatApiKey jsonb binding fix

Kamo·2mo ago
ChoreVOIPService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreRAGService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreMediaService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreMCPGatewayService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreKBService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
Chorekamolos

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreESigService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreEmailService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreDocsService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreDaemonService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreConversionService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreBillingService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreAIService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreAPIService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
ChoreSecurityService

Rebuild against shared-library @Lob LONGVARCHAR fix

Picks up the fix for 'Bad value for type long' on the lead communications timeline: Hibernate's PostgreSQL dialect read @Lob String columns as OIDs.

Kamo·2mo ago
August 9, 2026
ChoreBillingService

Rebuild for the generated-previews domain

Picks up the shared-library change that bills thumbnails and tracks to the organization and reads derivative bytes from img_dat_derivatives.

Kamo·2mo ago
ChoreBillingService

Rebuild for the branding and docs-workspace domains

Picks up the shared-library change that reads both from object_storage_days.

Kamo·2mo ago
ChoreBillingService

Rebuild for the text message attachment domain

Picks up the shared-library change that measures MMS attachments from the data: URIs stored inline in VOIP_MESSAGES.

Kamo·2mo ago
ChoreBillingService

Rebuild against the per-category storage domains

Picks up the shared-library change that splits imgs into one domain per ImageAssocType, so call recordings, voicemails, chat attachments, HR resources and marke...

Kamo·2mo ago
ChoreSecurityService

Restore CRLF on ****************

The previous commit rewrote the file through a tool that normalised CRLF to LF, churning every line and burying a 24-line change in a 618-line diff. Content is ...

Kamo·2mo ago
August 8, 2026
Chorekamo-internal

Drop the unused stageLabel helper

Stage names are rendered from message keys, so the English-only helper had no caller left.

kamo·2mo ago
Chorekamo-register

Restore CRLF line endings on ServiceType.ts

The previous commit rewrote the file through a tool that normalised CRLF to LF, churning every line. The 23 sibling files under app/types are still CRLF, so thi...

Kamo·2mo ago
Chorekamo-register

Sync AppType/ServiceType mirrors with the MLOS rename

ServiceType.LOS became MLOS (mortgage, id 14 retained because ORG_FEATURES persists the id) and the freed LOS key is now the Personal Loan Origination System on...

Kamo·2mo ago
Chorekamo-login

Sync AppType/ServiceType mirrors with the MLOS rename

ServiceType.LOS became MLOS (mortgage, id 14 retained because ORG_FEATURES persists the id) and the freed LOS key is now the Personal Loan Origination System on...

Kamo·2mo ago
August 7, 2026
Chorekamo-internal

Extract the HR Legal & Compliance rendered key set

A literal t('…') scan misses 8 of the module's 81 keys: assignmentStatusKey and statusStateKey return key strings as DATA, and hrTabs.ts holds labelKey and desc...

kamo·2mo ago
August 6, 2026
ChoreSecurityService

Rebuild for the unified imaging bucket

Picks up kamo-shared-library 3045cc3: ImageAssocType.getBucket() now returns the single "imaging" bucket for every association, so a deduplicated file is stored...

Kamo·2mo ago
ChoreESigService

Rebuild for the unified imaging bucket

Picks up kamo-shared-library 3045cc3: ImageAssocType.getBucket() now returns the single "imaging" bucket for every association, so a deduplicated file is stored...

Kamo·2mo ago
ChoreVOIPService

Rebuild for the unified imaging bucket

Picks up kamo-shared-library 3045cc3: ImageAssocType.getBucket() now returns the single "imaging" bucket for every association, so a deduplicated file is stored...

Kamo·2mo 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