Live Change Log

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

17,896
Total Changes
4,600
Features
4,522
Fixes
32
Projects
Filter by project
All Projects17,896AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService364InitializerService299KBService74KlusterServices542MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,565kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,600Fix4,522Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
September 11, 2026
FeatureESigService

Saving a template's fields is a version of the template

A template is a document with a layer of fields over it, and a version of it is both halves: its bytes and that layer. Its underlying file's saves already reach...

Kamo·23h ago
FeatureDocsService

Files and templates, edited in place, with the versions each category keeps

A document was two records: the upload, which nothing edited, and one modified copy derived the first time anyone opened it in either editor. The Docs manager s...

Kamo·23h ago
Featurekamo-shared-library

Document versions, and the versioning mode an organization chooses

Documents were two records: the upload, which nothing edited, and one modified copy derived the first time anyone opened it to edit. Members found the pair conf...

Kamo·23h ago
Featurekamo-internal

A Nav Logo Overlay and a Careers Logo Overlay

Behavior & Labeling gains two more logo overlays in the vocabulary the other six use - a token, resolved against the org's own palette: - "Nav Logo Overlay", d...

Kamo·23h ago
FeatureSecurityService

Bake the careers site's logo overlay into config.json

kamo-careers paints the org's logo in its header and has no OrgContext; it reads the theme config.json on the server, the same file login, register and apps tak...

Kamo·23h ago
Featurekamo-shared-library

A logo overlay for the nav rail and one for the careers site

Two more columns in the vocabulary home_logo_overlay established: a token, not a hex, so an org that rebrands keeps an overlay that matches its new colours. Bot...

Kamo·23h ago
Featurekamo-internal

A minimized Exec2Exec head runs a current of light round its rim

A line to KamoCRM's executives must never sit in the dock looking like one more chat. Its minimized head now carries an energy rim: a gold-to-white-to-sky arc r...

Kamo·23h ago
FeatureMediaService

A conversation reaches the phone

A message on an Exec2Exec line now goes to the recipients' phones as well as their consoles: the customer's phone when KamoCRM replies, every desk member's phon...

Kamo·23h ago
September 10, 2026
Featurekamo-internal

NavTop's Exec2Exec control is the desk for a KamoCRM executive

For a member with Exec2Exec Access standing in the platform organization, the control now counts messages from clients they have not viewed (GET ***************...

Kamo·1d ago
FeatureMediaService

The desk's count of client messages not yet viewed

GET **************** returns how many messages from clients this EXEC2EXEC_ACCESS holder has not viewed, across every conversation, and each roster row carries ...

Kamo·1d ago
FeatureKlusterServices

Dial 911 and 933 from every extension, with an MLTS email notice

Extensions could not reach 911: no outbound route matched 911 or 933, so from-internal fell through to bad-number and played "cannot be completed as dialed" wit...

Kamo·1d ago
Featurekamo-marketing

List the phone number on the English pages only

showsPhone(locale) in app/lib/phone.ts is the single rule, currently locale === "en". PhoneLink returns nothing elsewhere, which covers the header, mobile menu ...

Kamo·1d ago
Featurekamo-marketing

Let the logo lead home, and list the phone number where visitors decide

The header's Home entry duplicated the logo, which already links to /. It is gone from the desktop and mobile menus; in its place the logo carries a hover/focus...

Kamo·1d ago
Featurekamo-internal

One brand-painted dropdown surface for the whole top bar

Every dropdown that hangs off NavTop — the eight option menus (Mail, Docs, Call / Text, Calculator, Support, Settings, Linux Desktop, Games), the availability p...

Kamo·1d ago
FeatureMediaService

Seat the whole desk on every chat, show who is on it, close the chat feeds

- Standing membership: every explicit EXEC2EXEC_ACCESS holder sits on every Exec2Exec conversation. Exec2ExecDeskReconciler seats and unseats from the grant...

Kamo·1d ago
Featurekamo-marketing

Hand Google the green-tile mark, because it lists the largest icon we declare

Search shows one icon per site and takes the largest one declared, apple-touch-icon included, so the 180px touch icons (ours and the theme's) outranked everythi...

Kamo·1d ago
Featurekamo-internal

Show who from KamoCRM is on the chat, and how to reach them

The customer's window now lists the KamoCRM executives on their conversation, re-read whenever somebody is added or removed. The line shows NAMES only, with tit...

Kamo·1d ago
FeatureSecurityService

Say when the desk changes

Granting or revoking Exec2Exec Access now publishes exec2exec.desk.changed, so MediaService can put an executive on every chat — or take them off — as the toggl...

Kamo·1d ago
Featurekamo-shared-library

Carry the executive's phone line on a message

ChatMessageDto gains senderPhone and senderPhoneExt, set only when the sender is KamoCRM staff: the platform org's main line plus the extension that reaches tha...

Kamo·1d ago
Featurekamo-internal

Stop at a pinned Interaction Center; keep windows under every menu

Two follow-ups to 0c5ef994 (maximize beside the nav). A PINNED Interaction Center now takes its width away from the maximized pane. Pinned, the panel is worked...

Kamo·1d ago
Featurekamo-internal

Maximize beside the nav, not over it

A maximized tool window used to take the whole viewport. It, its navigator column and its tab strip were all pinned at (0,0) at the dock's stacking level, over ...

Kamo·1d ago
Featurekamo-shared-library

List the members who hold a platform right

countHoldersOf answered how many; the Exec2Exec desk needs who. Grant rows alone are the wrong answer to "who works the desk" — the top-level owner holds every ...

Kamo·1d ago
Featurekamo-internal

The executive channel in the console

A direct line between a customer executive and the KamoCRM executives: the chat half of the support window with no ticket, no status, no rating and no queue. T...

Kamo·1d ago
FeatureSecurityService

Store the Welcome Message

The greeting the platform sends first over Exec2Exec, on the platform config singleton where every other platform-wide setting already lives. Two new endpoints...

Kamo·1d ago
FeatureMediaService

Serve the executive channel

A conversation with its own audience rule and no ticket machinery, following SystemBug's shape: its own package, its own controller, its own visibility, and Med...

Kamo·1d ago
Featurekamo-shared-library

The executive channel's foundation

One standing conversation between a customer executive and the KamoCRM executives, keyed on the USER rather than on a member — which is what lets it follow some...

Kamo·1d ago
Featurekamo-signer-monorepo

The org's wallpaper behind every page, and white copy on it

kamo-sign was the one white-labelled surface still painting a flat grey. It now plays the inviting organization's background photography the way kamo-login, kam...

Kamo·1d ago
Featurekamo-internal

Finish the category page — width, one back arrow, real words

The three managers were written to sit inside a nested tab of a tab. As a page of their own they needed the space they now have. - Configuration capped itself ...

Kamo·2d ago
September 9, 2026
Featurekamo-internal

Categories are a table, and each one opens as its own page

/settings/features/docs carried eight tabs: General, then seven that each mounted the same three managers against a different ordinal. Seven copies of one scree...

Kamo·2d ago
FeatureDocsService

Serve the document categories from the enum that defines them

The docs settings page named its own categories and sent the ordinal it believed each one had. Those ordinals were written when ImageAssocType was six constants...

Kamo·2d ago
Featurekamo-signer-monorepo

A compact trigger for the signed-copy menu

The sender's envelope list and any table of assigned packages have a row, not a hero slot, and the labelled pill does not fit one. `iconOnly` gives the SAME men...

Kamo·2d ago
Featurekamo-signer-monorepo

The § 7001(c) disclosure ships with the code, in twenty-two languages

`@kamo/esign-core` now carries the consumer disclosure itself — six clauses, every language the product signs in, and `consentDisclosure(locale, brand)` to fill...

Kamo·2d ago
FeatureESigService

A real Certificate of Completion, and the three copies of a signed record

What the flatten pipeline appended was one page per signature carrying seven lines: name, email, member id, timestamp, capture method, IP, user agent. No routin...

Kamo·2d ago
Featurekamo-shared-library

Record WHICH consent disclosure a signer accepted, and in which language

`consentedAt` records that somebody ticked a box. 15 U.S.C. § 7001(c) is a list of specific things a consumer must be told BEFORE consenting — the right to pape...

Kamo·2d ago
Featurekamo-signer-monorepo

One signing surface for both apps, and the white label finally paints

The signing UI existed twice — here, and hand-copied into kamo-internal's legal execution wizard — and the two had drifted in both directions. `@kamo/esign-core...

Kamo·2d ago
Featurekamo-signer-monorepo

Render the Signature Date field, and make readOnly mean something

Three changes, of which only the first is new work. **`signature_date`** is a field ESigService fills at the instant the signer signs — never the browser, whos...

Kamo·2d ago
Featurekamo-internal

A Signature Date field, and a send that admits when nothing was emailed

**"Sent" was not the same thing as "delivered", and the dialog never said so.** ESigService discarded the result of every invitation email, so a send whose mail...

Kamo·2d ago
Featurekamo-internal

Open at the front of a new session, stay put inside one

Two rules that only make sense together, and the panel did the opposite of both. A member arriving in a NEW browser tab — a fresh sign-in, a second tab opened ...

Kamo·2d ago
Featurekamo-marketing

Give the film a watch page, because Google will not index it from the homepage

Search Console reports the one video on this site as "video is not on a watch page". That is not a bug in the hero — it is Google saying the homepage is about t...

Kamo·2d ago
Featurekamo-internal

Twelve endings, and every one of them looks different

A hand ends for everyone at the table at once and it ends differently for each of them. Until now it ended one way: somebody won a pot, and the window played th...

Kamo·2d ago
Featurekamo-internal

A side pot says who is playing for it

The last "consider" left in the request, and the one question a short stack actually has: when the middle splits in two, both piles look like money and only one...

Kamo·2d ago
Featurekamo-internal

One table at a time, and a table you can name

The felt half of the four rules MediaService started enforcing in a02dd1d. ONE WINDOW. The registry said `maxInstances: Infinity`, reasoning in a comment that ...

Kamo·2d ago
Featurekamo-internal

The whole window celebrates when somebody wins

A win used to be a sentence in a strip under the board. It is now the entire tool window: an impact flash and a shockwave, light turning behind the board, firew...

Kamo·2d ago
Featurekamo-internal

The Directory leads the tab strip, Chats follows

Flips the two always-present tabs. The strip now reads Directory, Chats, Sales Scripts, Terminals. The panel still OPENS on Chats: the button that opens it is ...

Kamo·2d ago
FeatureMediaService

No empty tables, numbered tables, and one table per member

Four rules, all of them things a member reported seeing broken. EMPTY TABLES. A lobby showed three tables while one game was being played. Two had no seats at ...

Kamo·2d ago
Featurekamo-internal

A put-away table says you are on the clock

The other half of the hexhead turn indicator. A minimized Hold'em window now lights its head while the action is on you, and drains the head's own outline — gre...

Kamo·2d ago
Featurekamo-internal

A minimized game says it is your move

A head could already say a message had arrived. It could not say a game was waiting on you — chess tinted its border brass, which on a forty-pixel hexagon at th...

Kamo·2d ago
Featurekamo-internal

The Show button, and the clock hook mounted

The client half of showing a hand nobody made you show, plus the mount point for the turn-clock audio that landed dead in the previous commit. SHOWING OUTRANKS...

Kamo·2d ago
Featurekamo-internal

Your own clock, out loud

A thirty-second clock a player is not watching is a hand lost to a timeout while reading an email, and the felt's draining bar only helps somebody already looki...

Kamo·2d ago
Featurekamo-internal

Every logo on the Branding card can be downloaded

The download control shipped on one of the six artwork slots — the compact company logo — because the row was written inline at that one call site. The other fi...

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