KamoCRM

Live Change Log

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

18,852
Total Changes
6,803
Features
5,692
Fixes
30
Projects
Filter by project
All Projects18,852AIService287APIService179BillingService166ConversionService121DaemonService151DocsService275ESigService102EmailService651InitializerService349KBService163KlusterServices777MCPGatewayService278MediaService627RAGService79SecurityService2,057TranslateService62VOIPService266VectorService11kamo-apps29kamo-asterisk-support29kamo-capcha17kamo-capcha-widget4kamo-internal8,873kamo-login346kamo-marketing642kamo-nowww20kamo-register216kamo-shared-library1,887kamo-signer-monorepo73kamolos115
Filter by type
All TypesBuild23CI528Chore797Docs3,294Feature6,803Fix5,692Other1,007Performance174Refactor285Revert23Style45Test180Upgrade1
March 16, 2026
FixInitializerService

Enable Hibernate schema auto-creation for email_metadata

Add **************** property so Hibernate creates missing PostgreSQL schemas before creating tables.

Kamo·8mo ago
FixEmailService

Change ddl-auto from none to update for auto schema management

Hibernate was not creating the email_metadata schema and conversations table because ddl-auto was set to none in the k8s configmap.

Kamo·8mo ago
FixDocsService

Review fixes - dialect, error handling, CI/CD manifests

- Fix Hibernate dialect to CockroachDialect (matching K8s configmap) - Separate token validation from business logic in checkFileInfo - Add Docs and ingress man...

Kamo·8mo ago
Fixkamo-shared-library

Use native query for markConversationRead to resolve Hibernate 6.2 type mismatch

CURRENT_TIMESTAMP in JPQL returns java.sql.Timestamp which doesn't match the Instant-typed updatedAt field. Native query with NOW() bypasses this.

Kamo·8mo ago
March 15, 2026
Fixkamo-shared-library

Use database-level timestamps instead of Instant.now()

Replace all @Builder.Default Instant.now() and @PreUpdate methods with @CreationTimestamp(source=DB) and @UpdateTimestamp(source=DB) so the database is the sing...

Kamo·8mo ago
FixEmailService

Use native query for PostgreSQL text[] column in ConversationRepository

MEMBER OF is not supported by Hibernate for @JdbcTypeCode(ARRAY) fields. Switch to native SQL with ANY() for folder_ids array lookup.

Kamo·8mo ago
March 14, 2026
FixEmailService

Use StringRedisTemplate to read OTK/session values stored as plain strings

The Next.js app stores OTK and *** values as plain strings in Redis. The default RedisTemplate uses JSON serializer which fails to parse them.

Kamo·8mo ago
FixEmailService

Add *** secret to deployment envFrom

Kamo·8mo ago
Fixkamo-internal

Resolve TypeScript errors in useEmailWebSocket hook

- Remove non-existent connectHeaders property from Client options - Replace client.active with client.connected for @stomp/stompjs compatibility

kamo·8mo ago
Fixkamo-internal

Match create button styling to existing global.css pattern

Use component={Link} with href, var(--color-primary) colors, and consistent sizing to match the existing Orders and Applications buttons.

kamo·8mo ago
March 13, 2026
Fixkamo-internal

Move create buttons to right side of pipeline tab toolbars

Remove duplicate left-side buttons where right-side ones already existed, and reposition newly added buttons to the right after other toolbar controls.

kamo·8mo ago
Fixkamo-internal

Give pipeline datagrid columns explicit widths with one flex column

Replace minWidth/maxWidth ranges with explicit width values so columns are properly sized for their data. Each grid has exactly one descriptive column with flex...

kamo·8mo ago
Fixkamo-internal

Remove toolbar margin gap between sub-tab row and datagrid

Remove mb:1 from toolbar wrapper in Commitments and Orders tabs, and add py:3px to the sub-tab panel for breathing room.

kamo·8mo ago
Fixkamo-internal

Seamless sub-tab and datagrid panel styling on pipeline market tabs

Remove the content Card wrapper for market tabs so there's no unnecessary panel behind the datagrid. Style the sub-tab row with rounded top / square bottom corn...

kamo·8mo ago
Fixkamo-internal

Remove sticky positioning from MemberHeader so form scrolls with header

The MemberHeader was pinned to the top of the scroll container with position: sticky, causing the form content to scroll underneath it. Now the header and form ...

kamo·8mo ago
Fixkamo-internal

Prevent pipeline detail pages from extending past viewport

Root Box changed from minHeight: 100vh to height: 100% with minHeight: 0 to match the leads view pattern. Content scrolls within the card, not the page itself. ...

kamo·8mo ago
Fixkamo-internal

Address review issues

- Validate intermediate steps when jumping forward via stepper - Pass warnings as query params instead of losing them on navigation - Revoke previous AI-generat...

kamo·8mo ago
FixSecurityService

Add auth check and sanitize input on POST /org

- Return 401 if no authenticated user (prevents orphan orgs) - Build Organization from allowed fields only (prevents mass-assignment) - Fix colors field name (w...

Kamo·8mo ago
Fixkamo-internal

Restore full step component implementations

Replace stub step components with the complete implementations that include all form fields, validation, and UI logic for each wizard step.

kamo·8mo ago
Fixkamo-internal

Add proactive session extension to prevent timeout while user is active

The session monitor only extended the Redis session when TTL dropped to ≤5 minutes, and at that point silently auto-extended without showing the warning popup. ...

kamo·8mo ago
Fixkamo-internal

Swap My Account and My Branch buttons and reduce NavTop gaps

Swapped positions of "My Account" and "My {branch title}" buttons in the top nav, and halved all container-level gaps for tighter spacing.

kamo·8mo ago
Fixkamo-register

Invalidate stale Redis cache missing org label fields

Cached org data from before the SecurityService update lacks the memberTitleNonPlural field. Detect this and re-fetch fresh data so custom member/team labels di...

Kamo·8mo ago
FixSecurityService

Include member title labels and shortTitle in org domain response

The /org/domain/{domain} endpoint was missing memberTitlePlural, memberTitleNonPlural, teamMemberTitlePlural, teamMemberTitleNonPlural, and shortTitle fields fr...

Kamo·8mo ago
Fixkamo-register

Proxy all external API calls through Next.js to avoid CORS

Added catch-all /api/security/[...path] proxy route and updated ThemeConfig, FormAccountRecovery, FormPassportID, FormPersonalInfo, and FormRecoveryEnforcement ...

Kamo·8mo ago
March 12, 2026
Fixkamo-register

Proxy countries API through Next.js and disable testing mode

Direct fetch to api.kamocrm.com failed due to CORS. Added /api/countries proxy route (same pattern as /api/org) and disabled USE_TESTING_MODE.

Kamo·8mo ago
Fixkamo-register

Use full GitHub URLs for action references in Forgejo workflow

Shorthand refs (e.g. actions/checkout@v4) can fail to resolve on Forgejo runners. Aligned with kamo-internal's working format.

Kamo·8mo ago
FixAPIService

Use JdkClientHttpRequestFactory to support PATCH method forwarding

The default RestTemplate uses SimpleClientHttpRequestFactory (HttpURLConnection) which doesn't support the PATCH HTTP method, causing branch-titles save to fail...

Kamo·8mo ago
FixSecurityService

Move loginOrgOpt declaration outside try block to fix scope error

The variable was declared inside the first try block but referenced in the second try block for parent branch title resolution.

Kamo·8mo ago
Fixkamo-internal

Move useUserInfo hook into OrgStep component to fix build error

getParentBranchTitleNonPlural was referenced in OrgStep but only destructured in the parent CreateNetworkPage component.

kamo·8mo ago
Fixkamo-internal

Resolve session timeout maintenance system not running

Root cause: sessionMonitor.start() called stop() after setting this.config, which nullified the config before the 3-second startup timer fired. As a result, the...

kamo·8mo ago
Fixkamo-login

Hide re*** badge when text attribution mode is active

Fixed overly-specific CSS selector that targeted the badge inside #re***-container. Google injects the badge directly into <body>, so the rule never matched. Ch...

Kamo·8mo ago
Fixkamo-register

Force light mode to override external dark mode CSS

- Set Tailwind darkMode to 'class' to prevent OS preference from triggering dark utilities - Add !important overrides in globals.css to lock light mode variable...

Sajon Nadjafinia·8mo ago
March 11, 2026
Fixkamo-internal

Resolve horizontal overlap, follower blind spot, and timing bugs

- flyToHomeRow: compute per-follower actual dx extents to derive rightBuffer/leftBuffer independently, placing anchor correctly to prevent ring followers from...

kamo·8mo ago
Fixkamo-register

Force light mode regardless of OS color scheme preference

Removed prefers-color-scheme dark media query so the site always renders in light mode.

Sajon Nadjafinia·8mo ago
Fixkamo-internal

Bake Size slider zoom into saved SVG via viewBox crop

Avatar Creator's internal scale transform zooms the avatar body within the SVG canvas, but the effect is imperceptible at small display sizes (e.g. a 140x140 Av...

kamo·8mo ago
Fixkamo-internal

Remove redundant CSS scale transform from avatar preview

Avatar Creator's scale option already applies scale(N/100) as an SVG group transform on the avatar body. The preview container was also applying CSS transform: ...

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