KamoCRM

Live Change Log

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

18,567
Total Changes
6,654
Features
5,577
Fixes
30
Projects
Filter by project
All Projects18,567AIService282APIService179BillingService165ConversionService118DaemonService147DocsService256ESigService98EmailService628InitializerService344KBService162KlusterServices771MCPGatewayService277MediaService622RAGService79SecurityService2,022TranslateService62VOIPService265VectorService11kamo-apps29kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,749kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,859kamo-signer-monorepo61kamolos115
Filter by type
All TypesBuild23CI527Chore794Docs3,287Feature6,654Fix5,577Other1,001Performance174Refactor284Revert23Style45Test177Upgrade1
July 1, 2026
Refactorkamo-login

Remove the 2s intro/loading animation screen

Drop showIntro/introComplete state, the 2s intro timer effect, and the branded early-return loading screen. The page now renders straight into the background + ...

Kamo·4mo ago
Featurekamo-login

Panel bleeds off-page left so its edge never shows on bounce; card fades ~250ms sooner

- Welcome/recover panel now extends --welcome-bleed (16rem) off the left edge with its right edge still pinned to --welcome-w; inner content padding is comp...

Kamo·4mo ago
Featurekamo-login

Choreographed entrance — panel springs in after bg loads, then card fades

Wait for the first background image (onLoad, with a 3s safety fallback), then spring-bounce the welcome/recover panel in from off-screen left (physics spring, s...

Kamo·4mo ago
FeatureSecurityService

Auto-grant a 3-day trial to every newly created org

Kamo·4mo ago
Featurekamo-internal

Homepage trial-mode banner with live countdown

kamo·4mo ago
Fixkamo-shared-library

Comp provisioning clears trial deadline (comp supersedes trial)

In the existing-subscription update path of provisionCompSubscription, set trialExpiresAt to null so a previously trialling org is cleanly promoted to comp with...

Kamo·4mo ago
Featurekamo-shared-library

Org-level gate grants full catalog for active TRIAL

resolveEntitlement now short-circuits for TRIAL subs whose trialExpiresAt is in the future (compute-on-read). Adds static isTrialActive() helper and 4 unit test...

Kamo·4mo ago
Featurekamo-shared-library

Add TRIAL billing source + trialExpiresAt on AccountSubscription

Adds BillingSourceType.TRIAL, a precise LocalDateTime trialExpiresAt field on AccountSubscription (nullable, column trial_expires_at), and a repository finder *...

Kamo·4mo ago
Featurekamo-shared-library

**************** (steward exception queue)

Org-scoped-by-status finder backing the closing-steward exception queue (e.g. all BLOCKED_STEWARD packages for an org). Spring Data derived; no schema/KI.

Kamo·4mo ago
Featurekamo-shared-library

CLOSING_RON_FALLBACK_APPLIED event key (doc 05 §6.1/§6.4)

The steward recovers a RON-walled/failed BLOCKED_STEWARD closing by satisfying the required RON slot with an alternative notarization (WET_SIGN/IPEN/PAPER_OUT);...

Kamo·4mo ago
Featurekamo-login

Pointer parallax (x+y) between welcome panel and background

Both layers drift with the pointer at different rates and opposite directions via framer springs. Background is scaled 1.12 and the welcome panel is oversized 1...

Kamo·4mo ago
Fixkamo-internal

Persist background reorder via commit endpoint (no data loss)

Save now stages new uploads to incoming, then commits the full desired order (existing-by-srcIndex or new-by-token) so reordered existing images are re-slotted ...

kamo·4mo ago
FixSecurityService

Stop cross-org background image leak; order-safe reorder + staging bucket

Reordering only re-uploaded new files to their new index, dropping reordered existing images and leaving imageBgCount claiming unpopulated slots; provisioning t...

Kamo·4mo ago
Stylekamo-login

Shrink animated logo ~25% (64->48px)

Kamo·4mo ago
Featurekamo-shared-library

CLOSING_PACKAGE_CANCELLED event key (doc 05 §6.4 steward cancel)

The steward terminates a non-terminal closing **************** -> CANCELLED; the durable signal downstream stand-down / steward-queue close-out reacts to.

Kamo·4mo ago
Featurekamo-login

Move animated logo to bottom-right, centered above Powered-by pill

PoweredByKamo gains an optional logoSlot rendered centered directly above the pill within its fixed bottom-right anchor (other pages unaffected). The animated l...

Kamo·4mo ago
Featurekamo-login

Left-pinned translucent welcome panel + centered rounded form card

Welcome/Recover panel now full-height, flush to the left edge, on top of the background image with a translucent wash and square corners; hidden on mobile. Anim...

Kamo·4mo ago
Featurekamo-shared-library

CLOSING_MERS_CONFIRMED + CLOSING_MERS_REJECTED event keys (doc 05 §6.3/§6.4)

The MERSCORP async callback flips a MersRegistration SUBMITTED->CONFIRMED/REJECTED; these are the durable signals **************** (confirmed) + the steward exc...

Kamo·4mo ago
FixSecurityService

Return 404 for a missing org instead of 200 with empty body

getOrganizationById returned a bare null, which Spring serialized to HTTP 200 with an empty body; clients calling response.json() then threw 'Unexpected end of ...

Kamo·4mo ago
Fixkamo-internal

Map missing org (404 or empty body) to a null payload

Pairs with the SecurityService change that now returns 404 for a missing org instead of 200-with-empty-body. Callers already null-check the org, so both the pro...

kamo·4mo ago
FixSecurityService

Let the System User resolve any org's applied model

The cross-org gate returned 403 when orgId != session org and the caller had no Member row in the target org. The platform-wide System User operates across ever...

Kamo·4mo ago
Fixkamo-internal

Stop spurious errors flooding the console

- org/[id] proxy: backend returns 200 with an empty body for null orgs; response.json() threw 'Unexpected end of JSON input' -> spurious 500. Parse defensiv...

kamo·4mo ago
Fixkamo-internal

Resolve org tab title in generateMetadata to stop title flip

Static metadata.title rendered 'Kamo' server-side; Next re-asserted it after hydration, overriding DynamicMetaLoader's client update and flipping the tab back f...

kamo·4mo ago
Fixkamo-internal

Withhold rows until Myself member id resolves

ag-grid renders rowData beneath the loading overlay, so gating only the loading prop still flashed all leads while getMemberId() was 0. Blank the rows and stay ...

kamo·4mo ago
Fixkamo-internal

Default filter to Myself on load, hide market bar for single market, relocate toolbar

- Default agentFilter to __MYSELF__ at init + gate grid on userInfo load so it no longer flashes All Leads - Single market: auto-select it and hide the market-t...

kamo·4mo ago
Featurekamo-shared-library

§6.1 RON legal-wall grain — **************** (frozen WORM) + CLOSING_STEP_BLOCKED event

The property state is frozen identity on the closing package (a closing's property does not move) and is the grain the §6.1 RON state-eligibility legal wall rea...

Kamo·4mo ago
FixDocsService

URI-encode WOPISrc + trust all api.* WOPI hosts (multi-tenant)

Opening a doc for a non-kamocrm tenant failed with 'unauthorized WOPI host'. Docs's alias_groups only trusted api.kamocrm.com (the Docs-deployment env hardcoded...

Sage·4mo ago
ChoreVOIPService

Rebuild against latest kamo-shared-library

Sage·4mo ago
ChoreTranslateService

Rebuild against latest kamo-shared-library

Sage·4mo ago
ChoreSecurityService

Rebuild against latest kamo-shared-library

Kamo·4mo ago
ChoreRAGService

Rebuild against latest kamo-shared-library

Sage·4mo ago
ChoreMediaService

Rebuild against latest kamo-shared-library

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