KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
October 14, 2026
FixKBService

An SI that sends a note with no level the internal default back changes nothing

CP97 Task 17's Luna compare found a live SI's own My Master Note, written before KamoCollab, carrying sensitivity MEMBER after one of her own appends in an AUDI...

Kamo·1w ago
FixMCPGatewayService

An AUDIT org's SI is shown the record-link kinds every SI saw before KamoCollab

CP97 Task 17's Luna compare found her tools/list changed by KamoCollab: CP05 Task 7 appended TASK, DOCUMENT, KB_ARTICLE, MEMBER, AI_RUN and SMS_THREAD to Record...

Kamo·1w ago
Featurekamo-shared-library

SP02 entities and repositories

Kamo·1w 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·1w ago
Featurekamo-shared-library

Capability catalogue v1 with a pinned JSON snapshot

Kamo·1w ago
TestInitializerService

Pin com.kamo.z.shared.iot in KamoInitializer's repository list

IoT SP01 Task 6. SP00 already added the entry; only the pin is new.

Kamo·1w ago
Featurekamo-shared-library

ReauthMarkers and **************** (delayed naks, exhausted callback)

IoT SP01 Task 5. The plan's test used AssertJ fail() without importing it; import added.

Kamo·1w ago
Fixkamo-internal

Reopening a field shows the settings just saved

The stack's sorted field list was memoized on each field's id and order only, so a change from Save Field (Display on Intake, title, required…) never rebuilt it...

Kamo·1w 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·1w ago
Featurekamo-shared-library

The eight IoT notification kinds, appended (IoT SP00)

Kamo·1w ago
Docskamo-internal

Sp00verify lane part 2 (T4 step 5, T9, T11, T12, T13): rulings and acceptance rows

A3 PASS (live reply a model limit), A5, A8 (Lab 2 + step 5 in sp00verify), A10, A12, A13 PASS; A4 row from the Lab 2 lane's T6; A11 NOT PASSED on one criterion ...

Kamo·1w ago
BuildEmailService

Rebuild onto kamo-shared-library 6fce139a

Seeds the new SUSPICIOUS_SIGNIN_DETECTED canonical template, which SecurityService sends for a detection rule's NOTIFY_ADMIN_EMAIL response.

Kamo·1w ago
BuildBillingService

Rebuild onto kamo-shared-library 6fce139a

Picks up OrgStorageAggregator 3eda4b54: BULK_EXPORTS and EXCHANGE_DOCUMENTS read object_storage_days instead of 0.

Kamo·1w 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·1w 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·1w ago
Fixkamo-internal

GD alone no longer grants every right on proxy routes

ksemHasRight treated GD (god-mode ELIGIBILITY) as an all-rights bypass, so every god-eligible operator held every right on the 18 proxy routes that use it, with...

Kamo·1w 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·1w ago
Featurekamo-shared-library

The letter a triggered sign-in detection rule sends

SUSPICIOUS_SIGNIN_DETECTED joins the canonical templates. SecurityService's SuspiciousDetectionService sends it when a tenant-configured detection rule (failed-...

Kamo·1w ago
FixVOIPService

Seal member VoIP credentials at rest with PlatformSecretCipher; re-seal legacy rows at boot

**************** held each member's access token, refresh token (Teams, RingCentral OAuth) and RingCentral JWT assertion exactly as the provider issued them. Ev...

Kamo·1w ago
DocsKlusterServices

Billing no longer takes god mode from a header

Kamo·1w ago
Fixkamo-internal

Never relay a browser-set X-God-Mode-Active

God mode is SERVER-owned. The billing and LOS proxies copied the browser's X-God-Mode-Active onto the upstream call, and BillingService treated it plus users.is...

Kamo·1w ago
FixBillingService

God mode comes from the caller's own session window, never a header

BillingService took X-God-Mode-Active plus users.is_god as god mode, and kamo-internal copied that header straight off the browser, so a god-eligible operator h...

Kamo·1w ago
FixMediaService

Meeting-provider OAuth state is an opaque one-time Redis token; refresh is locked and committed on its own

state was base64 JSON {orgId, nonce, provider} built by the caller, the nonce was never stored or checked, and the sessionless callback trusted the decoded orgI...

Kamo·1w ago
Fixkamo-shared-library

Vet and pin every webhook target, return only failure categories, encrypt signing secrets

The outbound webhook worker POSTed to whatever URL a subscriber stored, from inside the cluster, with no egress control - a subscription aimed at **************...

Kamo·1w ago
FixVOIPService

/api/voip/webhook answers a form post 415 and a non-JSON body 400, never a silent 200

A form-encoded post (Twilio, Sinch, Vonage pointed at the wrong address) fell into readTree(), failed, and was answered 200, so the carrier never retried and th...

Kamo·1w ago
FixAPIService

No literal internal-auth secret fallback — a blank public-chat secret answers 503

Seven @Value sites and application.yml fell back to the literal dev-secret-change-in-prod when **************** was missing, so a pod without its Secret sent a ...

Kamo·1w ago
Fixkamo-shared-library

Read the bulk-export and exchange-document sweeps instead of reporting 0

OrgObjectStorageSweep writes BULK_EXPORTS and EXCHANGE_DOCUMENTS rows into object_storage_days, but OrgStorageAggregator only read that table for BRANDING and D...

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