Live Change Log

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

18,042
Total Changes
4,671
Features
4,589
Fixes
32
Projects
Filter by project
All Projects18,042AIService114APIService140BillingService133ConversionService87DaemonService109DocsService191ESigService80EmailService392InitializerService304KBService76KlusterServices550MCPGatewayService45MediaService466RAGService63SecurityService1,532TranslateService47VOIPService175VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,606kamo-login319kamo-marketing590kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,332kamo-signer-monorepo50kamolos104
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,671Fix4,589Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
April 17, 2026
FeatureSecurityService

Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases

- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...

Kamo·4mo ago
FeatureInitializerService

Add ssl_confirmed and ssl_confirmed_at columns to org_domains

Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.

Kamo·4mo ago
Featurekamo-shared-library

Add sslConfirmed/sslConfirmedAt fields to OrgDomain and DomainDTO

Adds two new fields to OrgDomain entity and DomainDTO to track SSL certificate confirmation status after the auto-cert service issues a certificate. Also adds s...

Kamo·4mo ago
FixSecurityService

Apply word replacement at translation time, not ingestion

Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...

Kamo·4mo ago
Featurekamo-marketing

Remove client-side changelog censoring — now handled by backend

Word replacement and secret redaction moved to ChangelogSanitizationService (SecurityService) so sanitization happens before DB storage and translation. The fro...

Kamo·4mo ago
FeatureSecurityService

Move changelog word replacement to backend before translation

Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...

Kamo·4mo ago
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·4mo ago
Fixkamo-internal

Handle empty API responses and graceful degradation on billing tab

- billingApi get/put helpers now safely handle empty response bodies instead of crashing on res.json() with empty input - PlansBillingTab loadData wraps every...

kamo·5mo ago
FixSecurityService

Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint

The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...

Kamo·5mo ago
Fixkamo-internal

Resolve org/member context from *** session for billing proxy

BillingService controllers require X-Org-Id and X-Member-Id headers. When calling directly (bypassing APIService), these weren't being set. Now the Next.js prox...

kamo·5mo ago
Refactorkamo-internal

Call BillingService directly via k8s DNS instead of through APIService

Next.js server-side proxy now calls BillingService at **************** directly, skipping the unnecessary hop through APIService. Uses BILLING_SERVICE_URL env v...

kamo·5mo ago
Fixkamo-internal

