KamoCRM

Live Change Log

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

17,395
Total Changes
5,910
Features
5,260
Fixes
30
Projects
Filter by project
All Projects17,395AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,830TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,328kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,637kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,910Fix5,260Other993Performance165Refactor278Revert23Style42Test159Upgrade1
March 19, 2026
Featurekamo-internal

Add shared template data

kamo·7mo ago
Refactorkamo-internal

Remove Client ID and Secret fields from RingCentral UI

These are platform-level credentials set once in the K8s secret. Customers only need to provide their JWT Key and main phone number.

kamo·7mo ago
RefactorVOIPService

Read RingCentral client-id/secret from platform config, not per-org DB

Client ID and Secret identify the Kamo app on RingCentral's platform — they are shared across all orgs. Inject them from Spring Boot properties (backed by the K...

Kamo·7mo ago
Refactorkamo-shared-library

Remove clientId/clientSecret from VoipProviderConfig

These are platform-level credentials shared across all orgs. Only jwtKey and mainPhoneNumber are per-org.

Kamo·7mo ago
FixVOIPService

Use correct session key casing for orgID and memberID

KSessionService stores keys as orgID and memberID (capital D). Both controllers were calling .get("orgId") and .get("memberId") which always returns null, causi...

Kamo·7mo ago
Fixkamo-internal

Always show softphone and SMS buttons in NavTop

Removed isVoip gate so the buttons are always visible regardless of feature flag state.

kamo·7mo ago
CIVOIPService

Add Dockerfile for VOIPService

Matches the shared-library + service two-stage build pattern used by EmailService and other Java services.

Kamo·7mo ago
Fixkamo-internal

Use feature type name as key before numeric id in org feature preprocessing

Java returns features with `type: "VOIP"` and a numeric `id`. The preprocessing chain had `obj.id` before `obj.type`, causing all features to get numeric string...

kamo·7mo ago
FixMediaService

Add voip.> to NATS stream subjects and handle IllegalStateException in VoipStompRelayController

The NATS stream only covered chat.> so subscribing to voip.> threw IllegalStateException ([SUB-90007] No matching streams). Added voip.> to the stream subjects ...

Kamo·7mo ago
FixEmailService

Add security-service.*** to K8s ConfigMap

KamoJwtService requires this property for Bearer token validation in DavAuthFilter, but the K8s ConfigMap overrides application.yml and was missing it — causing...

Kamo·7mo ago
Featurekamo-internal

Redesign phone provider setup to match email provider format with logos, help tips, and correct nav tabs

- Rewrite PhoneProviderSetup to match EmailProviderSetup pattern: list/config view split, AnimatePresence transitions, back button with provider name in header,...

kamo·7mo ago
Fixkamo-internal

Show Phone System(s) settings unconditionally so orgs can configure VOIP before enabling it

- Remove isVoip gate from phone section on /settings page — Provider Setup card has no condition so it always appears; Agents and Dial Plans still gated by isVo...

kamo·7mo ago
Fixkamo-internal

Guard against non-array API responses in useContacts hook

setBooks, fetchContacts, and searchContacts now safely handle error objects and Spring paginated wrappers instead of crashing with 'e.map is not a function'.

kamo·7mo ago
Featurekamo-internal

Add CalDav/CardDav tab to email settings page

kamo·7mo ago
FeatureEmailService

Add ProviderRegistry

Kamo·7mo ago
Featurekamo-shared-library

Add ID-based query methods to ContactIntegrationRepository

Kamo·7mo ago
FeatureEmailService

Add GroupwareProvider interface, ProviderContext, and model classes

- GroupwareProvider interface defines calendar and contact book operations - ProviderContext carries runtime context for provider invocations - Model classes: P...

Kamo·7mo ago
FeatureInitializerService

CalDav/CardDav Part 4 — schema indexes and email repo scan

- Add supplemental indexes on **************** and **************** via SchemaCleanupRunner (Hibernate ddl-auto:update adds the FK columns; indexes are extr...

Kamo·7mo ago
Featurekamo-shared-library

CalDav/CardDav Part 4 — shared library repository and entity additions

- Add contactIntegration FK to ContactBook entity - Add findByContactIntegrationId to UserCalendarRepository - Add findByContactIntegrationId to ContactBookRepo...

Kamo·7mo ago
FeatureEmailService

Add CalDavController and CalendarService DAV methods

Adds findEventByUid, getChangedEventsSince, getDeletedEventsSince to CalendarService. Adds CalDavController handling PROPFIND, REPORT, MKCALENDAR, PROPPATCH, GE...

Kamo·7mo ago
FeatureEmailService

Add DavNamespaces constants

Kamo·7mo ago
Featurekamo-internal

Add Contacts link to NavTop

kamo·7mo ago
Featurekamo-internal

Add contacts types and **************** hooks

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