Live Change Log

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

17,980
Total Changes
4,641
Features
4,557
Fixes
32
Projects
Filter by project
All Projects17,980AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService385InitializerService301KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,527TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,598kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,326kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,641Fix4,557Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
August 12, 2026
FeatureSecurityService

Relay the editor, authorized by identity before rights

An EMPLOYEE may correct their own record — that is the point of the editor, and refusing it leaves the employee with no way to say the clock was wrong about a d...

Kamo·4w ago
FeatureSecurityService

Sign former employees in to a restricted tier instead of refusing them

A team member whose employment is not ACTIVE was refused at the door with "Your account exists but is not active at this time." That was the wrong shape. A term...

Kamo·4w ago
FeatureSecurityService

Approval-tier relay with role resolved from rights

THE ROLE IS DECIDED HERE, from the caller's rights and their relationship to the subject -- never from the request body. A body that could name its own role wou...

Kamo·4w ago
FeatureSecurityService

SecurityService relay to TimecardService

The authorization boundary. TimecardService holds the data and the engine but no session; this holds the session and decides who may do what, then relays. The e...

Kamo·4w ago
August 11, 2026
FeatureSecurityService

GET ****************

timezoneService.ts has called this endpoint since it was written and it existed in no Java service; the client swallowed the 404 and resolved to UTC. Meanwhile ...

Kamo·4w ago
RefactorSecurityService

Follow the subscription finder rename

**************** is gone from the shared library. Its Optional return depended on a unique constraint that no longer exists, so once one account holds both a pe...

Kamo·4w ago
FixSecurityService

Declare the object-storage secret the ConfigMap no longer carries

The MinIO key was moved out of the ConfigMap into the minio-app-credentials secret, but the envFrom that supplies it was only ever applied to the live deploymen...

Kamo·4w ago
FixSecurityService

Stop shipping a shared credential as a config default

The platform's shared password was baked in as the fallback for DB_PASSWORD and MINIO_ROOT_PASSWORD, so it lived in this repo and in the built image as well as ...

Kamo·4w ago
FeatureSecurityService

Gate promotion on the owner's policy, make it idempotent, add its inverse

Promoting a member to pay for themselves was unconditional, one-way and unsafe to repeat. It now refuses when the organization's policy says the organization p...

Kamo·4w ago
FeatureSecurityService

Expose the fail-open impact to the operator

The app catalog page already answers the org-independent question — does any plan mention this app — and raises a warning when none does. This answers the tenan...

Kamo·4w ago
FeatureSecurityService

Carry availability, presence and extension on a directory row

Picking a person is easier when the row says whether they are there and how to reach them, so each one now carries what they last declared, whether anything of ...

Kamo·4w ago
FeatureSecurityService

Resolve what a member may do, not just what their plan includes

Feature grants describe a plan. They never described this member, because the console gates navigation on org-level org.features — so a member with no license a...

Kamo·4w ago
August 10, 2026
RefactorSecurityService

Make reads read-only, leaving one writer of the *** TTL

The expiration on the Redis record IS the session: when it lapses the member is signed out. Reading a session no longer touches it. Only genuine interaction ext...

Kamo·4w ago
FixSecurityService

Return the account's creation date to the account list

buildAccountSummary never emitted dateCreated, so the field the list's Date Created column reads was simply absent from the response. Now that Account records t...

Kamo·4w ago
FixSecurityService

Stop BUSY surviving every future login

Logout writes AWAY and login clears it, so AWAY is a state the system puts you in and takes you out of. Nothing ever cleared BUSY. A member who set it once stay...

Kamo·4w ago
FixSecurityService

SecurityService pool exhaustion caused liveness kills

Hikari had no explicit maximum-pool-size, so it ran on the default of 10 while fronting org/rights lookups for every service and the internal site. Observed tot...

Kamo·4w ago
ChoreSecurityService

Rebuild for PublicChatApiKey jsonb binding fix

