Live Change Log

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

17,992
Total Changes
4,652
Features
4,558
Fixes
32
Projects
Filter by project
All Projects17,992AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService386InitializerService303KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,530TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,602kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,328kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,652Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
August 25, 2026
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
FixSecurityService

A failed workspace selection no longer destroys the sign-in

Reported as being thrown back to the email field with "Your sign-in timed out. Please sign in again." after clicking Continue. The timeout had not happened — th...

Kamo·2w ago
Featurekamo-shared-library

The healthcare engagement vocabulary

An appointment is the INTENT — a slot someone holds and may not keep — and the ENCOUNTER is the commitment: the visit that actually happened, the thing a note i...

Kamo·2w ago
Featurekamo-internal

Give bugs and enhancements their own support section

The two report entries were sitting under "Online Support" beside Contact Support and View Active Tickets, which is a different errand: those two are asking a p...

kamo·2w ago
FixSecurityService

Stop the logo pass starving backgrounds, and read <picture>

Diagnosed against a real site that returned six logos, brand colours and zero background images. Three separate causes, all ours. The logo pass could eat the e...

Kamo·2w ago
Featurekamo-internal

Member-level availability, with sub-tabs and a calendar layer

**************** now has two sub-tabs. "Webinar Types" is what an administrator configures — the offering, its presenters, its reminders. "Scheduled Availabilit...

kamo·2w ago
FeatureSecurityService

Seed MANAGE_WEBINAR_SCHEDULES from MANAGE_SUPPORT_SETTINGS

Until availability moved onto the member, MANAGE_SUPPORT_SETTINGS holders were the one group who set it — they authored the dated slots on each webinar type, wh...

Kamo·2w ago
FeatureInitializerService

Create member_availability_window, retire the dated slot table

Creates member_availability_window, adds **************** and rebuilds webinar_child_org_restriction around the type plus an optional weekday. Drops webinar_ava...

Kamo·2w ago
FeatureMediaService

Resolve bookable times from member availability

Availability is now computed rather than stored. MemberAvailabilityService owns the arithmetic: expand each presenter's declared windows over the type's booking...

Kamo·2w ago
Featurekamo-shared-library

Move availability from the webinar type onto the member

Availability was webinar_availability_slot: a dated (date, start, end) row owned by a WebinarType. A presenter who ran three kinds of session had to declare the...

Kamo·2w ago
Featurekamo-internal

The Patient Records surface — day, safety, search and chart

A nav entry, four panels and a chart. The design decisions worth reading are the ones where the screen is a control rather than a view. The chart's allergy ban...

kamo·2w ago
Featurekamo-shared-library

Give an SMS conversation a read pointer

VoipConversation had no notion of read at all, so an SMS could be shown but never recorded as seen. Null means never looked, which counts all inbound — the hone...

Kamo·2w ago
Featurekamo-shared-library

Count social conversations as unread

Social sessions were excluded from the unread membership query by a hand-written type list, so a social conversation could never show a count anywhere. They are...

Kamo·2w ago
Otherkamo-internal

Tighten the screenshot drop hint

"Drag images here, paste from your clipboard, or click to browse" becomes "Drop image, paste from clipboard, or click to browse" — the three things you can do, ...

kamo·2w ago
Fixkamo-internal

Close the dead space under the lead grid's pager

The pager sits at the bottom of the grid Card's CardContent, and CardContent ships `&:last-child { padding-bottom: 24px }` of its own. That selector carries a c...

kamo·2w ago
FixKlusterServices

The auto-reconnect was watching for a class that never appears

It keyed on **************** That class exists in Guacamole's stylesheet and in none of its templates, so the selector matched nothing: the script loaded, ran, ...

Kamo·2w ago
FeatureSecurityService

Keep room for the compact mark among a pile of lockups

A straight "best six by score" is the wrong cap for this, and the reason is the shape of real sites: a company's wide lockup appears in the header, in JSON-LD a...

Kamo·2w ago
FixKlusterServices

Cap Guacamole's heap, and unbreak the deploy that was blocking it

Two faults, one of them mine. MINE FIRST: the `node --test` gate added with the auto-reconnect script pointed at a DIRECTORY, and the runner's node resolves a ...

Kamo·2w ago
FeatureInitializerService

Read pointers for SMS, AI chat, webinars and missed calls

Three of the five conversation surfaces had no server-side notion of read at all. All four columns are nullable with no backfill: null means never looked, which...

Kamo·2w ago
Featurekamo-internal

Fit the report form in the window without scrolling

The form was about 120px taller than the 460x690 window's content area, so every new report opened on a scrollbar. Six changes, each of which also reads better ...

kamo·2w ago
Featurekamo-shared-library

The Patient Records rights, and the access rights they are not

Twenty-three rights under ServiceType.EHR, and every one of them is a SECOND gate rather than the only one. Holding VIEW_CHART does not let a member open a char...

Kamo·2w ago
Docskamo-internal

Implementation plan for quiet hexheads and the notification spine

33 tasks across five phases whose order is load-bearing: the schema must be run before any service maps a column, the library published before the services buil...

kamo·2w ago
Fixkamo-internal

Say plainly what the domain field is for

The hint explained the field in terms of the hosts it produces — internal.<domain> for the workspace, login.<domain> for sign-in — which means nothing to somebo...

kamo·2w ago
FeatureSecurityService

The clinical API — patients, schedule, chart, and the gate in front

The access rule is the part worth reading. Being logged in is not a reason to see a chart. The overwhelming majority of real HIPAA enforcement is not outside at...

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