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
August 25, 2026
Featurekamo-internal

Availability for presenters only, and a way to understand it

Three things, all about the same layer. WHO SEES IT. The availability toggle was shown to everybody. Declaring hours is only meaningful for somebody a webinar ...

kamo·2w ago
FeatureBillingService

Make a replayed Stripe event a no-op

Adds BillingWebhookEventClaimService on its own bean, with REQUIRES_NEW on every method, and wires it into processEvent ahead of the dispatch switch. A losing c...

Kamo·2w ago
FeatureMediaService

GET /api/webinar/presenting

The webinar types the CALLER is a presenter for. The calendar asks this before it offers an availability layer at all: hours declared by a member no type lists ...

Kamo·2w ago
Featurekamo-shared-library

Find the types a member presents, and parse-guard the queries

The calendar needs to answer one question before it offers an availability layer: is declaring hours meaningful for this person? Nobody is a presenter by defaul...

Kamo·2w ago
FeatureMediaService

Tell a member about a webinar booked on their behalf

Not gated on a webinar right, unlike the ticket counters: the case this exists for is one where the member took no action at all, so requiring the right to requ...

Kamo·2w ago
Featurekamo-internal

The new organization opens in its own tab

Creating one signed THIS tab into it, so a member who created an organization on someone's behalf was silently moved out of the one they were working in — and h...

kamo·2w ago
Fixkamo-internal

Apply the branding the wizard just collected

Colours, logos and backgrounds chosen while creating an organization were not reaching it. The member opened their new workspace on default branding and had to ...

kamo·2w ago
FeatureMediaService

Count unreviewed bug reports for platform admins

Zero for an ungated caller rather than a 403: the nav polls this on every page load for every member, and an error they must routinely swallow is how real error...

Kamo·2w ago
FeatureMediaService

Route unread snapshots to their own STOMP topic

Everything on voip.> went to one topic, whose browser subscriber plays the SMS arrival sound and opens a tool window for every frame. A badge refresh there woul...

Kamo·2w ago
FeatureMediaService

Refresh unread badges when a visitor message lands

persistInbound announces its own message (publishRealtimeEvent=false, so a visitor's reply does not render as the owner's), and in doing so also skipped the unr...

Kamo·2w ago
Featurekamo-internal

Write, sign and amend a visit note

The composer changes shape once a note is signed, and that is the whole design. Before signature it is a text area that autosaves. After signature the text area...

kamo·2w ago
ChoreVOIPService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while consumers stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors Mave...

Kamo·2w ago
ChoreMediaService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while consumers stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors Mave...

Kamo·2w ago
ChoreAIService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while consumers stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors Mave...

Kamo·2w ago
ChoreSecurityService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while consumers stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors Mave...

Kamo·2w ago
FeatureSecurityService

The visit and its documentation — the loop a practice runs on

Starting a visit is what grants the clinician the chart, and that is the design rather than a side effect. A clinician about to see a patient has no relationshi...

Kamo·2w ago
ChoreTranslateService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreRAGService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreMCPGatewayService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreKBService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreEmailService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreESigService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreDocsService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreDaemonService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreConversionService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
Chorekamolos

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreInitializerService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
ChoreBillingService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
FeatureSecurityService

The FHIR R4 endpoint, with the same access rules as the chart

An interoperability endpoint is where a system is most likely to acquire a quiet bypass: it is machine-to-machine, nobody watches it, and "the integration needs...

Kamo·2w ago
Chorekamo-shared-library

1.6.0 — notification spine read pointers and counts

Kamo·2w ago
FixSecurityService

/org/current stops depending on a live Hibernate session

This endpoint is what the workspace shell loads before it renders, and the client refuses a record it cannot read — Organization.fromJSON throws without a domai...

Kamo·2w ago
Featurekamo-internal

Convert any logo to vector, and say what the scan found per step

Three things, all reported from the wizard itself. THE COMPACT LOGO NO LONGER DEMANDS AN SVG. The slot can only store a vector -- the backend writes it to a fi...

kamo·2w ago
Fixkamo-shared-library

Make the retail webhook signature check fail closed and compare in constant time

validateSignature used to return true three ways without verifying anything: a null secret short-circuited, six of eleven provider types fell through default ->...

Kamo·2w ago
Featurekamo-shared-library

Render the chart as US Core FHIR R4

The JSON builder is hand-rolled rather than a Jackson ObjectMapper, and that is a scar rather than a preference. This platform ships a global Long->String seria...

Kamo·2w ago
Featurekamo-internal

Workweek Days, Weekend Days and Every Day in the Day field

Declaring the same hours five times over was the only way to say 'I present on weekdays'. The Day field now offers the three groups above the individual days. ...

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

Commit the Dispatch/Service Work program design and its evidence corpus

Both program specs and all 56 research files were untracked and existed only on one disk, while HANDOFF.md tells the next session to read them first. Also reco...

kamo·2w ago
Docskamo-internal

Plan webhook hardening and idempotency across BillingService, shared-library and APIService

Ten tasks, TDD throughout, with the severity restated to what was actually verified: the Stripe fail-open is latent (the secret is present in prod, 38 bytes) an...

kamo·2w ago
Featurekamo-internal

A healthcare market's commerce surface is its revenue cycle

The other verticals show orders and agreements because that is where their money is. A medical practice's money is in claims — and specifically in the ones noth...

kamo·2w ago
FeatureSecurityService

The revenue cycle worklists, and the one restriction that outranks them

Every list here exists because its failure mode is a MISSING row rather than a wrong one, which is why none of them show up in an ordinary report. A claim a cl...

Kamo·2w ago
Featurekamo-shared-library

Count new bug reports under the listing's own visibility rule

The badge and the list it opens are read side by side; a count computed under a different tenancy rule than the list is a bug report waiting to happen.

Kamo·2w ago
Featurekamo-shared-library

Count missed calls a member has not been shown

callResult is a free-form provider string, not an enum — the history tab matches the literal 'Missed', and upper() is what stops a provider that reports MISSED ...

Kamo·2w ago
Featurekamo-shared-library

Record whether an attendee has been told

The case this exists for is a webinar booked on somebody's behalf by somebody else: registration was recorded and nothing in the app ever told them. status coul...

Kamo·2w ago
Featurekamo-shared-library

Count assistant replies the member has not seen

Keyed by session GUID because that is what a tool window carries. ASSISTANT only: a member's own prompt is not news to them.

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

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