KamoCRM

Live Change Log

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

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

Resources upload to a real bucket and stream back through the app

The resource library has never stored a file. KbMediaService wrote to the constant bucket "kb" โ€” two characters, below S3's three-character minimum โ€” so minio-j...

Kamoยท3d ago
November 6, 2026
FixKBService

The phone's session header signs in a READ, so KamoMobile can open help, scripts and tasks

KamoMobile calls api.<org> with X-***-Token and cannot mint an OTK, so every KBService read it made (the Password Vault's help article, sales scripts, task list...

Kamoยท4d ago
November 1, 2026
FixKBService

The help tree reads titles, not whole translated articles

Any language but English loaded every translated help row on each tree read, about 4 MB, outside the minute-long cache. The tree now carries titles alone and th...

Kamoยท1w ago
FixKBService

The deployed config names the platform organization

The pods read the ConfigMap's application.yml, not the one in the image, so sharing stayed off, which is the safe way to fail.

Kamoยท1w ago
FixKBService

Every write keys on the article's owning organization

Reads now cross one edge, so writes must not lean on anything a read decides. Each write takes the acting organization and asks ownedBy, in the service as well ...

Kamoยท1w ago
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ยท2w 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ยท2w 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ยท3w 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ยท3w 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ยท4w 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ยท4w 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ยท1mo 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ยท1mo 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ยท1mo 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ยท1mo 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ยท1mo 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ยท1mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท2mo 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ยท3mo 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ยท3mo 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ยท3mo 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ยท7mo 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

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