KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
November 8, 2026
Featurekamo-internal

Per-field saved secrets and provider notes in the connect form

- A second write-only secret (e.g. DocuSign's notification secret) says 'leave blank to keep the saved one' from the server's savedSecrets. - A provider can c...

Kamo·3d ago
FeatureSecurityService

Second write-only secrets; DocuSign Connect key stored encrypted

- CONFIG_SECRET catalog fields are encrypted into configJson on save, kept when left blank, never echoed: the list view and every change-log snapshot strip ...

Kamo·3d ago
Featurekamo-shared-library

A second write-only secret per connection (CONFIG_SECRET)

**************** keeps a second secret (e.g. a webhook signing key beside the API secret) ENCRYPTED in configJson. Adapters read it with **************** key, c...

Kamo·3d ago
Featurekamo-shared-library

Order vendors in the catalog — appraisal, title, flood, income, asset and identity

Twelve vendors the vendor-order service now has adapters for, each with its real credential form and sandbox/production addresses: - Appraisal: Mercury Network,...

Kamo·3d ago
FeatureSecurityService

Credit resellers on MISMO 2.4 with Test Connection; an eSign SPI with DocuSign and DocMagic eSign

Credit (mortgage/credit): - Every catalogued reseller (Xactus, Credit Plus, MeridianLink, CBC Innovis, Factual Data) now sends the MISMO 2.4 credit request th...

Kamo·3d ago
Featurekamo-shared-library

Closing documents from DocMagic and Docutech; real eClose vendor URLs and fields

CLOSING_DOCS offers DocMagic and Docutech. Proof and DocuSign Notary get their published hosts (Proof production/Fairfax, DocuSign's OAuth hosts) and real crede...

Kamo·3d ago
FeatureSecurityService

Relay every pricing engine's quote, not only Kamo's native one

The borrower pricing quote returned EXTERNAL_VENDOR_PENDING for any PRICING_PPE engine other than Kamo's own. MLOSPricingService now dispatches to the org's eng...

Kamo·3d ago
Featurekamo-internal

Catalog-driven Connected Services

The Partners tab's integrations are now driven by SecurityService's vendor catalog instead of a hardcoded category list and a free-text vendor key. - Categorie...

Kamo·3d ago
Featurekamo-shared-library

Credit resellers on the MISMO 2.4 login fields; DocuSign and DocMagic eSign in the catalog

- CREDIT: every reseller (Xactus, Credit Plus, MeridianLink, CBC Innovis, Factual Data) takes the MISMO 2.4 credit request with the account login on REQUEST, ...

Kamo·3d ago
FeatureSecurityService

Catalog-driven provider connections, primary vendor, Test Connection

- GET **************** every vendor category, its owning runtime and the vendors a lender can connect, with their forms. - Creating/updating a connection vali...

Kamo·3d ago
Featurekamo-shared-library

Catalog Desktop Underwriter, Loan Product Advisor, Optimal Blue and Polly

AUS: DU (Fannie Mae Desktop Underwriter) and LP (Freddie Mac Loan Product Advisor, alias LPA), keyed to the AusKind/AusSourceLabel the AUS engine already uses. ...

Kamo·3d ago
Featurekamo-internal

Orders by market, walk-in sales, and a working Retail pipeline

- Orders tab: scoped to the market; customer with photo or Walk-In Sale, real statuses with counts, bulk Mark Paid / Cancel that only offer moves the server t...

Kamo·3d ago
FeatureSecurityService

Market-scoped orders, customers, carts, drafts and shipments; cart and draft conversion

- GET /pos/orders takes ?marketId=; GET /pos/orders/customers lists a Retail market's customers from its orders, with walk-in sales counted apart. - Carts, dr...

Kamo·3d ago
Featurekamo-shared-library

A lender picks the primary vendor per category

MortgageProviderConfig gains is_primary (BOOL DEFAULT FALSE; the column was added by hand on production first). resolvePrimary now serves the enabled primary ro...

Kamo·3d ago
Featurekamo-internal

Move a rental asset to another market; a blank rate is not a zero rate

The asset page could not change an asset's market (the server supports it now) and turned every blank rate into 0, so "not offered by the hour" and "free by the...

Kamo·3d ago
Featurekamo-shared-library

A vendor catalog the Partners tab and every adapter share

Adds **************** the single list of vendors Kamo has an explicit integration for per VendorCategory, each with its credential form (VendorField), default s...

Kamo·3d ago
Featurekamo-shared-library

Orders belong to a market; walk-in sales, partial refunds, real cart and draft conversion

- An order's engagement now carries the Retail market it was sold in (named, or the org's only one), and the purchasing account. A converted quote stamps its ...

Kamo·3d ago
Featurekamo-internal

Real work orders and subscriptions per market — dispatch, customer accounts, live subscriptions, cancel at period end

Service (work orders): - the grid reads its own market's jobs (plus older jobs with no market), shows the customer, the technician (member chip, never an id),...

Kamo·3d ago
FeatureSecurityService

Market-scoped work orders and subscriptions; dispatch and customer endpoints

- GET **************** lists one market's work orders (plus those with no market) - PUT /service-jobs/{uid}/customer files a job under an account or takes it ...

Kamo·3d ago
Featurekamo-shared-library

Market on the engagement, job numbers, dispatch, customer accounts, market-scoped lists

Service work orders: - createJob stores the chosen market on Engagement.market (it only picked the engagement type before) and the customer account on Engagem...

Kamo·3d ago
Featurekamo-internal

Every rental has a renter; cancel, re-date, check out, check in and end; booked dates beside the date picker

- New Rental Request: the Renter (customer account) is required and pre-filled from ?accountId; ?marketId is sent so the rental is filed under the market. Onc...

Kamo·3d ago
Featurekamo-internal

Market-filtered lists, line items, approve/reject/withdraw, send/receive/close/cancel, and a real Vendors list

- Procurement tab: Purchase Requests / Vendor Orders / Vendors; lists ask the server for the selected market (plus rows with none), show a Market column, and ...

Kamo·3d ago
FeatureSecurityService

ProcurementController — market-filtered lists, change/reject/withdraw a request, send/receive/close/cancel a vendor order, records returned from every change

- purchase requests and vendor orders move out of POSController into ProcurementController (MANAGE_PROCUREMENT to buy and run orders, APPROVE_PURCHASE_REQUEST...

Kamo·3d ago
Featurekamo-shared-library

Market, lines, approval decisions, and the vendor order lifecycle (send, receive, close, cancel)

ProcurementService owns purchase requests and vendor orders: - the engagement carries the market (chosen Procurement market, else the vendor's); lists filter by...

Kamo·3d ago
FeatureKBService

Turn Antivirus scanning on in kbservice

KamoAntivirus is Ready (StatefulSet kamowsantivirus 2/2, /readyz ready, release 2026.11.08.0101); a direct scan from the cluster returns MALICIOUS/TEST_FILE for...

Kamo·3d ago
FeatureDocsService

Turn Antivirus scanning on in docsservice

KamoAntivirus is Ready (StatefulSet kamowsantivirus 2/2, /readyz ready, release 2026.11.08.0101); a direct scan from the cluster returns MALICIOUS/TEST_FILE for...

Kamo·3d ago
FeatureMediaService

Turn Antivirus scanning on in mediaservice

KamoAntivirus is Ready (StatefulSet kamowsantivirus 2/2, /readyz ready, release 2026.11.08.0101); a direct scan from the cluster returns MALICIOUS/TEST_FILE for...

Kamo·3d ago
FeatureConversionService

Turn Antivirus scanning on in conversionservice

KamoAntivirus is Ready (StatefulSet kamowsantivirus 2/2, /readyz ready, release 2026.11.08.0101); a direct scan from the cluster returns MALICIOUS/TEST_FILE for...

Kamo·3d ago
FeatureDocsService

Assignment rows say what the member still owes

Adds signableOutstandingCount (signable documents not yet signed) and uploadsOwedCount (required requests with no live file) to each assignment row, so the memb...

Kamo·3d ago
FeatureKBService

KBService checks knowledge-base resources and looks up the verdict before signing

- Resource upload writes the raw kb bucket, so it goes through AntivirusUploadGuard (KB) before anything touches storage: 422 ANTIVIRUS_BLOCKED (nothing store...

Kamo·3d ago
FeatureSecurityService

The Antivirus API, platform controls and scheduled endpoints; gate SecurityService's own file paths

/api/antivirus/** (and the /api/security/antivirus twin the console proxy tries first): overview, detections, settings (audited ANTIVIRUS_POLICY_CHANGE), false ...

Kamo·3d ago
FeatureKlusterServices

KamoAntivirus mail filter first on inbound smtpd (port 25), tempfail when unreachable

smtpd_milters = { **************** default_action=tempfail }, then rspamd unchanged. Harmful attachments are replaced by a small placeholder part and the messag...

Kamo·3d ago
FeatureEmailService

Antivirus for mail — read gate on every mailbox, milter placeholders, send screening, detections

- Read: every attachment/inline part from any mailbox (Kamo Mail, IMAP providers, Graph; personal and shared routes) is hashed in memory (temp file past 8 MiB...

Kamo·3d ago
FeatureSecurityService

Rental steps, market-filtered lists, and a renter that can move but never be cleared

- GET /rental-requests and /bookings take ?marketId (the caller's own market) and filter by the engagement's market. - POST /rental-requests/{id}/cancel, PUT ...

Kamo·3d ago
Featurekamo-internal

Orders tab filters by the organization's own markets

Chips and row labels were per line of business, named after its first market, so two Retail markets collapsed into one. Each row now shows its own market (from ...

Kamo·3d ago
FeatureDocsService

DocsService refuses locked documents everywhere and checks editor saves

- WOPI PutFile writes raw MinIO, so the save goes through AntivirusUploadGuard first: a harmful save writes nothing, keeps the document's last good content an...

Kamo·3d ago
FeatureSecurityService

Each Orders row names its own market

Rows carry marketId / marketTitle from their engagement (one query by engagement uid), so an organization with two Retail markets sees which one an order came f...

Kamo·3d ago
FeatureKlusterServices

Antivirus alerts (scanner down, signatures stale, mirror gate failing, p95, detection spike, hold backlog)

Applied by hand (monitoring/ is not a CI target).

Kamo·3d ago
Featurekamo-shared-library

A rental needs a renter; market on the engagement; cancel, re-date, check out, return and cancel a booking

- createRentalRequest refuses a missing or foreign customer account, records the market (the asset's, else the chosen one) on the engagement, and validates da...

Kamo·3d ago
Featurekamo-internal

Markets — the organization's own markets, by their own names

"Commerce" is gone. A market is what members define (title + description); its Line of Business is only its kind. - The nav option is Markets. With one market ...

Kamo·3d ago
FeatureMediaService

MediaService checks attachments with Antivirus and refuses locked files on every read

- Chat attachments (member CHAT, web-chat visitor PUBLIC), system-bug files, Growth Hub images are checked inside storeContentAddressed with their context (me...

Kamo·3d ago
FeatureConversionService

ConversionService checks uploads with Antivirus, completes held files, re-checks on new signatures

Replaces the in-service clamd client (malware/ package, UploadScanGuard, QuarantineStore, retro-scan) with the shared-library Antivirus: - /upload, /replace, /...

Kamo·3d ago
Featurekamo-shared-library

An engagement belongs to a member-defined market

commerce_engagements.market_id (applied by hand, FK to commerce_markets, indexed with org_id). Retail orders, service jobs, rental and procurement records have ...

Kamo·3d ago
Featurekamo-internal

The Antivirus UI — protection seals everywhere a file appears, the Antivirus Center, the platform tab, alerts and help

Design kit (app/components/antivirus): ProtectionSeal with five animated faces (Checking, Protected, Caution, Blocked, Couldn't Check; brand + --av-* tokens, re...

Kamo·3d ago
FeatureKlusterServices

Svc_antivirus login + ANTIVIRUS stream; conversion/email may consume antivirus.>

- svc_antivirus: STREAM.INFO/CREATE ANTIVIRUS, publish antivirus.> and rt.org.>, subscribe antivirus.> and _INBOX.> (Secret kamo/nats-user-antivirus, SECRETS....

Kamo·3d ago
Featurekamo-shared-library

Shared-library half of Antivirus — gate, client, tables, rights, kinds, templates, report

- Entities/repos for the six hand-applied tables (content_scan_verdicts, antivirus_detections, antivirus_false_alarm_reports, antivirus_allowlist, antivirus_o...

Kamo·3d ago
Featurekamo-internal

Safety & Oversight and Brains & Tools, premium — live cards, Spend Pace, Approval Rules, Connected Tools rooms with test before saving (SIS9)

Safety & Oversight - Spending: the default budgets on the kit save bar, explained with the job description's budgets and each role's daily caps (live values, ...

Kamo·3d 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