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 11, 2026
Docskamo-internal

Kamo-careers picks up a branding change within a minute

The comment beside the Careers Logo Overlay said the careers site re-reads config.json hourly. It re-reads it every minute since kamo-careers 14c9ddb, which fix...

KamoΒ·17h ago
September 9, 2026
Docskamo-signer-monorepo

Why AssuranceLevel only ever reports SES

ESigService reports SES and only SES now. eIDAS Article 26 lets a signature call itself ADVANCED only if the signature creation data is something the signatory ...

KamoΒ·1d ago
September 7, 2026
Docskamo-marketing

The Labor Day crane is fifteen lines, not nine

The cost note counted the crane before it grew a two-leg lattice mast and a triangular jib section, which is the shape it needed to stop reading as a wobbling r...

KamoΒ·4d ago
September 6, 2026
Docskamo-internal

Finish the spec's inventory, and add the order to check things in

The "where it lives" table was written before the setup service, the media handoff, the CARRIER_TO_PHONE_SERVER rail and the phone server's default text route e...

KamoΒ·4d ago
Docskamo-internal

The two inbound shapes, and the rule that keeps the endpoint safe

Records what voipservice 9e9e814 and ea6d631 established, because the reasoning is not recoverable from the diff. A Telnyx messaging profile has exactly one we...

KamoΒ·4d ago
Docskamo-shared-library

What the thread design got wrong, as built

Two schema faults that only appeared on deploy β€” the hand-applied column that was flagged and not applied, and a frozen ddl-auto CHECK on media_sessions that wo...

KamoΒ·4d ago
Docskamo-internal

Implementation plan

KamoΒ·5d ago
Docskamo-internal

Design for the App Shelf launchpad widget

A system widget with no rights, locked to the first row of the launchpad by arithmetic rather than a band of its own, with a portalled flyout carrying each app'...

KamoΒ·5d ago
September 4, 2026
DocsMCPGatewayService

Say why this one cannot be scaled yet

McpServerManager runs each MCP server as a child process of THIS pod and tracks them in in-memory maps; McpHealthMonitor writes what it finds there into a SHARE...

KamoΒ·1w ago
DocsDaemonService

Declare why this one stays on Recreate with no preStop

KlusterServices now audits every Deployment in kamo on each deploy and fails on Recreate, a missing preStop hook, a missing readiness probe or no minReadySecond...

KamoΒ·1w ago
DocsEmailService

Seeding is bounded by the JAR, not by the database β€” and rebuild

The lazy seedForOrg call in sendToUser reads as though a missing template always heals itself. It does not. The catalogue is CanonicalTemplateLoader's and lives...

KamoΒ·1w ago
DocsSecurityService

Name the allow-list this PUT actually goes through, and rebuild on it

Two things, one of which is the point of the commit. The comment: patchOrganization is an ALLOW-LIST and it lives in the shared library, not here. This control...

KamoΒ·1w ago
September 3, 2026
Docskamo-internal

Record what the Remote Terminal deploy actually taught

Three defects, all the same shape: present in the tree, absent from the thing that serves requests β€” an IngressRoute in a directory nothing applies, a client pa...

KamoΒ·1w ago
DocsSecurityService

State why the 101 is read before anything is written

The agent parses the request with a buffered reader and then pumps the raw socket, so a byte sent ahead of the status line would be stranded in that buffer and ...

KamoΒ·1w ago
DocsKlusterServices

Pin the no-pipelining invariant on the PTY upgrade

self.rfile is a BUFFERED reader over the socket and pump reads the RAW socket, so a caller that sent bytes behind its request line would strand them in that buf...

KamoΒ·1w ago
September 2, 2026
Docskamo-shared-library

The check constraint a fourth visibility would break

Hibernate wrote `check (visibility in **************** 'PLATFORM_ADMIN_ONLY'))` when it created report_catalog. ddl-auto adds columns and never rewrites a const...

KamoΒ·1w ago
Docskamo-internal

Say that the status-label save is a whole set, not a patch

The endpoint's meaning changed underneath this client: a status left out of the list is now a deletion rather than a no-op, which is what lets a label be remove...

KamoΒ·1w ago
Docskamo-internal

The Report Studio design β€” Java-defined reports, a generic renderer

Reports are defined as Java classes in kamo-shared-library and rendered by one capability-driven frontend, so adding a report is a new class and nothing else. ...

KamoΒ·1w ago
Docskamo-internal

Design for the Help Center KB build, related articles, and public wiring

Covers the 248 source drafts under Documentation/, the tree they map to under the existing Help Center article, the new KB_ARTICLE_RELATIONS feature, and the th...

KamoΒ·1w ago
August 31, 2026
Docskamo-internal

Say which subscription the launchpad pill's gate is about

"Not already paying" means the VIEWER's own seat β€” the same question the Plans & billing page answers when it decides whether to offer them one. Worth stating, ...

KamoΒ·1w ago
August 28, 2026
DocsSecurityService

Say in the class contract that the gate can fall open

The header promised "a blocked app's endpoints all 403" without qualification, which is now true only while the entitlement tables can be read. The exception is...

KamoΒ·2w ago
Docskamo-internal

Correct the note on the removed Create My Free Org rights

ab740dd3 claimed CREATE_FREE_ORG_WIDGET and its four policy children "never existed in RoleRightType.java at all". That is wrong. They were ids 288-292, and I r...

KamoΒ·2w ago
Docskamo-internal

Design and implementation plan for the org launch and Getting Started wizard

Restores two commits dropped by a concurrent 'git reset --mixed origin/main' in this shared checkout; the files themselves survived in the working tree.

KamoΒ·2w ago
Docskamo-shared-library

Record that Organization.YEAR_EST is optional and may be cleared

The column was always nullable and both server paths already handled null β€” CreateOrganizationPayloadParser maps an empty or unparseable value to null, and patc...

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

Check in the useUserInfo shared-store handoff

The "no .md in repos" rule is retired. This handoff doc had been kept local-only; it belongs next to the code it describes.

kamoΒ·2w ago
Docskamo-internal

Close out BL1 and MS1

kamoΒ·2w ago
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-internal

Close out SW6c, and with it SW6

kamoΒ·2w ago
Docskamo-shared-library

The bug-report association holds video too

SYSTEM_BUG_SCREENSHOT now carries screen recordings alongside screenshots. The constant keeps its name and its id β€” id 17 is written into assoc_id on every row ...

kamoΒ·2w ago
DocsSecurityService

The Traefik per-IP limit will 429 a QHIN invisibly

Comment only, in the file somebody opens when a partner complains. Traefik rate-limits per source IP across the whole api.* host, and a QHIN sits behind a sing...

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-internal

Close out SW6b

Eight departures. The one that mattered was in SW6a: PUT /{uid} accepted totals and sign-off verbatim, which made both of this plan's central rules decorative u...

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
DocsSecurityService

Say why the transaction guard stops at ehr/

The two rules generalise and both shapes exist elsewhere in this service, so the obvious next move is to widen the scan β€” and doing that would fail the build on...

KamoΒ·2w ago
DocsSecurityService

Say why the overload's @Transactional is inert on the afterCommit path

Prompted by a peer session finding a @Transactional(REQUIRES_NEW) Spring never advised β€” protected, and self-invoked, so the record of a failed query rolled bac...

KamoΒ·2w ago
DocsKlusterServices

Bootstrap script and operational README

bootstrap.sh creates the master account, promotes it to reseller and writes the non-secret platform configuration. Idempotent: a second run detects the existing...

KamoΒ·2w ago
Docskamo-internal

Plan SW6b, making the six tabs persist

Labour and parts become ServiceJobLine rows on the job, not ServiceLineItem rows: OrderLineItem.order is optional=false, so a ServiceLineItem cannot exist witho...

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
DocsKlusterServices

The NAT is in place; a closed port means no listener

The router forwards for 5060/5061 TCP+UDP and 20001-29999/UDP to 192.168.4.36 are confirmed. My gate reported PHASE 0 BLOCKED against them while Kamailio was cr...

KamoΒ·2w ago
Docskamo-internal

Close out SW6a

Nine departures. The plan's Spring claim was measured false, its sketched test was near-tautological, and its ServiceTrade-labels-are-new claim was wrong β€” ther...

kamoΒ·2w ago
Docskamo-internal

Stop telling implementers to run git commit --allow-empty

--allow-empty PERMITS an empty result, it does not force one. With no pathspec it still commits the index, and these checkouts always have another session's wor...

kamoΒ·2w ago
Docskamo-internal

Stop telling implementers to run git commit --allow-empty

--allow-empty PERMITS an empty result, it does not force one. With no pathspec it still commits the index, and these checkouts always have another session's wor...

kamoΒ·2w ago
Docskamo-internal

Correct four SW6a claims, one measured false

A plain @Autowired List of an interface with no implementations does NOT resolve to an empty list β€” it throws UnsatisfiedDependencyException. Measured, not reas...

kamoΒ·2w ago
Docskamo-internal

Correct three SW6a claims, one of them measured false

An earlier draft said a plain @Autowired List of an interface with no implementations resolves to an empty list. It throws UnsatisfiedDependencyException β€” meas...

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-internal

Plan SW6a, and split SW6 into three

The spec calls SW6 'wire the finished UI', which assumed a backend existed to wire to. ServiceJob, ServiceVisit and ServiceLineItem's new columns have zero runt...

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