KamoCRM

Live Change Log

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

18,391
Total Changes
6,526
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,391AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,691kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,526Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
August 27, 2026
Docskamo-login

FreePBX is deprecated (Decision 4 revised)

No migration and no permanent coexistence. KamoPBX stays on k3m1 whose host netns is empty, so it needs none of FreePBX's ports and no shutdown is required. Des...

Kamo·2mo ago
Docskamo-login

KamoPBX implementation plans (programme + 9 phases)

Decomposed into one plan per phase; a single plan would not produce working software until the end. Full bite-sized TDD detail: Phase 0 infrastructure gate ...

Kamo·2mo ago
Docskamo-login

Record KamoPBX decisions — KAZOO confirmed, k3m1 placement, ACDc, Tier 3 rebrand

Six open questions answered: 1. KAZOO is the route; hardware owned, so cost framing removed entirely. 2. One node/cluster now, three later — CouchDB q=8 from da...

Kamo·2mo ago
Docskamo-login

Record the enum-ordering trap the PBX rollout hit

Seeding a catalog row whose pricing_model is a new enum value makes that row unreadable to any service still on an older shared-lib, and getCatalog loads every ...

Kamo·2mo ago
Docskamo-login

Design per-extension PBX billing

Kamo·2mo ago
August 26, 2026
Docskamo-login

Handoff for per-extension PBX billing

Kamo·2mo ago
Docskamo-login

Plan per-mailbox billing and the personal-mailbox backend

Plans B and C of 3. Self-review closed five gaps: nothing set mail_cost_mode, nothing server-side stopped a billing group buying mail add-ons, the invoice mailb...

Kamo·2mo ago
Docskamo-login

Correct the spec — StorageAutoExpandSweep already exists

The spec claimed no server-driven-quantity reconciler existed to reuse and listed the storage auto-expand columns as dead. Both false: the sweep reads them nigh...

Kamo·2mo ago
Docskamo-login

Design per-mailbox e-mail billing and add-on gating

Bills e-mail by the mailbox rather than the seat, gates provider choice on the add-on that covers it, and attributes each mailbox to the billing group that shou...

Kamo·2mo ago
Fixkamo-login

Brand the sign-in screen from the org's alias, not the host

login.kamocrm.com is the sign-in screen for every organization that has no host of its own. The theme base was derived from that hostname, so all of them were p...

Kamo·2mo ago
Fixkamo-login

Theme assets come from a host that resolves

The sign-in screen paints an organization's branding from theme.<its own domain>. That domain may not resolve: an org can exist and be signed into before its DN...

Kamo·2mo ago
Featurekamo-login

The workspace picker shows each org's logo

Two letters standing in for a logo was a workaround for the response not carrying one. It does now, resolved server-side from the folder the org's theme was pro...

Kamo·2mo ago
August 25, 2026
Fixkamo-login

Continue stays disabled once a workspace is opening

The button already carried disabled={!selected || submitting}, but submitting was only true for the duration of the request. On success the page sets redirectin...

Kamo·2mo ago
Fixkamo-login

Only a spent token sends the member back to the start

Every non-ok status fell back to "Please sign in again", which is only true of 401 — the one status that means the selection token is really gone. SecurityServi...

Kamo·2mo ago
Docskamo-login

Close out the tenancy plan

Kamo·2mo ago
August 24, 2026
Featurekamo-login

Brand and scope the sign-in screen with ?org=

login.kamocrm.com is the sign-in screen for every organization that has no host of its own, so the hostname cannot say which one is signing in. ?org= does: it n...

Kamo·2mo ago
Fixkamo-login

Make the auto-login cross-tenant guard actually run

The guard read the host org's id with /"id"\s*:\s*(\d+)/ -- a bare digit straight after the colon. SecurityService's JsSafeLongSerializer writes any Long above ...

Kamo·2mo ago
Docskamo-login

Correct the sign.pink finding

The inventory called SignLinkBuilder's sign.sign.pink fallback a "foreign apex" and I recorded it as one. It is not: sign.pink is a Kamo-owned organization (id ...

Kamo·2mo ago
Featurekamo-login

Add the workspace picker

A sign-in that names no organization now comes back with a list instead of a session. This is the client half: /api/login passes that payload through (before th...

Kamo·2mo ago
Docskamo-login

Plan the host-independent tenancy rollout

Six phases, each independently shippable, because pushing deploys: the host path keeps working until Phase 6 removes it. Phase 1 is the crux and is additive --...

Kamo·2mo ago
Docskamo-login

Design host-independent tenancy

Org identity comes from the hostname today: OrgHostResolver.resolveByFqdn turns <alias>.<domain> into (orgId, providerId), and its SQL requires od.is_dns_verifi...

Kamo·2mo ago
August 19, 2026
Featurekamo-login

Rebuild the welcome panel around a live status rail

The left column was a generic headline, a security platitude and a pile of ambient decoration (dot grid, floating orbs, a pulsing dash). Replace it with one sha...

Kamo·2mo ago
Fixkamo-login

Hold the token's int64 ids as digits, not as numbers

KToken could not verify a real token. The four ids it carries are int64s, and the Java signer (kamo-shared-library KToken#canonicalForMac) appends each as a raw...

Kamo·2mo ago
August 15, 2026
Featurekamo-login

Replace the stock alert with an animated status plate

The inline sign-in messages ("Login successful! Redirecting...", "Invalid username and/or password.") used MUI's default Alert, whose pastel fill plus matching ...

Kamo·2mo ago
Featurekamo-login

Honour the org's sequential/shuffle slideshow order

config.json now carries backgroundOrder alongside backgroundImageCount. Shuffle re-randomises on every advance and never repeats the frame on screen; an absent ...

Kamo·2mo ago
August 9, 2026
CIkamo-login

Stop downloading a browser that the image never uses

Build 21 failed in puppeteer postinstall fetching chrome-headless-shell — an SSL "decryption failed or bad record mac", the same flaky-transfer class that took ...

Kamo·3mo ago
August 8, 2026
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·3mo ago
August 6, 2026
Featurekamo-login

Forward the login host so recovery can resolve the org

Password recovery now accepts a member's primary mailbox address, which only names an account within one org. This proxy reaches SecurityService over cluster DN...

Kamo·3mo ago
August 3, 2026
Featurekamo-login

Complete a login that stopped at the second factor

SecurityService now gates login on a second factor (§164.312(d)). When one is owed it creates the session but withholds its one-time key, returning a short-live...

Kamo·3mo ago
Fixkamo-login

Accept starter/enterprise plan handoff, carry promo code, target www /subscribe

kamo-register now whitelists starter|business|enterprise and stashes sp_checkout_code; the old pro|business filter silently dropped Starter buyers, and the apex...

Kamo·3mo ago
Featurekamo-login

Add analytics analytics + ?registered=1 welcome notice

- Mount analyticsAnalytics client component in the root layout: next/script loader for analytics.kamocrm.com scoped via data-domains to login.kamocrm.com on...

Kamo·3mo ago
Chorekamo-login

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 26 files changed, 7894 insertions(+), 8 deletions(-)

Kamo·3mo ago
Fixkamo-login

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

Kamo·3mo ago
July 17, 2026
Featurekamo-login

Show TRIAL USE ONLY pill above Powered-by for trial orgs

Self-fetches /api/trial-status (proxy to SecurityService public trial-status endpoint, resolved by login host) and renders an amber pill above the Powered-by pi...

Kamo·3mo ago
July 16, 2026
Featurekamo-login

Kamo-login honors software auth logo + tab title

- DynamicMetaLoader: read software identity + auth selectors from config.json, set tab title from resolved name (authNameBrandSource), persist auth-logo state...

Kamo·3mo ago
July 6, 2026
Featurekamo-login

Show account-linked notice on ?linked=1

When register links an existing account to a new org, it redirects here with ?linked=1. Show "You already have a Kamo account — we've added this organization to...

Kamo·4mo ago
Fixkamo-login

Stop viewport shaking on browsers with classic scrollbars

On machines whose Chrome uses layout-consuming (non-overlay) scrollbars, the login/recover pages fidgeted with both scrollbars flickering. Root cause: the root ...

Kamo·4mo ago
July 1, 2026
Fixkamo-login

Drop background images that 404 instead of showing a broken frame

Track failed background image loads and filter them out of the Swiper carousel, so an incompletely provisioned theme (e.g. optionone, whose bg/2.webp was never ...

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

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

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
June 26, 2026
June 15, 2026
Fixkamo-login

Proxy password-reset to SecurityService internal DNS

The /api/recover proxy defaulted to api.kamocrm.com, which Traefik routes to APIService (no recover controller) → 404 → "Something went wrong" on /reset-passwor...

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