Kamo·4w ago
ChoreSecurityService

Rebuild against shared-library @Lob LONGVARCHAR fix

Picks up the fix for 'Bad value for type long' on the lead communications timeline: Hibernate's PostgreSQL dialect read @Lob String columns as OIDs.

Kamo·4w ago
FeatureSecurityService

Point at YugabyteDB and use PostgreSQLDialect

CockroachDB has been replaced by YugabyteDB. Connection strings move from cockroachdb-public:26257 to yb-tserver-service:5433, and the Hibernate dialect from **...

Kamo·4w ago
August 9, 2026
FeatureSecurityService

Measure the thumbnails and tracks generated from each file

Object keys are content-addressed as **************** so the segment before the first underscore identifies the file a derivative came from. Sizes are summed pe...

Kamo·4w ago
FeatureSecurityService

Measure branding and Docstive document storage

These are the only two things an organization stores that carry no size anywhere in the database — branding assets go straight into the public bucket under the ...

Kamo·4w ago
ChoreSecurityService

Restore CRLF on ****************

The previous commit rewrote the file through a tool that normalised CRLF to LF, churning every line and burying a 24-line change in a 618-line diff. Content is ...

Kamo·4w ago
FixSecurityService

Close four ways round the vertical and app gates

SecurityModelMarketController read and mutated security-model market attachments with no session check, no org scoping and no right — any caller could pass any ...

Kamo·4w ago
FeatureSecurityService

A tenant-readable app catalog for Branch Types

Branch Types -> Allowed Apps started loading its app list from /platform-config/app-catalog, which requires a top-level org owner. The host page is gated on CON...

Kamo·4w ago
FixSecurityService

Stop iterating ServiceType.values() against the resolved catalog

resolveAll() omits the deprecated aliases that share an id with a live app (DOC_MANAGER/DOCS, AI_CHAT/AI_SUPPORT), because those have no catalog row of their ow...

Kamo·4w ago
August 8, 2026
FixSecurityService

Point the mortgage surface back at the mortgage rights

Companion to the shared-library change. These 13 controllers all guard mortgage endpoints — HMDA LAR, pipeline, application intake, disclosures, credit orders, ...

Kamo·1mo ago
FixSecurityService

Two more places that answered "is this app offered" from the enum

Both were missed when FeatureController moved onto the app catalog, and both would have disagreed with it the moment an operator published an app. Organization...

Kamo·1mo ago
PerformanceSecurityService

One plan-matrix scan per app-catalog request

Also drops the now-unused DevelopmentStageType import and corrects the auto-provision comment, which still described the stage rule the catalog replaced.

Kamo·1mo ago
FeatureSecurityService

Serve the app catalog and read features through it

FeatureController derived "is this app offered" from the enum's stage in four separate places, so the answer could only be changed by redeploying the platform. ...

Kamo·1mo ago
FixSecurityService

Never offer an unreleased app on a buying surface, bundles included

The stage filter only ran for the public marketing proxy. This endpoint also feeds the in-app SubscriptionOrderWizard, which is where a customer actually pays, ...

Kamo·1mo ago
FeatureSecurityService

Fail closed on apps a plan never mentions

