KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
October 18, 2026
FixSecurityService

Booking an appointment no longer fails on an untyped null in the conflict check (SITP TP23 live smoke)

findConflicts' (:excludeId IS NULL OR a.uid <> :excludeId) with a null UUID is an untyped parameter on Postgres/Yugabyte ('could not determine data type of para...

Kamo·3w ago
FeatureSecurityService

The loan-officer door reaches the MLOS engines, writes take write rights, and an SI clears the MLOS walls (SITP TP21)

New relays on /api/security/mortgage-apps (MortgageLoanDeskController, @RequireRight, the caller's org's loan only): - GET /{uid}/qualification, /{uid}/engine-l...

Kamo·3w ago
FixSecurityService

A booking or registration is always a new record in the caller's practice; SI note drafts say so; billing reads write the PHI trail (SITP TP23)

- SchedulingService.book: the body is the entity, so a uid in it made save() a merge onto that appointment in ANY practice (and moved it into the caller's); s...

Kamo·3w ago
FeatureSecurityService

PREPARE_COMMISSION_PAYOUTS composes the draft payout batch, seeded to every finance manager (SITP TP18)

Opening the draft batch and adding, changing or removing its lines now take MANAGE_ORG_FINANCES or PREPARE_COMMISSION_PAYOUTS (the owner always); sending a batc...

Kamo·3w ago
FeatureSecurityService

Devices is a standard alias

Required like careers and computers: the record is what makes shared device access open anywhere. The kamo-iot share pages are served at devices.<domain>; the l...

Kamo·3w ago
FeatureSecurityService

Reserve the devices alias, not iot

The kamo-iot share pages are served at devices.<domain> (owner 2026-10-18: "iot" is a technical term; anything customer-facing says devices). OrgAliasPolicy res...

Kamo·3w ago
FeatureSecurityService

The billing door makes a member a licensee before a seat, and reads usage for the org billing rights (SITP TP18)

BillingService's LicenseService.assign refuses anyone who is not already a licensee of the subscription, so the relay's seat assign alone could not seat a new m...

Kamo·3w ago
FeatureSecurityService

HR reads a member's leave balances, as it already spends and corrects them (SITP TP18)

GET **************** own on identity (as /me/accruals), anyone else's with MANAGE_TIMECARDS, the right that already gates /use and /adjust on the same balances;...

Kamo·3w ago
FixSecurityService

Subscription records, market lists and order notes reach only the caller's organization (SITP TP17)

SubscriptionService reads a subscription, its order, invoice and agreement by uid alone, in any tenant. POSController now checks the record is the session organ...

Kamo·3w ago
FeatureSecurityService

Rights-carrying doors to commerce invoices and billing, and the MANAGE_ANALYTICS backfill (SITP TP02)

Commerce invoices: InvoicingService's CommerceInvoiceController checks no right by design (it expects SecurityService to own the session and the rights) and not...

Kamo·3w ago
FixSecurityService

State licences are read and replaced only within the caller's organization (SITP TP16)

GET/PUT **************** found the member by id alone, so a holder of STATE_LICENSING_VIEW_ALL / EDIT_ALL in one organization could read, replace or delete anot...

Kamo·3w ago
FixSecurityService

Rights on the session-only controllers, with the grant backfill (SITP TP01)

@RequireRight (any-of, tenant RoleRightType) enforced by TenantRightInterceptor before the handler, the tenant counterpart of @RequirePlatformRight: no session ...

Kamo·3w ago
FixSecurityService

Rights on the lead doors the SI tools use, and the caller's own callbacks due (SITP TP10)

- PUT /leads/{id} takes EDIT_LEADS; a create that assigns someone else takes ASSIGN_LEADS - the lead pool (/leads/available, /leads/accept) takes VIEW_LEADS or ...

Kamo·3w ago
TestSecurityService

A clinician's direct order never lends an SI the clinical acts

SITP TP00: pins the new SI floor (kamo-shared-library 645068bb) through the No Insubordination delegation: drafting notes, booking and posting payments are lent...

Kamo·3w ago
ChoreSecurityService

Remove a committed diagnostic log that carries the database password and the password pepper

k8s/diagnose-output.txt (2025-11-03) is a startup log captured with com.zaxxer.hikari at DEBUG. Nothing reads it. Removing it does not clear history; the values...

Kamo·3w ago
TestSecurityService

SecurityService resolves the two IoT charter classes (SP11)

The charter catalogue lists 24 action classes (the owner's JOIN_MEETING made 22; IoT SP11 appends OPERATE_DEVICE and OPERATE_SECURITY_DEVICE, both APPROVE_BEFOR...

Kamo·3w ago
FeatureSecurityService

Reserve the iot alias; pin iot.<domain> resolution

The rebuild carries DomainAliasType.IOT from the shared library. KnownAliases / SSL_PROBE_LABELS follow only after iot.<apex> answers over TLS (a later commit),...

Kamo·3w ago
FeatureSecurityService

SP12 remote-monitoring management time entries

Kamo·3w ago
FeatureSecurityService

SP12 clinician-set limits and the alert worklist

Kamo·3w ago
October 15, 2026
FeatureSecurityService

The No Insubordination Rule — a teammate's direct order lends an SI their rights for that run

Owner 2026-10-15, refined the same day: any team member (a person or another SI) who gives an SI a direct order lends it their rights for the work that carries ...

Kamo·3w ago
FeatureSecurityService

A person may let SI colleagues greet them with the short form on internal calls

SI call disclosure, owner decision 11 (2026-10-15): the colleague short form ("Hi Sage, it's Luna, the automated assistant.") is used only for active staff who ...

Kamo·3w ago
October 14, 2026
TestSecurityService

The SP01 IoT entities map on Hibernate 6.2.13, the line SecurityService runs

IoT SP01 Task 7 (mapping half). EmbeddedAttributeMapping is not in org.hibernate.metamodel.mapping on 6.2; the test reads the address through EmbeddableValuedMo...

Kamo·4w ago
FeatureSecurityService

Verify-password records a session re-check marker and limits wrong attempts

IoT SP01 Task 7 (marker half). KREAUTH<***Id> = member id for 3600 s after a correct password; five wrong passwords per session in 15 minutes answer 429 too_man...

Kamo·4w ago
FeatureSecurityService

Seed the IoT administration rights to CONFIGURE_SYSTEM holders on the boot that introduces them (IoT SP00)

The IoT tour needs no lineage: every Show Tour right is already on for every role (fefd98c2).

Kamo·4w ago
FixSecurityService

Run the sign-in detection rules, and make their responses real

SuspiciousDetectionService was injected into SecurityController and evaluate() was never called, so every rule an organization configured on the Security screen...

Kamo·4w ago
FixSecurityService

Encrypt legacy signing secrets at boot; a refused target URL is a 400

The service side of kamo-shared-library e58f1a93 (target vetting + DNS pinning, failure categories, encrypted signing secrets). - **************** (re-runnable...

Kamo·4w ago
FixSecurityService

Seal Google/Microsoft calendar OAuth tokens at rest; re-seal legacy rows at boot

GoogleCalendarService and MicrosoftOutlookService stored the access and refresh tokens on third_party_integrations as the provider issued them, although the ent...

Kamo·4w ago
FeatureSecurityService

Branch types and security models are the platform's to edit

Branch types, the security models behind them (default security roles, app availability, home screens, commerce markets, subdomain config) and the master model ...

Kamo·4w ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing