KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
August 14, 2026
Refactorkamo-internal

Sign inside the app shell, behind one page header

The wizard opened as a fullScreen MUI Dialog, so signing a package threw the member out of the product: NavTop and NavPri were covered, there was no rail and no...

kamo·1mo ago
Refactorkamo-internal

Fold the back arrow and book icon into the header title

The /kb body repeated the gradient header title verbatim. Drop the duplicate, move its book icon onto the h1 and park the back arrow to the right of it.

kamo·1mo ago
August 13, 2026
Refactorkamo-internal

Drop the speed dial heading

The tab is reached by its own icon and the rows say what they are, so a title and a sentence of explanation above them only cost vertical space in a panel that ...

kamo·1mo ago
Refactorkamo-internal

One Plans & Billing screen instead of two that each answered half

The platform had two billing screens. /settings/account?tab=billing answered what the organization pays; Plans & Billing on the member profile answered what a p...

kamo·1mo ago
August 12, 2026
Refactorkamo-internal

One strip — filter and refresh beside the sub-tabs

The controls sat in a second full-width row under the tab strip holding three short words and an icon, spending a whole band of the pane on what fits in the spa...

kamo·1mo ago
August 11, 2026
RefactorSecurityService

Follow the subscription finder rename

**************** is gone from the shared library. Its Optional return depended on a unique constraint that no longer exists, so once one account holds both a pe...

Kamo·1mo ago
August 10, 2026
Refactorkamo-internal

One writer of the *** TTL, and it is the activity tracker

/api/user-info wrote the session TTL straight to Redis, bypassing every service-side rule — and useUserInfo polls it every five minutes forever, so that one lin...

kamo·1mo ago
RefactorConversionService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

Kamo·1mo ago
RefactorDocsService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

Kamo·1mo ago
RefactorMediaService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

Kamo·1mo ago
RefactorSecurityService

Make reads read-only, leaving one writer of the *** TTL

The expiration on the Redis record IS the session: when it lapses the member is signed out. Reading a session no longer touches it. Only genuine interaction ext...

Kamo·1mo ago
August 8, 2026
Refactorkamo-shared-library

Resolve deprecation through the app catalog

An app the operator retires has to disappear everywhere, not just from the apps page — otherwise it keeps showing up in the security-model editor and in entitle...

Kamo·1mo ago
August 7, 2026
Refactorkamo-internal

Drop the Notes settings page and section

The Notes settings page was only a ComingSoonTab placeholder, so it gave members a nav entry and a landing card that led nowhere. Remove the route along with ev...

kamo·1mo ago
Refactorkamo-internal

Consolidate the member surface onto ?tab=legal-compliance

The standalone **************** route rendered the same component as the settings tab behind a second URL. Delete it and keep the tab: one surface, one entrance...

kamo·1mo ago
August 6, 2026
RefactorESigService

Sign on (envelopeUid, recipientUid, orgId), not a SignerSession

**************** now take the triple. The public controller keeps resolving it from SIGNSESH, so the signer app is unchanged; a staff-authenticated member surfa...

Kamo·1mo ago
Refactorkamo-internal

Drive the remaining polled screens from NATS/WebSocket

Fifteen network polls across the app, replaced with the events that were already happening or with events added to the services that own the state. Mail — the ...

kamo·1mo ago
August 5, 2026
Refactorkamo-internal

Put per-file upload settings inline to halve card height

The Description/Folder/Doc Type/Access Level fields sat on a second line under the file row, so every pending upload cost ~108px. Move them into the top row bet...

kamo·1mo ago
RefactorSecurityService

Remove the god-mode time-box

Checking in work left uncommitted in this working tree by a concurrent session. Not authored here; committed so it is not lost and so main is not left with a tr...

Kamo·1mo ago
Refactorkamo-internal

Move System Debug under Platform Administration

**************** diagnostics are operator tooling, not an access rule, so the tab now sits at **************** behind the platform-admin guard instead of MANAGE...

kamo·1mo ago
August 4, 2026
RefactorKlusterServices

Rename cluster ratestack-scylla -> kamo-scylla, correct ownership docs

This instance is kamo's: it backs the `kamouniverse` keyspace (read/written by **************** through the scylladb-direct ExternalName) and the `audit` keyspa...

Kamo·1mo ago
Refactorkamo-internal

Move break glass into the primary rail

The activation control was a fixed pill anchored to the bottom-left of the viewport. That put a privileged action somewhere nothing else lives, which reads as a...

kamo·1mo ago
Refactorkamo-internal

Drop the dead 'just extended' UI from the timeout popup

justExtended was never set to true — the popup closes on extension rather than showing a success state — so the CheckCircle2/Shield branches, the alternate titl...

kamo·1mo ago
Refactorkamo-shared-library

Share the letterhead resolution between the public page and staff

The staff preview has to show exactly what the customer receives, so branding, the document term and the link host now resolve in one place. Two copies would dr...

Kamo·1mo ago
July 18, 2026
Refactorkamo-internal

Translate the steward console panels; drop the label escape hatch

Catalog, Identifiers, Ingestion, Loan Sale Desk and the Pipeline table rendered hardcoded English inside a console whose other screens were fully translated. Al...

kamo·2mo ago
Refactorkamo-internal

Use next-intl keys for the Mobile Devices strings

