KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
June 15, 2026
Fixkamo-internal

Stop gating pages on the *** cookie in proxy middleware

proxy.ts (Next middleware) redirected every page request with no *** cookie to /logout. Since the session id now lives in sessionStorage — which a document requ...

kamo·3mo ago
Fixkamo-internal

Stop touching cookies; send token explicitly on auth calls

Rip out all the legacy-cookie clearing/migration. The token lives in sessionStorage (key ***) and travels as the X-***-Token header, which the backend already p...

kamo·3mo ago
Fixkamo-internal

Don't adopt the legacy *** cookie; clear it instead

Right after the sessionStorage switch ships, every browser still has its old *** cookie. The migration adopted that value into sessionStorage (and the server co...

kamo·3mo ago
Fixkamo-internal

Fall back to my-networks when all-networks 403s

hasPlatformAdminAccess is derived client-side (owner-of-session-org AND host-org-is-top-level). A child-org owner whose session lands on the top-level host is m...

kamo·3mo ago
Featurekamo-internal

Carry *** in per-tab sessionStorage instead of a shared cookie

The session id lived in a browser cookie shared across all tabs of an origin, so a second tab (impersonation) could not hold its own session. Move the carrier t...

kamo·3mo ago
Featurekamo-internal

God-mode Impersonate button on member settings header

Adds a top-right 'Impersonate' action on /settings/member/[id], visible only when the signed-in session carries god mode (getIsGod) and the target isn't self/ne...

kamo·3mo ago
FeatureSecurityService

God-mode member impersonation endpoint

POST /api/security/impersonate mints a fresh ***+OTK for an arbitrary member of the caller's current org, gated on the caller session carrying god mode (GD). Re...

Kamo·3mo ago
June 14, 2026
FeatureSecurityService

Return orgName + language in /user-info

Resolve the org's display name and the member's selected language (ISO-639-1 code) from the DB so kamo-universe can show each player's org + language flag on th...

Kamo·3mo ago
June 13, 2026
June 12, 2026
OtherKlusterServices

node-config: document k1m1 forgejo-runner config (--add-host for submodule DNS)

Job containers on k1m1 fall back to public DNS, so the fleet-swept http://k1m1:3000 .gitmodules URLs fail to clone there. Pin k1m1 into job containers via conta...

Sage·3mo ago
OtherKlusterServices

node-config: document k1m1 docker daemon insecure-registries

The k1m1 forgejo-runner's builds push to the HTTP Forgejo registry; the daemon.json shipped with only the :5000 entries, so every build job landing on k1m1 fail...

Sage·3mo ago
FeatureKlusterServices

Kamo-universe namespace+quota+valkey, CockroachDB backups, observability stack

- universe/: namespace + ResourceQuota, valkey-universe (AOF, hostPath k1m1), nightly CockroachDB backup CronJob, operator bootstrap script - monitoring/: pin...

Kamo·3mo ago
June 11, 2026
OtherKlusterServices

Join shared two-node cluster with k3m1 over LAN; account isolation

Retire WireGuard routes (10.8.x.x) for LAN routes (192.168.4.22 <-> 192.168.4.36 :6222) with creds embedded in the route URLs. Rename cluster to kamo-ratestack-...

Sage·3mo ago
June 10, 2026
FeatureKlusterServices

Add k3m1 node + migrate cluster peering to LAN IPs

- statefulset: advertise/join over 192.168.4.x (k1m1=.22, k3m1=.36); WireGuard dropped (k3m1 wg0 10.8.0.1 collided with k0m1's advertise IP). - init-job + CI ...

Kamo·3mo ago
Featurekamo-login

Route paid signups to checkout after login

After successful auth (manual or auto-login), consume the apex-domain sp_checkout_plan cookie left by kamo-register and redirect the buyer to the brand /subscri...

Kamo·3mo ago
Featurekamo-register

Carry paid ?plan from signup into checkout

When a member signup originates from a paid pricing CTA (?plan=pro|business), drop an apex-domain sp_checkout_plan cookie on completion. kamo-login consumes it ...

Kamo·3mo ago
ChoreESigService

Wire internal-auth secret from ***

ESigService now validates X-Internal-Auth against the same shared secret APIService presents **************** from the *** k8s secret), hardening the programmat...

Kamo·3mo ago
ChoreEmailService

Rebuild for kamo-shared-library update (esign signer email templates)

Picks up the new canonical templates esign.signer_verification + esign.signer_invite so seedForOrg can seed them on first send.

Kamo·3mo ago
Featurekamo-shared-library

Canonical e-sign signer templates (verification + invite)

Add two platform-wide canonical email templates seeded lazily per org: - esign.signer_verification (step-up OTP: {{code}}, {{name}}) - esign.signer_invite (sign...

Kamo·3mo ago
FixBillingService

Register esign repositories for the meter submission bean

EsignMeterSubmissionService needs EsignUsageRecordRepository, but @EnableJpaRepositories didn't scan com.kamo.z.shared.esign.repos, so the context failed to sta...

Kamo·3mo ago
FeatureBillingService

E-sign usage metering + consumer self-serve checkout

#4 metering: - EsignMeterSubmissionService (@Scheduled daily): aggregates API-origin EsignUsageRecords per org+period; first 40/period included, the rest subm...

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