Turns kamo.entitlement.fail-open off now that AppEntitlementCatalogMigration has run against prod and every active plan on both entitlement roots (KamoCRM, Sign...

Kamo·1mo ago
FeatureSecurityService

Gate mortgage and personal-loan verticals on app entitlement

A MORTGAGE market appeared on /commerce whenever POS was on, regardless of the MLOS app, and /features/enable had no billing check at all — the padlock in the s...

Kamo·1mo ago
August 7, 2026
FixSecurityService

Only slide the *** TTL when a human is actually there

getSession() refreshed the Redis TTL on every read, and OTKPreAuthFilter resolves the session before any controller runs — so every API call renewed the session...

Kamo·1mo ago
FixSecurityService

Keep co-borrowers on one routing order

deriveSigners numbered borrowers 1, 2, 3… as a display index. ESigService now ENFORCES routing order instead of merely reporting it, so leaving the counter in p...

Kamo·1mo ago
FeatureSecurityService

Set a manager, and search the directory a page at a time

GET **************** answers one page of the session org's directory. Search, ordering and paging happen in the database; a hostile ?size= is capped. Words are ...

Kamo·1mo ago
FeatureSecurityService

Thread the parent department through create and update

DepartmentService now takes its request DTO instead of eight positional arguments, so the parent joins the payload rather than becoming a ninth in a row of same...

Kamo·1mo ago
FixSecurityService

Stop losing organizations to swallowed exceptions, and accept the full create payload

createOrganization could destroy a customer's signup and report nothing useful. Transaction integrity: - Five Docstors ran behind try/catch that only looked sa...

Kamo·1mo ago
FixSecurityService

Make account creation atomic, org-scoped and rights-gated

createCustomer saved the Account before writing its addresses, and was not transactional — so when the address insert failed, the half-built Account stayed comm...

Kamo·1mo ago
FixSecurityService

Scope the opportunities read, and give the relay client timeouts

/me/opportunities called reservationRepository.findAll() and filtered org and member in Java. That pulls every reservation on the platform — every tenant's — in...

Kamo·1mo ago
FeatureSecurityService

Browser-facing relay for the commission feature

Resolves the session, authorizes, and relays to CommissionService with the org and member stamped from that session — never from anything the caller sent. This ...

Kamo·1mo ago
FeatureSecurityService

Expose the user-account email on your own member profile

The profile's Personal Email Notifications card has to name the address missed-message notices actually reach, and that address is the user account's — not the ...

Kamo·1mo ago
FeatureSecurityService

Seed the finance rights onto every branch model's ADMINISTRATOR template

The three commission rights gate a feature that did not previously exist, so NEW_RIGHT_SEEDS deliberately says nothing about them - that mechanism carries an ex...

Kamo·1mo ago
FeatureSecurityService

Expose contact email in the by-department roster

The Interaction Center needs a member's address to pre-fill a composer, and the only endpoint that carried one was the single-member detail fetch — one request ...

Kamo·1mo ago
August 6, 2026
FeatureSecurityService

Accept a member's primary mailbox address as a login identifier

The address a member gives out is usually the org mailbox flagged Primary on their member settings, not whatever is on their user account — so typing it into th...

Kamo·1mo ago
TestSecurityService

Cover the chat-routing propagation that broke assignLoanOfficer

assignLoanOfficer gained a step that looks up the loan's source lead to reroute the borrower's open public-chat session. That lookup runs a JPQL query through t...

Kamo·1mo ago
FeatureSecurityService

Carry existing HR holders onto the new per-tab rights

A right that gates something already reachable is a removal of access: new rights insert as NOT_SPECIFIED, so the /hr tabs would have vanished on deploy for eve...

Kamo·1mo ago
ChoreSecurityService

Rebuild for the unified imaging bucket

Picks up kamo-shared-library 3045cc3: ImageAssocType.getBucket() now returns the single "imaging" bucket for every association, so a deduplicated file is stored...

Kamo·1mo ago
FeatureSecurityService

Push platform-admin state changes instead of being polled for them

Every platform screen backed by this service refreshed on a timer, because this service has no WebSocket and therefore no way to tell anyone anything: the close...

Kamo·1mo ago
August 5, 2026
FixSecurityService

Mirror Maven Central and retry, so a corrupt transfer stops killing the build

The session security-level fix failed to deploy because bcprov-jdk18on:1.72 arrived corrupted — 'Tag mismatch' is a TLS auth-tag failure mid-transfer, not a mis...

Kamo·1mo ago
FixSecurityService

Name the full logo correctly and resolve an org's domain deterministically

Three defects in how an organization's branding location is derived. my-networks named the full logo "logo-full." + logoFullExt, defaulting to "svg" when the c...

Kamo·1mo 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