Swaps the literal labels added with the Devices sub-tabs for **************** and .mobileDevices.* keys, now published in the translation dictionary (CI fans th...

kamo·2mo ago
Refactorkamo-internal

Fold Document QC into Documents & Conditions; PDF ingest notices

Document QC had its own steward screen for work that is the same documents, on the same loans, done by the same reviewer. Splitting it across two tabs made some...

kamo·2mo ago
July 16, 2026
Refactorkamo-internal

Consume @kamo/* shared libs, delete duplicated web copies

kamo-internal now imports the shared TS packages it originally seeded (one - avatarUrlTransform → re-exports @kamo/media-core (getAvatarSizedUrl, transformAva...

kamo·2mo ago
Refactorkamo-internal

I18n the LabelManager software-identity labels via next-intl

Replace literal strings with **************** keys (added to the translation dictionary). English fallback covers locales pending translation.

kamo·2mo ago
July 10, 2026
Refactorkamo-shared-library

Backward-compatible 6-arg LeadFieldPatch constructor (isVeteran defaults null)

Keeps existing 6-arg consumers (e.g. SecurityService LOS-apply tests) compiling on the shared-lib bump without a lockstep change.

Kamo·2mo ago
Refactorkamo-internal

Split form into Loan / Borrower / Subject Property tabs

Splits the mortgage sub-form's mega-grid into four sub-tabs (Loan, Borrower, Subject Property, What-If Studio) and renames "Property Address" to "Subject Proper...

kamo·2mo ago
Refactorkamo-internal

Use dictionary t() keys for MLOS integration UI strings

Replaces the `// i18n: dictionary key TODO` placeholder literals in LeadMarketManager (MLOS Integration select), MeridianLinkConfigDialog (field labels, Test Co...

kamo·2mo ago
Refactorkamo-internal

Drop the collapsible box around upload + gallery

The "Your wallpapers" section was a collapsible SectionHeader + Collapse — no reason to hide the upload and gallery behind an expand toggle. Replace with a stat...

kamo·2mo ago
July 9, 2026
Refactorkamo-internal

Drop the Background & Theme section from My Account

Completes the consolidation onto the dedicated wallpaper page: removes the org-vs-own switch, its handler, the "My Wallpapers" link and the now-unused backgroun...

kamo·2mo ago
Refactorkamo-internal

Render the console background globally in the layout, not per page

The background switch stays on the home page, but the chosen background (plain gradient or org slideshow) should be behind EVERY page, not just the two landings...

kamo·2mo ago
July 7, 2026
Refactorkamo-internal

Move status editor onto the tabs row; note callback auto-note

- Status/sub-status editor now shares the primary-tabs row: tabs left, status aligned right (removes the separate row under the action buttons). - Callback di...

kamo·2mo ago
July 4, 2026
Refactorkamo-internal

Remove Vendor Product ID from mappable fields

The vendor product is selected once at the run/template level (Configure step) and applied to every row; the backend importer already ignores a mapped vendorPro...

kamo·2mo ago
Refactorkamo-internal

Single Integrations tab replaces AUS-only tab (D40)

MortgageIntegrationsTab: all 15 vendor categories (credit, AUS, eSign, closing- docs, title, flood, …) in one tab, each an expandable section with add/remove co...

kamo·2mo ago
RefactorSecurityService

Single Integrations write surface — MortgageProviderConfig (D40)

Replaces the AUS-only write path with generic provider-connection CRUD keyed by VendorCategory+vendorKey: /provider-connections GET/POST/PUT, secret write-only ...

Kamo·2mo ago
Refactorkamo-shared-library

Generic MortgageProviderConfig replaces AUS-only config (D40)

One integration-credential store keyed by VendorCategory+vendorKey (credit, AUS, eSign, closing-docs, title, flood, …) behind a single Integrations tab — the Mo...

Kamo·2mo ago
Refactorkamo-shared-library

Use the simple entity name in the calibration-count JPQL (D32)

countCalibrationSamples referenced AiDecision by fully-qualified class name in the FROM clause; Hibernate resolves that, but every other @Query in the shared-li...

Kamo·2mo ago
July 2, 2026
Refactorkamo-internal

Drop redundant in-view titles on Templates/Past-Imports tabs

The sub-tab labels already name the view, so remove the h4 title + subtitle from LeadImportTemplateManager and LeadImportHistoryManager; keep the refresh action...

kamo·2mo ago
Refactorkamo-internal

Drop the Import Leads tab; two sub-tabs + header button

- Remove the 'Import Leads' sub-tab; the import wizard now opens from an always-visible 'Import Leads' button in the page header. Only two sub-tabs remain: Im...

kamo·2mo ago
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·2mo ago
June 26, 2026
Refactorkamo-shared-library

Declare Slice-2a indexes via @Table(indexes) on entities

Move the mlos_orchestration_state and mlos_steward_task index definitions from KamoInitializer's SchemaCleanupRunner onto the entities themselves (@Table(indexe...

Kamo·3mo ago
May 30, 2026
Refactorkamo-internal

Redesign new-offer page as two-column workspace + live preview

You asked for full real estate, modern, polished — last refactor put a single-column form inside a full-width shell, which is exactly the wide half-page-of-empt...

kamo·4mo ago
May 29, 2026
Refactorkamo-internal

Full-width enterprise polish across 10 pages

Adopts the modern enterprise pattern (gradient header + breadcrumbs + back arrow + full-height flex shell + card-grouped content on light gray canvas) used else...

kamo·4mo ago
May 28, 2026
Refactorkamo-shared-library

Loan.engagementUid → Long + originatingOrderUid

Engagement extends BaseEntity (Long PK) so engagementUid must be Long, not UUID — this is consistent with the existing AgreementDTO / WorkOrderDTO pattern of "L...

Kamo·4mo ago
May 16, 2026
Refactorkamolos

Clean up the session — bug fixes, dedupe, dead-code

Three-agent review surfaced real problems and copy-paste — addressing them: Bug fixes: - useEnsurePrimaryBorrower returned dead state (primaryUid, creating) an...

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