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 22, 2026
FixKBService

One pod translates an article, not every pod at once

The sweep's fleet-wide lock is held only while it queues work, which takes milliseconds, so each pod ran its own sweep a minute or two apart and queued the same...

Kamoยท1d ago
FixKBService

Translate an article's words, not its Lexical JSON

contentJson was sent to the translation engines as if it were a sentence. On 2026-10-22 one sentence of it came back from Russian with the sentence gone and the...

Kamoยท1d ago
October 18, 2026
FixKBService

Review steps stay in the caller's organization; pins take VIEW_KB_ARTICLES (SITP TP14)

submit-review, approve and reject named an article by guid alone, so a member holding CREATE_/REVIEW_KB_ARTICLES in one organization could move another organiza...

Kamoยท5d ago
FixKBService

Stop logging the database password at startup

com.zaxxer.hikari at DEBUG makes HikariConfig print its whole configuration on every start, including dataSourceProperties {password=...} and password......; Pr...

Kamoยท5d ago
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
October 12, 2026
FixKBService

A release that keeps someone the note already named no longer fails with 500

The release reads the note's current NAMED audience before it writes, and the request keeps one persistence context (open-in-view), so those note_audience_membe...

Kamoยท1w ago
October 11, 2026
October 7, 2026
FixKBService

A translation with a failed field is a failure, and long articles get time to finish

TranslateService leaves a field it could not translate out of its reply and names it in failedKeys. This client returned the reply as it was, so the article was...

Kamoยท2w ago
September 28, 2026
FixKBService

KamoUniverse is a stop word for related-article suggestions

KbArticleRelationService matches articles on their significant terms and already drops the platform's own names ("kamocrm", "kamo") because every help article s...

Kamoยท3w ago
September 27, 2026
FixKBService

A deleted task takes back its comment notifications too

Deleting a task (or clearing done tasks, or deleting their list) withdrew only its TASK_ASSIGNED and TASK_DUE notices. Every TASK_COMMENTED about it stayed in i...

Kamoยท3w ago
September 25, 2026
September 23, 2026
FixKBService

Pin kamo-shared-library 1.6.1, the only version that exists

The library moved to 1.6.1 and this service still asked for 1.6.0. There is no window in which both resolve: the library is never published to a remote, so the ...

Kamoยท4w ago
FixKBService

KBService presents the NATS login

NATS mapped every credential-less connection to the KAMO account (no_auth_user), and it listens on the host network of k1m1 โ€” so any pod, the desktop VM or a ma...

Kamoยท4w ago
FixKBService

A media presigned URL was not scoped to the caller's org

GET /api/kb/media/{mediaId}/url looked the row up by uid alone (KbMediaService.getPresignedUrl -> **************** unlike every other media read here (presignAl...

Kamoยท4w ago
September 13, 2026
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
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
September 5, 2026
FixKBService

Prove the deploy by digest, not by tag

The preceding commit stops `set image` being a silent no-op. This asserts the outcome: after the rollout, the tag is resolved to a digest at the registry and th...

Kamoยท1mo ago
FixKBService

A rebuild of the same commit deployed nothing and reported success

The image is tagged with the commit SHA, so rebuilding the same commit produces an identical image reference. `kubectl set image` then changes nothing, the Depl...

Kamoยท1mo ago
FixKBService

Stop the sweep re-translating the twenty locales that already worked

An article holding 20 of its 21 locales is "incomplete", so the ten-minute sweep re-queued it โ€” and the translator then re-translated all 21, paying twenty time...

Kamoยท1mo ago
September 4, 2026
FixKBService

Let a rollout finish what the old pod was doing

Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...

Kamoยท1mo ago
September 2, 2026
FixKBService

Admit the organization owner, or nobody can turn this on

A brand-new right is granted to NOBODY on the day it deploys. These two are deliberately absent from **************** โ€” seeding them from an existing right woul...

Kamoยท1mo ago
FixKBService

A list read shipped every article's body, and a category page listed nothing

Two defects on the public reads, both visible on kamocrm.com/help-center. The index served 3.9 MB of HTML. tree-by-parent-slug returns every node with its full...

Kamoยท1mo ago
FixKBService

Article translation has never worked

deleteByArticleUidAndLocale is a @Modifying query and JPA refuses to run one outside a transaction. Nothing on this path ever opened one, so every locale of eve...

Kamoยท1mo ago
FixKBService

Saving an article blocked on 21 translation calls

@Async was inert. **************** called translateArticle on the same bean, so the call went straight to this and never reached the proxy that makes it asynchr...

Kamoยท1mo ago
August 28, 2026
FixKBService

GET /master takes VIEW_NOTES, like every other read here

It was the one read in this controller that took no right, deliberately: the two master notes were called fixtures of the home launchpad rather than the Notes a...

Kamoยท1mo ago
August 19, 2026
FixKBService

Keep the encryption key across restarts instead of inventing one

Every note body in production was unreadable. NOTES_MASTER_ENCRYPTION_KEY was never set anywhere - not in the deployment, and the deployed ConfigMap carried no ...

Kamoยท2mo ago
August 16, 2026
FixKBService

Size the pod above its own JVM heap ceiling [skip ci]

The image starts the JVM with -XX:MaxRAMPercentage=70 -XX:+AlwaysPreTouch, so the heap alone may take 70% of the container limit and pre-touch keeps every commi...

Kamoยท2mo ago
August 15, 2026
FixKBService

Every notes endpoint takes the right that names it, and hasRight fails closed

NotesController checked no right on any of its ten endpoints. VIEW_NOTES was enforced in exactly one place โ€” navRegistry.ts, hiding the Notes app in the browser...

Kamoยท2mo ago
August 14, 2026
FixKBService

Read and write notes as a member, never as an account

Every endpoint now requires memberID on the session โ€” reads included โ€” and refuses the request without one. The reads used to need only a userID, which is globa...

Kamoยท2mo ago
August 11, 2026
FixKBService

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ยท2mo ago
FixKBService

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ยท2mo ago
August 3, 2026
FixKBService

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

Kamoยท2mo ago
July 1, 2026
April 18, 2026
FixKBService

Bump kamo-shared-library to 1.4.0

Kamoยท6mo ago
April 16, 2026
March 30, 2026
FixKBService

Defer NATS event publishing until after transaction commits to prevent RAG race condition

Events were firing inside @Transactional methods, causing RAGService to read stale data from CockroachDB before the commit. Also auto-defaults aiVisibleToMember...

Kamoยท6mo ago
March 18, 2026
FixKBService

Return article guid/title in pending reviews response

The KbArticleReview entity has @JsonIgnore on article, so the pending reviews endpoint was returning reviews without article details (guid, title). Now uses eag...

Kamoยท7mo ago
FixKBService

Add error handling to createArticle endpoint

Wrap createArticle call in try-catch to return proper JSON error responses instead of Spring Boot's default HTML error page.

Kamoยท7mo ago
March 17, 2026
FixKBService

Correct hasRight to match flat rights array format and honor god mode

Session rights are stored as ["VIEW_DASHBOARD", ...] not [{name, setting}]. Also bypass right checks when GD (god mode) is true.

Kamoยท7mo ago
FixKBService

Accept parentGuid from frontend in article creation

Frontend sends parentGuid (string) not parentId (numeric). Resolve GUID to ID server-side via lookup.

Kamoยท7mo ago
FixKBService

Remove .mvn directory copy from Dockerfile

Kamoยท7mo 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