Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,991
Total Changes
4,651
Features
4,558
Fixes
32
Projects
Filter by project
All Projects17,991AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService386InitializerService303KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,530TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,601kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,328kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,651Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
August 5, 2026
Featurekamo-signer-monorepo

Show the assigned agent on the customer's copy

Matches the staff preview: the letterhead names the org, this names the person to ask.

Kamo·1mo ago
Featurekamo-internal

Show the assigned agent on the preview

A "Your contact" panel above the footer — name, title, phone and email — so the customer knows who to ask about the price. Absent entirely when the lead is unas...

kamo·1mo ago
FeatureSecurityService

Resolve the agent alongside the customer, from one lead lookup

Both blocks come off the same lead, so the controllers fetch it once and derive each from it rather than hitting the service twice per render. Still org-scoped ...

Kamo·1mo ago
Featurekamo-shared-library

Name the lead's assigned agent on the document

The letterhead identifies the org, but a customer with a question about a price needs the person who owns the relationship. The quote now carries the lead's ass...

Kamo·1mo ago
Featurekamo-internal

Reassign the agent holding an opportunity

The approver's dialog gains an agent picker, drawn from the same pool the backend validates against. The grid's Agent column now shows who HOLDS the opportunity...

kamo·1mo ago
FeatureSecurityService

Reassign the holding agent, and email everyone it affects

An approver can now hand an opportunity to a different agent. The requester is never rewritten — applyPrimaryAgent records the move as its own history row with ...

Kamo·1mo ago
FeatureEmailService

Preview samples for the nine opportunity notifications

Without an arm here the admin Email Templates editor renders every placeholder blank, so anyone customising these nine would be editing an empty skeleton. One ...

Kamo·1mo ago
FeatureInitializerService

Reassignable primary agent on a reserved opportunity

PRIMARY_AGENT_MEMBER_ID is who holds the opportunity now; REQUESTED_BY_MEMBER_ID is left untouched forever. Nullable with no backfill on purpose — null means "n...

Kamo·1mo ago
Featurekamo-shared-library

Reassignable primary agent, and nine notification templates

An approver can hand an opportunity — and the commission with it — to a different agent. PRIMARY_AGENT_MEMBER_ID is who holds it now; REQUESTED_BY_MEMBER_ID is ...

Kamo·1mo ago
August 4, 2026
Featurekamo-internal

Overall commission, market defaults, and no pre-picked units

Three changes to how commission is captured. Nothing is pre-selected any more. Percent/Amount and One-time/Recurring both start unset on every commission split...

kamo·1mo ago
FeatureSecurityService

Agree an overall commission at approval, seeded from the market

The approver now records what the organization pays on the sale to the requesting agent and their group. Omit it on approve and the lead's market default applie...

Kamo·1mo ago
FeatureInitializerService

Commission columns for reserved opportunities and market defaults

Six nullable columns: the overall commission agreed on a reserved opportunity, and the market default that pre-fills it at approval. NUMERIC(19,4) to match the ...

Kamo·1mo ago
Featurekamo-shared-library

The overall commission on a sale, and market defaults for it

A reserved opportunity now records what the organization pays out of the sale to the requesting agent and the group they share with — the pot the per-colleague ...

Kamo·1mo ago
Featurekamo-internal

Render the client's details on the preview, from the lead

Removing the quote's own addressee fields left "Prepared for" blank, because customerName only ever came from a linked Account and lead-raised quotes have none....

kamo·1mo ago
Featurekamo-signer-monorepo

Show the client's details on the customer's copy

Company heads the block when there is one — a quote to a business is addressed to the business, with the contact named beneath it. Matches the staff preview exa...

Kamo·1mo ago
FeatureSecurityService

Resolve the addressee lead for both the staff and customer views

Org-scoped in both places. On the public page the scope comes from the share link's own organization, so a token can never surface a lead belonging to another t...

Kamo·1mo ago
Featurekamo-shared-library

Put the client's details on the document, read off the lead

Dropping the quote's own addressee fields left the document with nothing to say about the client: customerName only ever came from a linked Account, which lead-...

Kamo·1mo ago
Featurekamo-internal

Move quotes out of commerce and onto the lead

Quotes sat in the commerce pipeline, beside orders and carts rather than beside the client they are for. They now live on the lead: a Quotes tab directly after ...

kamo·1mo ago
FeatureSecurityService

Expose per-market quote settings; enforce the terms grant

market-config now tells the lead view whether to offer a Quotes tab and what wording a new quote starts with, and the market endpoints round-trip both fields. ...

Kamo·1mo ago
Featurekamo-shared-library

Quotes belong to leads, configured per market

Quotes were a commerce-pipeline artifact, which put them beside orders and carts rather than beside the client they are for. They now hang off the lead: the mar...

Kamo·1mo ago
FeatureSecurityService

Reserve, approve and audit lead opportunity claims

REST surface behind /leads/opportunities/reserved and the Reserve Opportunity control in the lead header, plus the service that owns the invariants. Rights, en...

Kamo·1mo ago
FeatureInitializerService

Tables for lead opportunity reservations

Mirrors LeadOpportunityReservation, LeadOpportunityCommissionSplit and **************** in kamo-shared-library. ddl-auto:update would create them from the entit...

Kamo·1mo ago
Featurekamo-shared-library

Entities for time-boxed lead opportunity reservations

An agent stakes an exclusive claim on closing a lead for a bounded window; an approver grants, edits or denies it, and colleagues can be offered a share of the ...

Kamo·1mo ago
Featurekamo-internal

Address the quote to a person; summary stops costing header height

Moving the summary out of the right-hand column fixed the width but bought it back as a band under the title. It now sits in the gap that already existed betwee...

kamo·1mo ago
Featurekamo-shared-library

Address a quote to someone who is not yet an account

The addressee was derived solely from a linked Account, so any quote raised for a prospect — which is most of them — printed a blank "Prepared for" line and the...

Kamo·1mo ago
Featurekamo-internal

Open a member's profile from their row

Adds a fourth action to the row's hover dock, linking to **************** It is a real NextLink rather than a click handler, so middle-click and "open in new t...

kamo·1mo ago
Featurekamo-internal

Fail the build when a component calls a key messages/ does not define

next-intl renders the key path verbatim for a missing key, and messages/ is gitignored here — populated at image-build time from kamo-translation-dictionary — s...

kamo·1mo ago
Featurekamo-internal

Pin/unpin nav options from the navs and the home launchpad

Members could move an option between the side bar and the top bar, but never take one out of the navs entirely. Adds a third placement — NONE, "unpinned" — and ...

kamo·1mo ago
Featurekamo-internal

Hide empty departments, move the status filter into the Directory

- Departments with no members no longer render. The by-department endpoint returns every department in the org including empty ones, so the roster was showi...

kamo·1mo ago
Featurekamo-internal

Rebuild the slideout as one continuous surface

Member rows now form the department body directly — no card-on-card nesting — and departments run full-bleed with sticky bands, reclaiming ~30px of row width an...

kamo·1mo ago
FeatureSecurityService

Detection and alerting over the record-access audit trail

phi_access_log has been accumulating evidence nobody looks at. That satisfies §164.312(b) — the trail exists — and satisfies nothing about §164.308(a)(1)(ii)(D)...

Kamo·1mo ago
FeatureEmailService

Preview variables for PHI_ACCESS_ALERT

Without a sampleVariables arm the admin Email Templates preview renders every placeholder blank, so whoever is asked to approve the wording of a security alert ...

Kamo·1mo ago
Featurekamo-shared-library

PHI_ACCESS_ALERT canonical template

SecurityService's hourly review of phi_access_log needs somewhere to send what it finds. Rather than invent a channel it uses the existing transactional-email r...

Kamo·1mo ago
Featurekamo-internal

Mirror the lead minimum-necessary mask on the client (§164.502(b))

SecurityService now withholds custom-form answers from a caller who is not the lead's assignee (and, in a handlesPhi tenant, even from a holder of right 161). T...

kamo·1mo ago
FeatureSecurityService

Minimum-necessary masking of lead custom-form answers (§164.502(b))

The platform's only field mask was **************** applied by LeadController.getLeadById to a caller who is neither god nor the assignee and lacks VIEW_LEAD_CO...

Kamo·1mo ago
Featurekamo-internal

PHI access audit viewer — org review and per-record accounting

The trail was being written and nothing could read it. This is the screen half: an org-wide access review under Settings → Security, and a "who has accessed thi...

kamo·1mo ago
Featurekamo-internal

Retitle member page to Profile, shorten tab labels, add tab icons

The member settings page header becomes "My {memberLabel} Profile" (or "{memberLabel} Profile" for another member) and the nav-top link becomes My Profile. Tab ...

kamo·1mo ago
Featurekamo-internal

Tone slider — whitewashed to full color to blacked out

A per-member backgroundTone ui-preference (0 white / 50 full color / 100 black) rendered as a wash above the readability scrim in both the console slideshow lay...

kamo·1mo ago
Featurekamo-internal

Launcher cards and hero use the org's brand color instead of per-module accents

The home launchpad's option cards, drag overlay, and first-org hero now take their accent from var(--color-primary) (the org's dynamically set theme color) rath...

kamo·1mo ago
Featurekamo-internal

Break-glass god mode — reason prompt, countdown, standing indicator

God mode had no UI at all in kamo-internal: a localStorage boolean that a mount effect mirrored into ***, re-asserted on every new tab forever. That made the br...

kamo·1mo ago
FeatureSecurityService

Read the PHI access trail — §164.528 accounting and activity review

The trail has been written for a while and nothing could read it, which left two obligations unmet: an accounting of disclosures for one individual's record (§1...

Kamo·1mo ago
Featurekamo-internal

MFA enrollment screen and the god-mode PHI boundary control

Two settings surfaces for backends that had none. MFA enrollment (settings → my profile → Sign-in Security, self only). SecurityService's /api/security/mfa end...

Kamo·1mo ago
FeatureSecurityService

Endpoint to read and move an organization's HIPAA boundary

Organization.handlesPhi has existed as a column with no way to set it, so PhiTenantGuard has been enforcing a flag nobody could turn on. This is the missing hal...

Kamo·1mo ago
Featurekamo-internal

Rebuild the quote form as a guided flow, add an output preview

The details tab was a flat stack of outlined boxes that gave every field the same weight, so nothing signalled which inputs actually change what the customer se...

kamo·1mo ago
Featurekamo-shared-library

Audit vocabulary for a change to the compliance boundary itself

Adds PhiResourceType.ORGANIZATION and PhiAccessKind.CONFIGURE so that turning Organization.handlesPhi on or off can be recorded as what it is. Every existing r...

Kamo·1mo ago
FeatureSecurityService

Serve the customer-facing view to staff for preview

GET /{uid}/preview returns the same PublicQuoteView the share link serves, from the same QuotePresentation resolution, so a previewed letterhead cannot differ f...

Kamo·1mo ago
FeatureConversionService

Scan uploads for malware at ingest (§164.308(a)(5)(ii)(B))

The document vault accepted arbitrary uploads with no malware scanning anywhere on the platform, and it is multi-tenant — a file one org uploads is opened by an...

Kamo·1mo ago
FeatureSecurityService

Break-glass god mode — justification + 30-minute time-box

God mode activated silently and lasted as long as the session. That is the control a covered entity's security review pushes hardest on, because "your staff can...

Kamo·1mo ago
Featurekamo-internal

Reorder steward tabs; fold Identifiers into a pipeline find-loan popover

Tab order is now Pipeline, Documents, Underwriting, Pricing, Capital & Risk, Governance, Ingestion, Catalog — Pipeline becomes the default landing screen. The ...

kamo·1mo ago
August 3, 2026
Featurekamo-signer-monorepo

Compare options on the public quote page

Options render as selectable cards rather than rows, because they are choices and not additions. The period total is the headline; the monthly equivalent sits b...

Kamo·1mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing