Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,865
Total Changes
4,581
Features
4,512
Fixes
32
Projects
Filter by project
All Projects17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
April 20, 2026
FeatureSecurityService

Make RoleRightsSyncService fully self-healing on every boot

Adding or removing a RoleRightType must never again require running KamoInitializerService. syncAll() now runs three phases on every startup: 1. Heal constrain...

Kamo·4mo ago
FixInitializerService

Drop stale CHECK constraints on default-role-rights enum columns

Hibernate auto-generates CHECK (column IN ('VAL1', 'VAL2', ...)) constraints on CREATE TABLE for @Enumerated(EnumType.STRING) columns, freezing the enum's value...

Kamo·4mo ago
FixInitializerService

Add missing unique constraints for role-right upserts

**************** + syncSecurityModelRoleRights use `ON CONFLICT (role_id, right_type) DO NOTHING` and `ON CONFLICT (default_role_id, right_type) DO NOTHING`, wh...

Kamo·4mo ago
Fixkamo-shared-library

Add unique constraint on (role_id, right_type) in OrgRoleRight

Required for ON CONFLICT DO NOTHING in **************** Without this constraint, the sync query fails with "no unique or exclusion constraint matching the ON CO...

Kamo·4mo ago
Chorekamo-register

Remove deprecated OrganizationType enum

The enum is being retired — identification of the platform-owner org is now driven by the new Organization.isTopLevel flag, and the remaining values (CRM_CLIENT...

Kamo·4mo ago
Featurekamo-internal

Add Platform Administration settings — org plan grants, events, plan catalog

- New pages under /settings/platform (guarded by hasPlatformAdminAccess): - /organizations — list every org, grant/modify/revoke COMP plans with reasons - /...

kamo·4mo ago
FeatureBillingService

Add PlatformAdmin controller + service for comp plan grants

- PlatformAdminController at /api/billing/platform (class-level @PlatformAdminOnly) - GET /orgs, GET /orgs/{orgId} - POST /orgs/{orgId}/grants, PATCH|DELET...

Kamo·4mo ago
FeatureInitializerService

Seed Organization.isTopLevel for kamocrm and OWNER_UNLIMITED self-comp plan

- DataLoader: drop OrganizationType arg from createOrg, set isTopLevel=true on kamocrm - KamoCRMAgeReqUpdateRunner + test: match on IS_TOP_LEVEL = TRUE instead ...

Kamo·4mo ago
Fixkamo-internal

Stop overwriting member avatar with logged-in user's avatar on profile view

fetchAvatars fetched /api/security/avatars (no memberID scope — always returns the logged-in user's avatars) and called setActiveAvatar, clobbering the correct ...

kamo·4mo ago
Featurekamo-shared-library

Add Organization.isTopLevel, PaymentMethod.COMP, COMP_* event types; remove OrganizationType enum

- Organization: replace dead `type` field with `isTopLevel` flag for platform-owner identification - PaymentMethod: add COMP for complimentary platform-admin gr...

Kamo·4mo ago
Fixkamo-internal

Add missing sync-rights proxy route

POST /api/security/roles/sync-rights was missing a Next.js proxy handler, causing the Sync Rights button in Security Roles settings to always fail.

kamo·4mo ago
Featurekamo-shared-library

Add orgOriginal field to User to track registration org

Kamo·4mo ago
FixMediaService

Use PublicChatVisitor displayName for requestorName on visitor tickets

Visitor-initiated tickets hardcode requestor to the org system member, so the DTO was surfacing the org owner's name in the Requestor column. Fall back to the P...

Kamo·4mo ago
Featurekamo-internal

Member-requestor support rights gating and dual-mode ticket view

- NavTop: show SupportButton for any support right (agent or member) - SupportButton: gate each dropdown item by right — Create/View Tickets, Request Webinar,...

kamo·4mo ago
Featurekamo-shared-library

Add member-requestor support rights (133-136)

Adds four new SUPPORT-scoped rights for non-agent members: - **************** (133) - CREATE_SUPPORT_TICKET (134) - REQUEST_WEBINAR (135) - VIEW_MY_SCHEDULED_WE...

Kamo·4mo ago
Featurekamo-internal

Add Sync Rights button to SecurityRoleManager for top-level orgs

Button is only visible when organization.hasParent is false. Calls POST /api/security/roles/sync-rights then reloads the roles table.

kamo·4mo ago
Fixkamo-internal

Gate Support/Settings by rights, fix Network copy, loading on tab switch, nav divider

- Network card: updated description to use dynamic branch title label - Support card: fixed 404 by changing href /help → /support; gated by isSupport + VIEW_SUP...

kamo·4mo ago
FeatureSecurityService

Extract RoleRightsSyncService and add sync-rights endpoint

- RoleRightsSyncService: centralizes role rights sync logic for both OrgRole and **************** tables; startup and on-demand - DataLoader: delegates to Rol...

Kamo·4mo ago
Featurekamo-shared-library

Make role rights DTOs enum-driven and add security model rights sync

- SecurityRoleDTO.fromOrgRole(): enumerate all RoleRightType values with DB settings as lookup — new rights appear with NOT_SPECIFIED automatically - ********...

Kamo·4mo ago
Featurekamo-shared-library

Add ALLOW_PROMOTING_MEMBERS right (id 132)

Kamo·4mo ago
Fixkamo-internal

Support chat UX — name updates, titles, notification count, datagrid

- TicketChat fires onVisitorNameChanged when NAME_CHANGED WS event arrives - SupportTicketWindow dispatches tool:title with requestorName on load and on name ...

kamo·4mo ago
Fixkamo-marketing

Render system events as friendly text in visitor support chat

NAME_CHANGED system events no longer show raw JSON in the chat bubble; they display as a centered italic pill ("Changes name to {name}"). Other system events ar...

Kamo·4mo ago
Fixkamo-internal

Show AG Grid loading overlay instead of empty state on leads page

Initialize loading state to true so the grid shows "Loading leads..." until the first fetch completes, preventing a flash of "No leads found".

kamo·4mo ago
Featurekamo-shared-library

Promote POS and ESIG from PLANNING to COMPLETED stage

Kamo·4mo ago
FixSecurityService

Use getOrganizationByIdWithFeatures in AppAvailabilityInterceptor

Resolves LazyInitializationException on /api/security/leads and all other CRM/POS-gated paths. The interceptor called org.getFeatures() after the transaction cl...

Kamo·4mo ago
Fixkamo-shared-library

Add findByIdWithFeatures to eagerly load Organization.features

JOIN FETCH prevents LazyInitializationException when features are accessed outside a transaction (e.g. in AppAvailabilityInterceptor).

Kamo·4mo ago
Featurekamo-internal

Show city and subdivision in ticket visitor geo row

Display as "City, Region, Country (IP)" — nulls are filtered so it degrades gracefully when only country data is available

kamo·4mo ago
FeatureMediaService

Expose city and subdivision in visitor geo lookup

- Extend GeoResult record with city and subdivision fields - Switch SupportTicketService.toDTO() to use GeoLookupService (IP-level lookup) instead of country-...

Kamo·4mo ago
Featurekamo-shared-library

Add visitorCity and visitorSubdivision to SupportTicketDTO

Kamo·4mo ago
Featurekamo-internal

Add tab URL params to /account page for deep linking and refresh persistence

Tab state is now synced to **************** so links to specific tabs work and the correct tab stays selected on page refresh.

kamo·4mo ago
FixMediaService

Build error in GeoLookupService and add NATS publish for agent messages

- Fix Optional vs List type mismatch in **************** - Inject NatsMessageService into MediaController - Publish to chat.session.{guid} after agent creates a...

Kamo·4mo ago
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·4mo ago
Fixkamo-internal

Correct message sides in history and handle visitor name change events

- Use messageType=VISITOR_MESSAGE from API to determine left/right in history load - Add NAME_CHANGED system event rendering in SystemMessage and TicketChat

kamo·4mo ago
FixMediaService

Real-time chat delivery, message sides, notifications, and name sync

- Keep NATS subscription alive on client unsubscribe to avoid breaking agent real-time delivery - Tag visitor messages with messageType=VISITOR_MESSAGE in getMe...

Kamo·4mo ago
Fixkamo-shared-library

**************** uses instanceof for MEMBER type

Hibernate TYPE(m) = :type returns 0 results when bound to the base Member class in JOINED inheritance. For MEMBER type, fetch all and filter with !(m instanceof...

Kamo·4mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing