Live Change Log

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

17,852
Total Changes
4,571
Features
4,509
Fixes
32
Projects
Filter by project
All Projects17,852AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService347InitializerService299KBService73KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,516TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,549kamo-login318kamo-marketing580kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,571Fix4,509Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 11, 2026
FeatureSecurityService

Void an organization, and let no way in reach a voided one

Platform -> Configuration -> Organizations can now void an organization. The void is orgs.is_active = FALSE; this commit adds the action and makes every way INT...

KamoΒ·15m ago
FeatureSecurityService

Give every public entry an address, and page the list on the server

The public changelog served entries with no identifier, so the marketing site could neither link to one nor list them in a sitemap. Each entry now carries a slu...

KamoΒ·4h 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Β·15h ago
September 10, 2026
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
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
September 7, 2026
FeatureSecurityService

Probes for the eleven derived easter eggs

Eleven of the fifty secrets are questions about durable data rather than about whether a member has SEEN something, so they are DERIVED and they backfill: a mem...

KamoΒ·3d ago
FeatureSecurityService

Award Loitering from the session that is still open

The measure is the age of the *** the member is holding, so the session had to start carrying the instant it was minted β€” nothing anywhere recorded it, because ...

KamoΒ·3d ago
FeatureSecurityService

Serve the three layers of the contact-effect stack

GET /api/security/contact-effects returns the platform, org and member layers in one round trip; PUT and DELETE on /{scope} write and reset one layer. The servi...

KamoΒ·4d ago
FeatureSecurityService

Award and backfill the single-action achievements

Twenty-six of the thirty-five are questions the database can already answer, so they are awarded by asking it. SingleActionProbes holds one EXISTS per achieveme...

KamoΒ·4d ago
FeatureSecurityService

Award the six tracking-link achievements, and backfill them

**************** reads all six of a member's marketing counters in one row and settles all six tracks against them. Wired into /self and /self/pending beside th...

KamoΒ·4d ago
FeatureSecurityService

An owner's storage position, carried on a payload that already exists

The launchpad is getting a storage meter, and the obvious way to feed it is a request of its own on every page load. The numbers do not deserve one: "used" come...

KamoΒ·4d ago
FeatureSecurityService

Award SPREAD_THE_WORD from the Growth Hub

**************** counts a member's APPROVED Growth Hub submissions and settles their SPREAD_THE_WORD level against that count. It RECOUNTS rather than being to...

KamoΒ·4d ago
FeatureSecurityService

Award Join The Team to everybody, without a backfill

SecurityService owns the member, so it owns the achievement. It awards, reads, acknowledges and publishes; MediaService only relays. EVERY MEMBER GETS JOIN THE...

KamoΒ·4d ago
FeatureSecurityService

A callback can invite the lead it is with

Scheduling a callback told the lead nothing. The dialog said so outright β€” "The lead is not notified" β€” and the only way to get a customer the time in writing w...

KamoΒ·4d ago
September 6, 2026
FeatureSecurityService

Send To AI tells everybody on the thread, not just the reporter

The dispatch sends the same letter MediaService does, so its audience has to move the same way: every participant in the report's thread minus whoever acted, ea...

KamoΒ·4d ago
FeatureSecurityService

Only a god may administer a god, and no god is impersonable

MANAGE_USERS reached the break-glass identity. UserAdminController guarded only the System User, so a non-god holder could disable a god account and revoke its ...

KamoΒ·5d ago
FeatureSecurityService

Say which plan an organization is on, and who may change it

The console could tell that a trial was running and nothing else. entitlementSource is "TRIAL" or null, so free, expired-trial, paid and comped organizations we...

KamoΒ·5d ago
FeatureSecurityService

An administrator may grant a peer or a lesser, never a superior

MANAGE_PLATFORM_ADMINS is the right to administer the platform's access list, not a right to invent access. Without a ceiling it was silently every right at onc...

KamoΒ·5d ago
FeatureSecurityService

Sweep the dev machine for coder usage and publish what moved

Feeds the two meters the Linux Desktop menu now draws β€” how much of a member's A sweep rather than a push, because the numbers are born on the machine and stat...

KamoΒ·5d ago
FeatureSecurityService

Deliver ribbon wording, and generate favicons from a tab icon

Provisioning learns two things: what an organization wants its public corner ribbons to say, and which artwork its browser-tab icons should be cut from. **Ribb...

KamoΒ·5d ago
FeatureSecurityService

Record the advert for a candidate who signs in instead of registering

Registration already wrote recentlyAppliedForId when an account was CREATED. This is the other half of the same funnel: plenty of people who press Apply on the ...

KamoΒ·5d ago
September 5, 2026
FeatureSecurityService

Record the advert a candidate registered for, and welcome them when hired

Registration on the /team path now accepts appliedJobId β€” the uid kamo-register parked when the careers board sent the candidate to /team?jobId= β€” and writes it...

KamoΒ·5d ago
FeatureSecurityService

Publish an application deliberately, and give its page a chat key

`PUT **************** publishes or retires a product's public page and records which web chat its support widget speaks through. Enabling without one is refused...

KamoΒ·5d ago
FeatureSecurityService

Serve the public mortgage application, addressed by product

Three unauthenticated endpoints under **************** plus the CRUD behind the organization's own state licences. **The organization is named by the PATH, nev...

KamoΒ·6d ago
FeatureSecurityService

Expose what a seat change will cost before it is made

Raising a subscription's seat count now raises an invoice β€” a per-seat startup fee follows the person, so ten hires on a $99 plan is $990 and a large account ru...

KamoΒ·6d ago
FeatureSecurityService

Record which domains authorize us, so their mail can go out as them

Transactional mail currently picks its From address by asking who hosts an organization's MAILBOXES. That is the wrong question. Whether we may send as chinilaw...

KamoΒ·6d ago
FeatureSecurityService

Carry a terminal's activity state to the console

TerminalSummary gains `state`: busy, or waiting for its member. Read off the session's transcript β€” neither of which is knowable from here, which is why it trav...

KamoΒ·6d ago
FeatureSecurityService

Carry the member's model and effort to a coder session

and deliberately not examined here. `coder_flags` on the agent is the one thing that decides what a session runs with β€” its own comment calls it "the security ...

KamoΒ·6d ago
FeatureSecurityService

Refuse a sign-in whose host names no organization

Such a host could sign in until now. It fell through to the workspace-choice path and succeeded on membership alone, which made it a door where none of the tena...

KamoΒ·6d ago
FeatureSecurityService

Progressive sign-in lockout, escalating to a permanent IP block

A wrong password now costs something, and the cost climbs. Counted since the subject's last successful sign-in: the first five failures are free, the sixth and ...

KamoΒ·6d ago
September 4, 2026
FeatureSecurityService

Serve each org the callback URL on its own domain

This endpoint is where a member finds the string they paste into Google's console, so it is the endpoint that was wrong: it returned only the redirect the org h...

KamoΒ·6d ago
FeatureSecurityService

User-account details belong to their owner, or to an operator

One rule, in one place, for the three endpoints that write a USER account: the profile's member update, the profile's personal address, and the platform Users t...

KamoΒ·6d ago
FeatureSecurityService

Let a god operator and the System User set somebody's address

The personal address was self-only. It is also the address an administrator has to be able to correct β€” a member who has lost the mailbox on their account canno...

KamoΒ·6d ago
FeatureSecurityService

Lock the shared sweeps, and run two pods

Sixteen of SecurityService's seventeen scheduled sweeps have a shared effect and now take a named distributed lease before running. There is no ShedLock anywher...

KamoΒ·6d ago
FeatureSecurityService

List a member's coder sessions, and open one in a terminal

Two endpoints beside the terminal ones, and they follow the same rule those do: the Linux account is resolved from the CALLER'S OWN SESSION and no account name ...

KamoΒ·6d ago
FeatureSecurityService

Bake the sign-in and sign-up logo overlays into config.json

kamo-login and kamo-register run on their own hosts with no OrgContext, so this file is the only route their branding takes - the same one KamoMeet already uses...

KamoΒ·6d ago
FeatureSecurityService

Change a personal address by proving it, and administer accounts

Two surfaces on the USER account, which until now had no server of its own β€” the account's fields were reachable only through MemberController, an endpoint scop...

KamoΒ·6d ago
FeatureSecurityService

Read a domain's live SPF record and say what it actually needs

GET /api/security/domains/{id}/spf, for the SPF step on /setup/dns. The setup page cannot give one set of SPF instructions to everybody, because the right inst...

KamoΒ·1w ago
FeatureSecurityService

Force KamoMobile Logout β€” revoke a member's mobile devices

Force-logout deletes *** sessions, which ends a browser. It does NOT end a phone: KamoMobile holds a durable device token and mints a fresh *** from it the mome...

KamoΒ·1w ago
FeatureSecurityService

Org-side CRUD for an organization's own OAuth2 client

The org-scoped twin of PlatformOAuthClientController, behind **************** Same DTO shape, same encrypt-on-write, same never-return-a-secret rule, plus platf...

KamoΒ·1w ago
FeatureSecurityService

Serve an org's branding from the host it is browsed on

A white-label sign-in screen is reached at login.<customer domain> with no ?org= on the URL and nothing in sessionStorage, so the front end has no way to name t...

KamoΒ·1w ago
September 3, 2026
FeatureSecurityService

Send to AI now runs in a Remote Terminal the operator can watch

The dispatch prepares the hand-off on the dev machine β€” screenshots, video and the composed prompt written to disk β€” and answers with the terminal it will run i...

KamoΒ·1w ago
FeatureSecurityService

Seed the two careers rights onto HR's existing authoring group

MANAGE_JOB_POSTINGS and VIEW_JOB_LISTINGS are inserted as NOT_SPECIFIED like every new right, so without a seed the /hr/careers tab and the member Careers tab w...

KamoΒ·1w ago
FeatureSecurityService

List, rename and end a member's terminals

GET **************** DELETE and PATCH on /terminals/{id}. Every one of them resolves the Linux account from the CALLER'S OWN SESSION and passes no account name...

KamoΒ·1w ago
FeatureSecurityService

Serve the widened accept gate, add self-assignment, and close two contact-mask bypasses

**Endpoints for the new gate.** /leads/available-summary and /leads/available now report both reasons a member is blocked β€” leads owed a note since they were as...

KamoΒ·1w ago
FeatureSecurityService

Serve Remote Terminal β€” a real shell over a WebSocket

Bridges a browser to a PTY on the member's own dev machine. Binary frames are the terminal, text frames are control; on the far hop an HTTP 101 onto a length-pr...

KamoΒ·1w ago
FeatureSecurityService

Send the company alongside the contact wherever a record is labelled

A record that is both an organisation and a person is named "Harmony Home Loans (Nickolas McGarry)" β€” the company leads, the contact qualifies. That rule lives ...

KamoΒ·1w ago
FeatureSecurityService

A communications timeline over the whole /leads filter, not one lead

GET **************** takes the SAME query string GET the lead detail page draws β€” across every lead the filter bar matches. "What has been said to the leads I a...

KamoΒ·1w ago
September 2, 2026
FeatureSecurityService

Enter a tenant organization as one of its members, from /network

A second door beside the same-org god-mode one. Gated on the new IMPERSONATE platform right via @RequirePlatformRight, where the existing door is gated on the s...

KamoΒ·1w ago
FeatureSecurityService

A member address signs you into its own org, not every org

A member who signs in with the org mailbox flagged Primary on their member settings was being offered every workspace their user account belongs to. The address...

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