KamoCRM

Live Change Log

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

18,414
Total Changes
6,545
Features
5,540
Fixes
30
Projects
Filter by project
All Projects18,414AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService623InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,999TranslateService62VOIPService265VectorService11kamo-apps27kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,701kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,828kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,545Fix5,540Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
September 28, 2026
FixTranslateService

Keep ampersands out of LibreTranslate's en->es model, which quotes or truncates them

Moving en->es to LibreTranslate (27888ca) exposed a fault in its model: a spaced ampersand comes back as a double quote ("Billing & Payments" -> 'Billing " Paym...

Kamo·1mo ago
FixAIService

The streamed member turn runs the member's tools and cites its sources, and a browser can open it

The /ws/ai-chat turn was text only: no Tool Plane tools, no tool loop, no knowledge-base citations, and its handshake took only the raw session id, which kamo-i...

Kamo·1mo ago
FixMediaService

An AI invite settles the caller's authority before it looks at the target

invite() answered 409 NOT_AN_ACTIVE_AI_MEMBER before 403 NOT_ALLOWED_TO_INVITE, so a member who could reach M1 but not invite could tell an active AI's member i...

Kamo·1mo ago
FixMediaService

An impersonating admin may not set the member's status text

PUT /api/media/presence/status accepted a sudo session. It is now refused 403: unlike the heartbeat, which nobody chose to send and is ignored quietly, setting ...

Kamo·1mo ago
FixMediaService

A session type without its own gate takes no messages, and a session is described only to its readers

POST **************** authorized CHAT, SUPPORT_TICKET and SOCIAL and then simply ended, so a POST, SYSTEM_BUG or EXEC2EXEC session fell through every gate: any ...

Kamo·1mo ago
FixMediaService

Another org's agent, topic or AI member is a 400 naming the field

The sales agent and support topic checks threw a bare IllegalArgumentException that nothing caught, so saving one the org does not own answered 500. They, and t...

Kamo·1mo ago
Chorekamo-marketing

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the dictionary sync re-translated eleven garbled es/fr/pl marketing values through LibreTranslate. The image copies the dictionary when it builds, so ...

Kamo·1mo ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·1mo ago
DocsSecurityService

The sign-in check is reachable from the internet edge; the secret is its only gate

The javadoc said /api/internal/dav/sign-in was reached over ClusterIP, as if that were the only way in. It is not: klusterservices **************** routes inter...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the previous empty commit quoted the skip marker the dictionary sync puts on its checkpoints, so Forgejo started no build for it. This one starts the ...

Kamo·1mo ago
TestSecurityService

Pin the bare cookie domain against Tomcat's own cookie processor

bc54945 stopped logout clearing *** on ".kamocrm.com", which Tomcat's RFC 6265 processor refuses by throwing from addCookie: logout answered 500 after the sessi...

Kamo·1mo ago
FixSecurityService

Close the AI identity edge cases the SP02 review left open

- A never-hired AI relabelled a person no longer keeps ai_state and the pause columns (master 6.1: NULL for a person). They are written only by SQL, so the ...

Kamo·1mo ago
FixSecurityService

A lead you may not open takes no status change and no note

PUT /api/security/leads/{id} and POST /api/security/media/posts checked only the lead's organization, so a member without VIEW_UNASSIGNED_LEADS could change the...

Kamo·1mo ago
DocsKlusterServices

The registry lists the window OLLAMA_CONTEXT_LENGTH sets

AIService's Ollama discovery now reads the loaded model's window from /api/ps (SP99-T12), so the registry follows this value instead of granite's trained 1 048 ...

Kamo·1mo ago
FixAIService

An in-cluster model gets the time to read its prompt, inside the walk's budget

kamo-llm reads a prompt at about 110 tokens a second on k3m1 before it writes a word, so an E2 prompt past ~6k tokens spent E2's whole 60 s per-attempt bound (a...

Kamo·1mo ago
FixAIService

A Hugging Face text stream is metered as the router counted it

HuggingFaceAdapter streamed through the interface's text-only default: every chunk was read for its text and nothing else, so no usage ever reached the executor...

Kamo·1mo ago
FixAIService

An Ollama model's context is the window the server serves, not the trained one

OllamaDiscovery took model_info.*.context_length from /api/show: the window the model was TRAINED for. The registry listed granite4:tiny-h at 1 048 576 (and qwe...

Kamo·1mo ago
Docskamo-internal

Ledger — 1 entries

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the dictionary sync re-translated 352 garbled es/fr/pl values (Bergamot tiny students) through LibreTranslate. kamo-internal copies the dictionary at ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the dictionary sync re-translated 352 garbled es/fr/pl values (Bergamot tiny students) through LibreTranslate. kamo-internal copies the dictionary at ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the dictionary sync re-translated 352 garbled es/fr/pl values (Bergamot tiny students) through LibreTranslate. kamo-internal copies the dictionary at ...

Kamo·1mo ago
Chorekamo-internal

Rebuild so the image carries the corrected es/fr/pl translations

SP99 T11: the dictionary sync re-translated 352 garbled es/fr/pl values (Bergamot tiny students) through LibreTranslate. kamo-internal copies the dictionary at ...

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