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 18, 2026
FixEmailService

Add internal.auth.secret to EmailService configmap

InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...

Kamo·4mo ago
Refactorkamo-login

Redirect EMAIL_NOT_VERIFIED to register/resend-verification

Removes the inline EmailVerifyCard from the login page and all related state/callbacks. On EMAIL_NOT_VERIFIED, the user is now forwarded to **************** whe...

Kamo·4mo ago
Featurekamo-register

Add /resend-verification page for login redirects

Creates a standalone /resend-verification route that accepts ?email and ?userId query params, reusing PostCompletionScreen for a consistent email verification U...

Kamo·4mo ago
FixEmailService

Allow transactional send on port-25 relay and auto-seed missing templates

Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...

Kamo·4mo ago
FixSecurityService

Use subdomain-aware SQL to match findByDomain JPQL logic

Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...

Kamo·4mo ago
Fixkamo-login

Set Host/X-Forwarded-Host so APIService resolves correct org

APIService overwrites X-Forwarded-Host with request.getServerName(), which reads from the Host header. Without an explicit Host header the K8s internal service ...

Kamo·4mo ago
FixSecurityService

Correct EmailService URL port in configmap (4203 -> 80)

EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.

Kamo·4mo ago
Featurekamo-register

Redesign email verification screen + fix resend email bug

- PostCompletionScreen: full-page layout with animated org background, glassmorphism card, logo, visual 6-digit code boxes, success/verified states - resendVe...

Kamo·4mo ago
FixSecurityService

Bypass JPA org lookup to avoid Hibernate cascade flush error

**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...

Kamo·4mo ago
Refactorkamo-shared-library

Remove eager feature-loading from getOrganizationByDomain

Features are an org-level concern unrelated to most callers of this method (e.g. registration, login domain resolution). Force-loading them via setFeatures() re...

Kamo·4mo ago
Fixkamo-shared-library

Mutate features collection in-place to avoid cascade orphanRemoval error

Calling org.setFeatures(newList) replaces the Hibernate-tracked persistent collection, causing JpaSystemException when any query triggers auto-flush in an open ...

Kamo·4mo ago
FixSecurityService

Use getReferenceById to avoid cascade orphanRemoval flush error on registration

Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...

Kamo·4mo ago
Fixkamo-login

Resend verification using email not userId, forward X-Forwarded-Host

SecurityService /register/resend-verification expects email in the body, not userId (which the login error response never includes). Also forward X-Forwarded-Ho...

Kamo·4mo ago
Featurekamo-register

Match kamo-internal avatar storage — 3 sizes, MinIO, separate upload step

Crop dialog now produces three PNG blobs (50/150/350px) via canvas, identical to kamo-internal's AvatarManager. After registration returns userId, the blobs are...

Kamo·4mo ago
FeatureSecurityService

Add register-photo endpoint for unauthenticated post-registration avatar upload

POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...

Kamo·4mo ago
Featurekamo-login

Replace EMAIL_NOT_VERIFIED error with rich verification card

When login fails with EMAIL_NOT_VERIFIED the login card is now replaced by a polished "Check your inbox" screen: animated envelope SVG with opening flap and flo...

Kamo·4mo ago
Featurekamo-register

Extend photo upload to support AVIF and SVG formats

Adds image/avif and image/svg+xml to the file input accept list and validation regex. Updates the hint label to list all six formats. kamo-internal already acce...

Kamo·4mo ago
Featurekamo-register

Add react-easy-crop photo editor to registration upload step

Mirrors the PhotoCropDialog from kamo-internal's AvatarManager: - crop dialog opens immediately after file selection - pan by dragging, zoom via scroll or slide...

Kamo·4mo ago
FixEmailService

Add dao.repositories to JPA scan so EmailTemplateRepository is found

Same pattern as KamoInitializerService — explicit basePackages overrides default scanning and must include every package that has repositories.

Kamo·4mo ago
Fixkamo-register

Pass upstream error body through security proxy instead of generic message

Previously returned {error: "Upstream error"} on non-2xx, losing the real error message from SecurityService. Now forwards status code and body directly.

Kamo·4mo ago
FixSecurityService

Align registration field names and response shape with frontend contract

Frontend sends nameFirst/nameLast but controller read firstName/lastName, causing 400 "First name is required". Success response now returns {status, userId, al...

Kamo·4mo ago
Fixkamo-register

Prevent stale ageReqType cache from showing age check incorrectly

- Org route: reduce Redis TTL from 24h to 5min and add ageReqTypeMember to stale detection so security fields stay fresh after DB changes - RegisterFlow: defa...

Kamo·4mo ago
FixSecurityService

Add SecurityService and dao.repositories to EnableJpaRepositories scan

UserPhoneLookupRepository in recovery package was not picked up because EnableJpaRepositories only listed dao.repos and commerce. Added the SecurityService base...

Kamo·4mo ago
Fixkamo-register

Set browser tab title to 'Register - {org name}'

DynamicMetaLoader now calls useThemeConfig and updates document.title to 'Register - {org.title}' once the org loads. Static fallback in layout.tsx changed from...

Kamo·4mo ago
Fixkamo-marketing

Update all register links to /member path

Kamo·4mo ago
Featurekamo-register

Add /api/geoip route and wire country auto-detection

Proxies client IP to SecurityService GeoLite2 lookup, then sets the detected country in FormMyCountry automatically on page load.

Kamo·4mo ago
FeatureSecurityService

Add GET /api/security/geoip/me for client IP country lookup

Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...

Kamo·4mo ago
Chorekamo-register

Add CAPCHA_SERVICE_URL to k8s configmap

Kamo·4mo ago
Fixkamo-register

Resolve TS errors from steps used before declaration and Capcha style cast

Move **************** useMemos above the useEffects that depend on them; import CSSVariables type and use it for the Capcha-widget style prop.

Kamo·4mo ago
FixInitializerService

Add dao.repositories to EnableJpaRepositories scan

EmailTemplateRepository lives under dao.repositories.email, not dao.repos, so it was not picked up as a Spring bean.

Kamo·4mo ago
Fixkamo-shared-library

Add DEFAULT false to email_verified column definition

Hibernate's schema migrator generates ALTER TABLE without a default, failing on tables with existing rows. columnDefinition forces it to include DEFAULT false s...

Kamo·4mo ago
FixESigService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixTranslateService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixRAGService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixMediaService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixMCPGatewayService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixKBService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixEmailService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixDocsService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixDaemonService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixConversionService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixBillingService

Bump kamo-shared-library to 1.4.0

Kamo·4mo ago
FixAIService

Bump kamo-shared-library to 1.4.0

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