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
May 9, 2026
Featurekamo-internal

Render inline cid: images via the new EmailService endpoint

When a message exposes inline parts (each carrying a contentId), the email renderer now rewrites <img src="cid:..."> references at mount time to ***************...

kamo·5mo ago
Fixkamo-internal

Broken inline images, attachment downloads, and view-pane flicker

- Strip <img> with cid: src in the email sanitizer so embedded images don't render as a flickering broken-image icon, and hide images that fail at runtime v...

kamo·5mo ago
Chorekamo-internal

Trigger CI to regenerate translations

kamo·5mo ago
May 6, 2026
Otherkamo-internal

Fix doubly-namespaced t() calls in clubhouse member list

Calls were resolving to **************** instead of **************** — switch to use the properly-scoped tMember handle for searchPlaceholder, searchAriaLabel, ...

kamo·5mo ago
May 4, 2026
Chorekamo-internal

Trigger redeploy

kamo·5mo ago
Otherkamo-internal

Translate remaining UI strings outside main batches

NavInfo (placeholder name), NavTab (Print/Share buttons), NotImplemented (message), SecureIFrame (iframe title), useUserInfo HOCs (Loading/Please log in/permiss...

kamo·5mo ago
Otherkamo-internal

Translate POS6 (10 final files) — pos batch complete

97 strings across MarketCardGrid, MarketAgreementTemplates, MarketRentalAssets, MarketSubscriptionPlans, and 6 SubscriptionPlan* tabs (AddOns, Bundles, Details,...

kamo·5mo ago
Otherkamo-internal

Translate provider help (10 setup guides)

117 strings across BigCommerce, Ecwid, Magento, OpenCart, PrestaShop, Shift4Shop, Shopify, Squarespace, Wix, WooCommerce setup guides. Step text uses t.rich() w...

kamo·5mo ago
Otherkamo-internal

Translate POS4 ****************

74 strings. **************** **************** keys.

kamo·5mo ago
Otherkamo-internal

Translate POS3 ****************

92 strings. **************** **************** keys.

kamo·5mo ago
Otherkamo-internal

Translate MarketProducts + MarketCustomers

118 strings. **************** marketCustomers}.* keys with ICU plural patterns and refactored SUB_VIEWS/ATTR_TYPE_LABELS to hold translation keys instead of lit...

kamo·5mo ago
Otherkamo-internal

Translate MarketTaxShipping + MarketDiscounts

151 strings (78+73). **************** marketDiscounts}.* keys with ICU plural patterns for method/entry counts. DiscountTypeBadge refactored from helper into su...

kamo·5mo ago
Otherkamo-internal

Translate E5 (16 small files) — email batch complete

61 strings. **************** **************** **************** **************** signatureTemplateSelector}.* keys. All 27 email files now at 0 audit hits.

kamo·5mo ago
Chorekamo-internal

Trigger redeploy

kamo·5mo ago
Otherkamo-internal

Translate E4 ****************

62 strings. **************** **************** keys.

kamo·5mo ago
Otherkamo-internal

Translate E3 ****************

74 strings. **************** domainManager,caldavPersonal}.* keys.

kamo·5mo ago
Otherkamo-internal

Translate E2 ****************

92 strings. **************** **************** keys.

kamo·5mo ago
Otherkamo-internal

Translate EmailTemplateEdit (114 strings)

Largest file in the email batch. Refactored module-level legalTextOptions constant into buildLegalTextOptions(t) function for runtime translation. Inner EmailFr...

kamo·5mo ago
Otherkamo-internal

Translate P5 (6 medium tabs)

96 strings across VerticalSection, EngagementsTab, RetailFulfillmentTab, RetailCustomersTab, VendorsTab, SignupsTab. Uses t() with **************** ************...

kamo·5mo ago
Otherkamo-internal

Translate Commitments tab

34 strings. Uses t() with **************** keys.

kamo·5mo ago
Otherkamo-internal

Translate P3 (Applications+Dashboard) + P4

