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
September 17, 2026
Fixkamo-shared-library

Chained drips hear when someone finishes a drip

A drip that starts when someone finishes another drip listens for the engine's own DRIP_COMPLETED events, but the recorder's trigger map left that kind out, so ...

Kamo·1mo ago
September 16, 2026
FixKlusterServices

A reply to a sending domain is refused as the recipient, in words that fit NoReply

Campaigns now send Reply-To: NoReply@<their From's domain> by default, and those replies reach postfix-k3m1-inbound. The refusal said "Sender address rejected: ...

Kamo·1mo ago
Fixkamo-marketing

An entry page rides out a service blip, and says so when it cannot

Entry pages failed in bursts while services rolled out: SecurityService answered 500 for a database schema-version bump or dropped the connection while restarti...

Kamo·1mo ago
FixSecurityService

Retry public reads the database aborted with 40001

Every DDL bumps the YSQL catalog version, and a transaction that began on the old one fails with "catalog snapshot ... invalidated: MISMATCHED_SCHEMA" (SQLSTATE...

Kamo·1mo ago
FixEmailService

Stop refreshing a mailbox grant no app can refresh, and say it needs reconnecting

An org connected Microsoft 365 through Kamo's platform app; the platform app was later switched off and the org has no registration of its own. The resolver the...

Kamo·1mo ago
FixDaemonService

Skip enabled connections that are not filled in yet

An enabled MERIDIAN_LINK connection with no instance URL, appCode or secret collapsed to a null|null poll-unit and failed token exchange every tick, logging ERR...

Kamo·1mo ago
FixDaemonService

Read the public-chat secret by its own key

This pod also mounts mlos-internal-auth, whose INTERNAL_AUTH_SECRET env var relaxed-binds onto internal.auth.secret and outranks the ConfigMap. Every caller rea...

Kamo·1mo ago
FixMediaService

Rebuild so queue consumers self-heal their stale durables

social-inbound-consumer and marketing-conversion-consumer predate their deliver groups and live on SOCIAL_MESSAGES / MARKETING_EVENTS, which the shared NATS rec...

Kamo·1mo ago
Fixkamo-shared-library

Reconcile durable consumers on the stream that owns the subject

The filter and deliver-group reconciles looked consumers up on the service's configured stream only. Subscriptions to subjects captured by another stream (socia...

Kamo·1mo ago
Fixkamo-internal

Email's Deliverability tab has a settings-menu entry

The tab renders for whoever may manage the opt-out list (MANAGE_EMAIL_OPT_OUTS or the organization owner), but the settings menu never listed it, so settingsMen...

Kamo·1mo ago
FixEmailService

Every refused request says why, not just campaign calls

2a72597 gave the campaign controllers the member's sentence instead of "Bad Request". The same loss happened everywhere else in EmailService that refuses with a...

Kamo·1mo ago
Fixkamo-internal

The scrollbar guard and the recipient-status tests pass again

Both were red on main, and vitest does not run in CI, so nothing noticed. - oneScrollbar.test.ts ("is the only thing in the app that styles a scrollbar") fai...

Kamo·1mo ago
FixSecurityService

Take kamo-meet and kamo-analytics off the public changelog

Both names leave changelog.public-projects. Every public read goes through that one list, so the marketing site's /changelog stops showing them everywhere at on...

Kamo·1mo ago
FixKlusterServices

Prune unused images on k3m1 too, and stop bulk removals timing out

k3m1 had no prune job, and kubelet image GC waits for 85% disk, so every deploy's SHA-tagged image piled up: 3,368 images (539G), 86 in use. Add a daily k3m1-im...

Kamo·1mo ago
FixEmailService

A refused campaign call says why, instead of "Bad Request"

CampaignService refuses with a ResponseStatusException carrying a sentence written for the member ("Pause the campaign before deleting it.", "Only paused campai...

Kamo·1mo ago
Fixkamo-internal

A checkbox, button or link inside a grid row no longer opens the row too

The ⋮ bug from /marketing/email, in the six other grids that have it. AG Grid fires rowClicked from its own native listener on the row container, which runs bef...

Kamo·1mo ago
Fixkamo-shared-library

Coalesce pool-availability recounts instead of recounting per lead

countAssignablePool scans every lead in the org+market and ran synchronously after every createLead commit. At ~14k leads it already cost ~165 ms, more than the...

Kamo·1mo ago
Fixkamo-marketing

The subscriptions article is not announced as a public service announcement

The chip above the headline and the line on the share card both called it one, which the banner strip has already stopped doing. The byline row now opens with t...

Kamo·1mo ago
Fixkamo-marketing

The featured-article strip drops the public service announcement badge

The badge belonged to the seat-fee article. The strip points at the subscriptions article now, which is not a public service announcement, so the link stands on...

Kamo·1mo ago
Fixkamo-marketing

Stop printing a message key as the legal line, and calibrate the guard

The footer's terms-and-privacy sentence was the only rich-text message on the site. The translation service rewrote its tags as prose in 12 of 21 locales, so t....

Kamo·1mo ago
September 13, 2026
FixVOIPService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixTranslateService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixRAGService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixMediaService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixMCPGatewayService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixKBService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
Fixkamolos

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixESigService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixEmailService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixDocsService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixDaemonService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixConversionService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixAPIService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixAIService

Accept OCI image indexes when resolving the built digest [skip ci]

The images are pushed as OCI image indexes, so asking the registry for a single image manifest only answered 404, the digest came back empty and the check faile...

Kamo·1mo ago
FixMediaService

Deliver booking, cancellation and reminder emails

Every webinar letter posted to EmailService's /api/email/send, a member-session mailbox endpoint, so each one failed silently; the public booking path sent noth...

Kamo·1mo ago
FixVOIPService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixTranslateService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixRAGService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixMediaService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixMCPGatewayService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixKBService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
Fixkamolos

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixESigService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixDocsService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixDaemonService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixConversionService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixAPIService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixAIService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

Kamo·1mo ago
FixEmailService

Restart when a same-commit rebuild leaves pods on the old digest [skip ci]

The rollout step tried to detect a same-commit rebuild by comparing the Deployment's image reference before and after `set image`. "Apply manifests" has already...

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