Add Next.js API proxy route for /api/billing/*

The billing API client was calling /api/billing/* as a relative URL, which hit the Next.js server instead of the APIService gateway. Added a catch-all proxy rou...

kamo·5mo ago
Featurekamo-internal

Replace storage add-on toggle with quantity slider

Additional Storage is usage-based ($4/25GB block), not a simple on/off add-on. Replaced the toggle switch with a slider (0-1000GB in 25GB steps) plus a numeric ...

kamo·5mo ago
FixSecurityService

Include parent org in /org/domain response

The getOrganizationByDomain endpoint manually builds a response map but never included the parent organization reference. This prevented the frontend from knowi...

Kamo·5mo ago
Fixkamo-internal

Add parentId and parent to OrgProviderProps type

The Organization props interface was missing parentId and parent fields, causing them to be dropped during TypeScript compilation even though the backend sends ...

kamo·5mo ago
Featurekamo-internal

Wire BillingManager and RelationshipManager to real backends

BillingManager (account billing tab): - Replaced 100% local-state mock with real Stripe-backed payment method management via billingApi - Loads payment method...

kamo·5mo ago
FixKlusterServices

Purge incomplete model directories in init container

The service crashes on startup if it finds a directory in /models that has missing or partial model files. Add a sweep at init start that removes any directory ...

Kamo·5mo ago
FixKlusterServices

Remove GitHub LFS downloads, use only data.statmt.org models

GitHub raw URLs return LFS pointer files, not actual binaries. Drop enru/enar downloads entirely — LibreTranslate handles those locales. Only download the 4 pai...

Kamo·5mo ago
FixTranslateService

Narrow bergamot to es/fr/de/pl, restore bergamot-first order

GitHub LFS files can't be downloaded with plain curl (raw URL returns the pointer not the content). Removing enru/enar from bergamot scope; those locales fall t...

Kamo·5mo ago
FeatureKlusterServices

Restore bergamot with working model sources and correct image

- replicas: 1 - Init container (alpine): downloads 4 pairs from data.statmt.org (tarballs for enes/enfr/ende/enpl) and 2 from firefox-translations-models GitH...

Kamo·5mo ago
FixTranslateService

Narrow BergamotProvider targets to 6 pairs with available models

pt, it, uk, tr, ro, id, vi have no bergamot model source — LibreTranslate handles them. bergamot now claims: es, fr, de, pl, ru, ar.

Kamo·5mo ago
FixKlusterServices

Scale bergamot to 0, update image to mozilla/translation-service

The Google Cloud Storage model download bucket (bergamot-models-sandbox) returns 404 for all files and the firefox-translations-models repo was archived Dec 202...

Kamo·5mo ago
FixTranslateService

Route all translations through LibreTranslate while bergamot is offline

BergamotProvider is moved to fallback position. LibreTranslate supports all 13 locales bergamot was handling **************** so this eliminates the flood of "C...

Kamo·5mo ago
Featurekamo-internal

Replace mock stats page with live KamoCRM subscription dashboard

Rebuilt /settings/account?tab=stats into a fully wired, read-only insight dashboard. Replaces all mock data with parallel calls to BillingService via the existi...

kamo·5mo ago
Fixkamo-login

Proxy *** challenge through login server for multi-domain support

Replaces direct cross-origin fetch to capcha.{domain}/api/challenge with a same-origin proxy at /api/capcha/challenge. The previous approach required a valid TL...

Kamo·5mo ago
FixKlusterServices

Scale bergamot back to 1 replica — translation failures caused by missing pod

Bergamot was at 0 replicas with its service still registered. The ProviderRouter in TranslateService had no circuit breaker, so every request for es/fr/de/pt/it...

Kamo·5mo ago
FixSecurityService

Don't let null translated description hide the English original in changelog

The translation lookup for non-en locales was unconditionally overwriting description with **************** which is null when: - the translation was saved befo...

Kamo·5mo ago
Featurekamo-internal

Complete Choose a Plan flow end-to-end

- Wire PlanCalculator into PlansBillingTab dialog (replaces placeholder) - Fetch available plans from billing API on page load - Handle plan submission: creates...

kamo·5mo ago
Featurekamo-internal

Hide Plans & Billing tab for root KamoCRM org

KamoCRM org owners have everything enabled at no cost — they should never see the billing tab. The tab is now conditionally rendered only for child organization...

kamo·5mo ago
FixBillingService

Resolve 23 compilation errors from controller-service signature mismatches

Controllers were built by a separate agent from services, causing method name and parameter type mismatches. Fixed all controllers to match actual service signa...

Kamo·5mo ago
FeatureSecurityService

Add BillingService to changelog public-projects

Kamo·5mo ago
FixInitializerService

Update kamo-shared-library version from 1.0.0 to 1.1.0

Needed to resolve the new billing entities in the commerce.billing package added to shared library 1.1.0.

Kamo·5mo ago
FixBillingService

Update kamo-shared-library version from 1.0.0 to 1.1.0

The shared library is published as 1.1.0, not 1.0.0. This was causing the Docker build to fail with "artifact not found" since Maven could not resolve the depen...

Kamo·5mo ago
FixBillingService

Add -U flag to maven build steps to resolve shared library from local repo

The dependency:go-offline step was trying Maven Central first, getting a cached failure for kamo-shared-library (which is local-only), and that poisoned the sub...

Kamo·5mo ago
Featurekamo-internal

Integrate Stripe billing system across the platform

- New billingApi.ts client with full TypeScript types for all billing endpoints (subscriptions, payment methods, invoices, credits, usage, config, admin) - ...

kamo·5mo ago
FeatureBillingService

Initial BillingService — Stripe-integrated billing for KamoCRM

Complete Spring Boot service for managing KamoCRM billing via Stripe: - Stripe Customer, Subscription, PaymentMethod, Invoice lifecycle management - Credit sys...

Kamo·5mo ago
FeatureAPIService

Add Stripe webhook forwarding and billing API gateway routing

- POST /api/billing/webhooks/stripe receives Stripe webhooks and forwards to BillingService with Stripe-Signature header preserved - /api/billing/** gateway r...

Kamo·5mo ago
FeatureInitializerService

Add billing config initialization to KamoCRMPricingLoader

Seeds a default BillingConfig (ORG_PAYS_ALL, SOFT_LOCK, 7-day grace) for the KamoCRM organization during pricing loader startup. Supports the new Stripe billing...

Kamo·5mo ago
Featurekamo-shared-library

Add billing entities and repositories for Stripe integration

New package **************** with 9 entities (BillingCustomer, BillingSubscription, BillingPaymentMethod, BillingInvoice, BillingCredit, BillingCreditLedger, Bi...

Kamo·5mo ago
April 16, 2026
Otherkamo-analytics

Merge pull request #4162 from analytics-software/dev

v3.1.0

Mike Cao·5mo ago
Fixkamo-marketing

Reduce translation chunk size to 50 keys with exponential backoff

150 keys still too large for some providers (long paragraph values in privacy/terms/GDPR). Now: 50 keys per chunk, 4 retries with exponential backoff (2s→4s→8s→...

Kamo·5mo ago
Fixkamo-marketing

Chunk translation requests to prevent fetch timeouts on large payloads

With 1500+ keys, the single batch request payload was causing connection timeouts for some translation providers. Now splits into chunks of 150 keys with 3 retr...

Kamo·5mo ago
Featurekamo-marketing

Add /calculator and /pricing/offer to all sitemaps; i18n HTML sitemap labels

- app/sitemap.ts: add /pricing/offer and /calculator entries with locale alternates - app/api/sitemap/route.ts: add Pricing Calculator and Special Offer entries...

Kamo·5mo ago
Chorekamo-marketing

Delete translation hash to force full re-translation of expanded en.json

All page body content has been extracted to en.json (4 parallel agents added ~500+ new keys across features, home, about, security, privacy, terms, gdpr, cookie...

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