7 files. P3 partial — Commitments reverted (rate-limit kill mid-batch), Applications and Dashboard salvaged with 0 audit hits. P4 complete (ServiceRequests, Ret...

kamo·5mo ago
Otherkamo-internal

Translate WorkOrders + Procurement tabs

116 strings. Reused existing **************** procurementTab keys aggressively plus common.fields/actions/states.

kamo·5mo ago
Otherkamo-internal

Translate Bookings + Orders tabs

101 strings. Reused existing **************** keys plus common.* (status, dates, fields, actions).

kamo·5mo ago
Otherkamo-internal

Translate 5 essential settings managers

206 strings across DepartmentManager, JobTitleManager, LabelManager, SecurityRoleManager, SubdomainBranchesDialog. Uses t() with **************** **************...

kamo·5mo ago
Otherkamo-internal

Translate 6 security settings tabs

195 strings across APIManager, AccessBlockManager, OAuth2Manager, SuspiciousManager, SystemAccessLogsManager, SystemDebug. Uses t() with **************** access...

kamo·5mo ago
Otherkamo-internal

Translate 7 account settings components

130 strings across BranchSetupManager, DefaultRoleTemplatesSection, FeaturesManager, RelationshipManager, **************** **************** StatsManager. Uses t...

kamo·5mo ago
Otherkamo-internal

Translate 6 AI settings tabs

98 strings across AiGeneralSettings, McpServersTab, ProviderSetupTab, SalesAgentSetupTab, SecurityModelsTab, UsageOverviewTab. Uses t() with **************** us...

kamo·5mo ago
Otherkamo-internal

Translate all 4 webinar files

LeadWebinarsSection, MyWebinarsTab, WebinarScheduleWizard, settings/ WebinarSettingsTab. Uses t() with **************** scheduleWizard,settings}.* keys. Reused ...

kamo·5mo ago
Otherkamo-internal

Translate OrderWizard

42 strings. Uses t() with **************** keys. Reused common.actions/states/fields. Existing tUi placeholder hook preserved alongside new top-level t.

kamo·5mo ago
Otherkamo-internal

Translate ****************

3 files (94 strings). Extracted agreement template defaults (HTML body, sample data, type colors, helper) into a sibling .ts file so the audit no longer flags t...

kamo·5mo ago
Otherkamo-internal

Translate AddOns/Bundles/VolumeDiscounts

3 files (57 strings). Uses t() with **************** bundles,volumeDiscounts}.* keys. Reused common.actions/fields/states.

kamo·5mo ago
Otherkamo-internal

Translate MatrixCell + DashboardCards

Partial start of subscription batch — 2 small files (5 strings): MatrixCell "Unlimited" pill labels in ReadMode and NumericEditor; SubscriptionDashboardCards ti...

kamo·5mo ago
Otherkamo-internal

Translate UI

30 files: leads (BusinessCard/Header/Manager); tools (ai-chat 5 files, calculator 6 files, media-player, message 2 files, sms 2 files); image-to-svg ***********...

kamo·5mo ago
May 3, 2026
Otherkamo-internal

Translate UI strings

27 files: **************** **************** ManageSourcesDialog}; **************** **************** **************** messages/{ConversationListView, ***********...

kamo·5mo ago
Otherkamo-internal

Translate settings features components

12 files in **************** meets: **************** settings tabs. phone: multi/AggregatedTabs **************** and multi/ProvidersTab. docs: AssocConfigPanel,...

kamo·5mo ago
Otherkamo-internal

Translate CRM settings components

11 files in **************** CustomFormManager, FieldMappingInterface, LeadAutoImportManager, LeadManualImportManager, LeadMarketManager, LeadStatusLabelManager...

kamo·5mo ago
Otherkamo-internal

Translate small components subdirs

24 files across **************** **************** hardcoded UI strings now use t() with keys grouped by directory under components.* namespace. SmsChatTab.tsx d...

kamo·5mo ago
Otherkamo-internal

Translate error/loading/not-found pages

Use t() for ERROR badge, headline, subtitle, action buttons, and support link on error.tsx; loading message on loading.tsx; random message and description array...

kamo·5mo ago
Otherkamo-internal

Translate hardcoded UI

commerce (10 files): applications, bookings, commitments, orders, procurement, requests, service, service-requests, signups, subscriptions detail pages. setting...

kamo·5mo ago
May 1, 2026
Fixkamo-internal

Defects C/D/E — title display name, toolbar layout, header lift

Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...

kamo·5mo ago
Featurekamo-internal

Derive and dispatch tool window title from session members

Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to upd...

kamo·5mo ago
Refactorkamo-internal

Collapse toolbar, remove ChatHeader, add members intro row

- Delete ChatHeader row from embedded chat; move Add Member icon into unified toolbar - Toolbar: search input on left, VideoCall icon + PersonAdd icon + scroll-...

kamo·5mo ago
Featurekamo-internal

Lift search above tab strip, share query across Members and Chats tabs

Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filt...

kamo·5mo ago
Fixkamo-internal

Show upload error toast in Composer when attachments fail

Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...

kamo·5mo ago
Fixkamo-internal

Empty Chats tab — frontend already expects {rows} paged shape (no change needed)

The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...

kamo·5mo ago
Fixkamo-internal

Drop redundant chat header buttons; integrate Members/Chats tabs with panel design

ChatHeader had its own minimize/close IconButtons but the chat tool window chrome already provides those affordances — they were duplicated when embedded. ChatH...

kamo·5mo ago
Fixkamo-internal

Drop unused @ts-expect-error on streaming fetch body

The `as RequestInit` cast already silences the type error; the directive is redundant under TS strict mode and breaks the production build.

kamo·5mo 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