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 18, 2026
Featurekamo-shared-library

SP06 vocabulary, entities and read-only repositories

25 enums (stored by name), IotServiceJobOrigin (SP13 ships on it), 17 entities matching the SP06 DDL and their read-only repositories; IotActivityKind += AUTOMA...

Kamo·5d ago
Featurekamo-shared-library

The do-not-block list, the allowlist beside the do-not-contact list

Owner 2026-10-15: "remove it and add it to a do-not-block list" (the company's own main line had been put on the do-not-contact list by a test call). For an org...

Kamo·5d ago
October 15, 2026
Featurekamo-shared-library

The organization's do-not-contact list, per channel

One company-wide list per organization (owner 2026-10-15), scoped per channel: a CALL entry blocks calls only, SMS texts only, EMAIL email only. Package com.kam...

Kamo·1w ago
Featurekamo-shared-library

AiCallEventType.TEAM_REQUEST records who asked for an SI's call and the message to deliver

Owner 2026-10-15: when a team member asks an SI to call someone, the SI calls them with no approval and no consent gate, says who it is calling for, delivers th...

Kamo·1w ago
Featurekamo-shared-library

A routing slot for SI phone calls and meetings — **************** routes as TEXT_GENERATION with TOOL_CALLING required, and CapabilityRequest carries the slot (null for every existing call)

Owner 2026-10-15: SI phone calls get their own model order; chat and everything else stay as they are. A slot is not a model capability: its order is stored in ...

Kamo·1w ago
October 14, 2026
Fixkamo-shared-library

Seat an organization's existing staff when its subscription is set up

A comp, like a first purchase, created its seats UNASSIGNED and seated the owner alone. Everyone else waited for the owner to hand seats out in Billing, which n...

Kamo·1w ago
Featurekamo-shared-library

JOIN_MEETING, joining one of the organization's meetings, is its own action class and not PLACE_CALL

Owner 2026-10-14: Luna (crm) asked the owner to approve joining the meeting he had just told her to join. meetings_join was classed PLACE_CALL, so the charter's...

Kamo·1w ago
Fixkamo-shared-library

The default Live Support welcome no longer promises someone 'shortly'

Nobody on the team is notified until the visitor sends their first message, so the default now says that: send a message to reach the team, they're notified whe...

Kamo·1w ago
Featurekamo-shared-library

SP12 RPM code rules, period math and threshold math

Kamo·1w ago
Featurekamo-shared-library

SP03 grant entities, repositories and activity kinds

Kamo·1w ago
Featurekamo-shared-library

SP03 grant enums, device type rank and catalogue lookup

IotDeviceType (SP01's copy) gains HEALTH_VITALS, storedType and a position map; SP01's tests are kept beside SP03's.

Kamo·1w ago
Fixkamo-shared-library

SubscribeQueueBatch binds a WorkQueue stream with DeliverPolicy.All

IOT_EVENTS is a WorkQueue stream (IoT SP00-D6) and NATS refuses any other deliver policy there (10101), so iot-service crashlooped at boot. The policy is read f...

Kamo·1w ago
Fixkamo-shared-library

An Img keeps the extension its content is stored under — on dedup and on rename

fileExt is part of the storage key (<imgDatId>.<ext>) every reader builds, but dedup matches on the BYTES. Content already held arriving under another name (a ....

Kamo·1w ago
Featurekamo-shared-library

SP01 enums, safety rules, command transitions, event ids, geohash, device-type rank

IoT SP01 Task 2, on SP02's vocabulary and catalogue (a2cc3154, 36cc42b6).

Kamo·1w ago
Featurekamo-shared-library

SP01 value columns, org settings, connection, site, space entities and repositories

IoT SP01 Task 3. A whole number reads back at scale 0 (210, not 210.0) so a stored value round-trips equal.

Kamo·1w ago
Featurekamo-shared-library

SP01 device, function, state, activity and write-once command entities

IoT SP01 Task 4. IotDevice.providerDeviceType is the provider's suggested primary capability KEY (String): SP02 ships no device-type enum and DiscoveredDevice c...

Kamo·1w ago
Featurekamo-shared-library

SP02 entities and repositories

Kamo·1w ago
Featurekamo-shared-library

Capability catalogue v1 with a pinned JSON snapshot

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
Featurekamo-shared-library

The eight IoT notification kinds, appended (IoT SP00)

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
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
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
Featurekamo-shared-library

MANAGE_BRANCH_TYPES

Branch types, and the security models behind them, move from every organization's Settings -> Account to Platform Administration -> Configuration. This is the p...

Kamo·1w ago
Featurekamo-shared-library

A letter for an offered lead nobody accepted in two minutes

LEADS_AVAILABLE goes to everyone the accept-lead window offered a new lead to when it is still unclaimed two minutes later. It names the lead by last name and s...

Kamo·1w ago
Featurekamo-shared-library

ExpirePendingForKey and findFirstByPublicKeyAndStatus for the enrollment fixes

KamoCameraService retires a connector's older pending codes when it hands out a new one (an old code read from a log could otherwise be claimed into another org...

Kamo·1w ago
Featurekamo-shared-library

SHOW_TOUR_KAMO_CAMERAS (369), and an enrollment's code hash is never serialized

The Show Tour block (338-368) was written while KamoCameras (334-337) was landing, so the newest app security group had no tour right and kamo-internal's guided...

Kamo·1w ago
Featurekamo-shared-library

A Show Tour right for every app security group (338-368)

SHOW_TOUR_<APP>, one per app group — thirty-one, E-Signatures included — each a standalone root filed under its app, labelled "Show Tour", and GRANTED by defaul...

Kamo·1w ago
October 13, 2026
Fixkamo-shared-library

A market save rejects a missing or unknown custom form

Both association loops skipped a null form id, or one the organization does not own, and the save still returned success. That is how every market lost its form...

Kamo·1w ago
Featurekamo-shared-library

A deleted meeting's guests get the organisation's cancellation letter

The invitation and the update were branded letters; the cancellation was a one-line "has been cancelled". Add calendar.meeting_canceled beside them: the same le...

Kamo·1w ago
Fixkamo-shared-library

Saving a form no longer rejects its own field IDs

updateForm replaces every stack and field, but the field-ID check compared the request against the rows already stored. The editor sends no field id, so each ke...

Kamo·1w ago
Featurekamo-shared-library

Land KamoCameras — app 39, rights 334-337, entities in com.kamo.z.shared.cameras

Merges feat/kamo-cameras (16f184ad, 6fd4e3fd, 1dfeb3b4). Main took 333 for RELEASE_TO_ORGANIZATION (a3630977) after the branch was cut, so the four camera right...

Kamo·1w ago
October 12, 2026
Featurekamo-shared-library

KamoCameras entities and repositories (schema camera)

Sites, device-code enrollments, go2rtc config history, camera systems, cameras, groups, access rules and saved layouts. Tables are created by KamoInitializerSer...

Kamo·1w ago
October 11, 2026

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