Live Change Log

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

17,865
Total Changes
4,581
Features
4,512
Fixes
32
Projects
Filter by project
All Projects17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 6, 2026
Featurekamo-login

Let the organization word the ribbon, and own the tab icon

"Welcome Back!" moves out of the root layout into PaneRibbon, a client component, because the wording is now the organization's to choose and this site learns i...

KamoΒ·5d ago
Fixkamo-login

Carry a referral code through to the register link

The referral code normally travels in the apex cookie the marketing site sets (kdsc_src on .<apex>), which register.<apex> reads for itself, so this link does n...

KamoΒ·5d ago
Featurekamo-login

Carry the job advert through a sign-in, and land on the Careers tab

Somebody who presses Apply on the public careers board and already has an account reaches the register page, follows the sign-in link, and used to arrive on a d...

KamoΒ·5d ago
September 5, 2026
Revertkamo-login

Drop the animated glimmer

Removes the corner-fading sheen added in 70d068c and 6810799 in full: both spinning layers, the conic gradients, the ring and envelope masks, and the extra z-in...

KamoΒ·6d ago
Featurekamo-login

Fade the glimmer out at two corners, and cap it at half

The sheen now dies completely at the top-right and bottom-left corners and peaks, at half opacity, over the top-left and bottom-right. Each revolution reads as ...

KamoΒ·6d ago
Featurekamo-login

Run a glimmer round the pane's gap every five seconds

A conic gradient centred on the pane, spun once per --glimmer-period, painted twice: a sweep filling the 15px gap, and a 2px rim on the pane's own border. The r...

KamoΒ·6d ago
Featurekamo-login

Seat every screen in a rounded pane under a corner ribbon

Every route now renders inside .kamo-pane: a card inset 15px from the browser edge with a 14px radius, a soft shadow, and overflow:hidden, so a page's own conte...

KamoΒ·6d ago
Fixkamo-login

Prove the deploy by digest, not by tag

The preceding commit stops `set image` being a silent no-op. This asserts the outcome: after the rollout, the tag is resolved to a digest at the registry and th...

KamoΒ·6d ago
Fixkamo-login

A rebuild of the same commit deployed nothing and reported success

The image is tagged with the commit SHA, so rebuilding the same commit produces an identical image reference. `kubectl set image` then changes nothing, the Depl...

KamoΒ·6d ago
Fixkamo-login

Make the strike meter agree with its own caption, and read aloud

Three things the screen was getting wrong, all found by looking at it rather than by running it. The bar was a TALLY of failures, wrapping every five segments....

KamoΒ·6d ago
Featurekamo-login

Show the progressive lockout, so a held sign-in explains itself

The server now refuses sign-ins on a ladder β€” five free attempts, then five seconds, then locks of five, fifteen and thirty minutes, then a permanent block. Wit...

KamoΒ·6d ago
September 4, 2026
Featurekamo-login

Drain on SIGTERM, answer a readiness probe, and run two pods

Next handles SIGTERM with a bare process.exit(143), so every deploy severed whatever this pod had in flight β€” a form post, a server action, a streamed RSC paylo...

KamoΒ·1w ago
Featurekamo-login

Paint every logo on the sign-in site in the org's overlay colour

The org chooses "Login Site Logo Overlay" in kamo-internal beside the home page and loading screen overlays. One setting for the whole site: the sign-in form, t...

KamoΒ·1w ago
Fixkamo-login

Never show a status phrase to somebody who clicked a link

Rendering the page against an unreachable backend put "Internal Server Error" on screen as the explanation. That is a status phrase written for an operator read...

KamoΒ·1w ago
Featurekamo-login

Answer the link in an address-change letter

/verify-email-change spends the token in a change-of-address letter and says what happened. It lives here rather than in the workspace because the letter goes t...

KamoΒ·1w ago
Fixkamo-login

Give the rollout room for the 15s minReadySeconds now costs

progressDeadlineSeconds was 60. That is the window a rollout has to show progress before Kubernetes gives up and marks it failed, and the previous commit added ...

KamoΒ·1w ago
Fixkamo-login

Let a rollout finish what the old pod was doing

Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...

KamoΒ·1w ago
Fixkamo-login

Paint a white-label sign-in screen from the host's organization

Every image and colour was missing on login.<customer domain> for any organization created after the 2026-08-26 alias migration. getThemePath() resolves an exp...

KamoΒ·1w ago
August 28, 2026
Chorekamo-login

Delete /api/auto-login, which no longer has a caller

The endpoint existed to turn an existing *** cookie into an OTK and a redirect so the login page could forward a signed-in member straight into their workspace....

KamoΒ·2w ago
Featurekamo-login

Let a signed-in member reach the sign-in form, and back out of the workspace picker

Two halves of the same problem: the login page was a one-way street. It validated any existing *** cookie on load and, when the session was still good, redirec...

KamoΒ·2w ago
August 27, 2026
Docskamo-login

The FreeSWITCH crash was mod_kazoo's default config, not the event profile

The stub kazoo.conf.xml 2600Hz ship has no definitions, event-handlers or fetch-handlers sections. mod_kazoo says as much and then faults in its own config thre...

KamoΒ·2w ago
Docskamo-login

Record four more KamoPBX bring-up traps

- Community mod_kazoo (FreeSWITCH v1.10.11) connects to ecallmgr, reports "Connected", and then never answers a gen_server:call. Resolved by taking 2600Hz's...

KamoΒ·2w ago
Docskamo-login

Resolve the Kamailio question β€” SIP registration works end to end

Section 16 recommended a purpose-built config on stock Kamailio and recorded that "2600hz/kamailio does not exist". Both are corrected by evidence. Two further...

KamoΒ·2w ago
Docskamo-login

Record what is running and the traps that cost a build each

Nine failure modes discovered the hard way, each of which would otherwise be rediscovered: the gitignored vendor tree, make re-fetching over it, ripgrep honouri...

KamoΒ·2w ago
Docskamo-login

2600Hz ships a patched Kamailio (spec 16)

kazoo-configs-kamailio does not run on stock Kamailio. bflags and import_files are both absent from kamailio/kamailio's own src/core/cfg.lex, and both are rejec...

KamoΒ·2w ago
Featurekamo-login

Reveal the preselected workspace, and give the list the org's scrollbar

Two things about the workspace picker, both about the same list. The workspace a member used last is preselected and named on the button, because this screen i...

KamoΒ·2w ago
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Β·2w 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Β·2w 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Β·2w 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Β·2w ago
Docskamo-login

Design per-extension PBX billing

KamoΒ·2w ago
August 26, 2026
Docskamo-login

Handoff for per-extension PBX billing

KamoΒ·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w ago
Docskamo-login

Close out the tenancy plan

KamoΒ·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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Β·2w 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