Live Change Log

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

18,001
Total Changes
4,661
Features
4,558
Fixes
32
Projects
Filter by project
All Projects18,001AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService388InitializerService303KBService74KlusterServices548MCPGatewayService43MediaService462RAGService61SecurityService1,532TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,605kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,329kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,661Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
June 8, 2026
FeatureConversionService

Preserve aspect ratio, never stretch non-square logos

Favicon PNG/ICO frames were produced with keepAspectRatio(false), stretching any non-square logo into a distorted square. Center-fit the logo on a transparent s...

Kamo·3mo ago
FixSecurityService

Regenerate favicons on labeling save; sniff real logo type

provisionUpdate (run on every custom-labeling save) wrote config/css/manifest but never regenerated favicons — those were only produced by provisionFull. An org...

Kamo·3mo ago
FixSecurityService

Seed globals.css from template when org folder lacks it

provisionUpdate (run on every color save) rewrote the org's css/globals.css in place, but that object only exists once provisionFull has copied it from the defa...

Kamo·3mo ago
Fixkamo-internal

Show full logo with its real extension, not hardcoded .svg

The branding tab built logoFullUrl as logo-full.svg on mount, ignoring the org's logoFullExt. Full logos uploaded as png/jpg/etc. live at logo-full.{ext} in Min...

kamo·3mo ago
FixKlusterServices

Refresh TLSStore every loop so newly-issued certs get served

update_tls_store() only ran at startup and on shared-storage imports, so a cert freshly issued by cert-manager (HTTP-01) was Ready with a tls-* secret but never...

Kamo·3mo ago
FixKlusterServices

Give redirect-only route a backend so Traefik v3 enables it

Traefik v3 disables an IngressRoute router with services: [] when allowEmptyServices is off (as it is here), so the domain-agnostic HTTP->HTTPS redirect router ...

Kamo·3mo ago
FixKlusterServices

Redirect all HTTP hosts to HTTPS + gate auto-cert to real org domains

Custom org domains (e.g. login.sign.pink) returned Traefik's bare "404 page not found" over plain HTTP: the only port-80 redirect router was hardcoded to *.kamo...

Kamo·3mo ago
FeatureKlusterServices

Pre-seed sign.pink + www.sign.pink in STATIC_DOMAINS

sign.pink is a new apex domain (consumer e-signature brand / white-label Kamo tenant org). Pre-seed apex + www so a Let's Encrypt cert exists before first HTTPS...

Kamo·3mo ago
FixConversionService

Persist conversion_error instead of failing silently

Both the template and regular upload conversion pipelines swallowed Docs conversion failures (logged only), leaving is_converted=false with no recorded reason —...

Kamo·3mo ago
June 7, 2026
CIkamo-signer-monorepo

Re-trigger build after provisioning repo secrets

Kamo·3mo ago
Fixkamo-signer-monorepo

Install turbo via npm in Docker pruner stage; pin pnpm; add .dockerignore

The pruner stage ran `pnpm add -g turbo` before any package.json existed, so corepack grabbed pnpm 11 and failed with "global bin directory /pnpm/bin not in PAT...

Kamo·3mo ago
Featurekamo-signer-monorepo

New monorepo + mobile-first e-signature signing app

Turborepo + pnpm workspaces monorepo housing reusable e-sign packages extracted from kamo-internal plus a new, ultra-polished kamo-signer app — the second-party...

Kamo·3mo ago
May 30, 2026
Featurekamo-internal

Full-width enterprise rewrite with live preview

LoanProductForm was a single narrow column (maxWidth: 880) with hardcoded English everywhere. Now uses the same enterprise pattern as the offer page: Layout: -...

kamo·3mo ago
Featurekamo-internal

Two-column layout with live preview pane

The new-offer page was a tall narrow column on wide screens — wasted half the viewport. Now uses CSS Grid with the form on the left (5fr) and a live "Offer Prev...

kamo·3mo ago
Refactorkamo-internal

Redesign new-offer page as two-column workspace + live preview

You asked for full real estate, modern, polished — last refactor put a single-column form inside a full-width shell, which is exactly the wide half-page-of-empt...

kamo·3mo ago
May 29, 2026
Featurekamo-internal

Polish new-offer page — empty state, LOC badge, custom terms

Three UX gaps the offer page had after the prior refactor: 1. Empty state. When a market has no Loan Products yet, the dropdown used to silently render empt...

kamo·3mo ago
Featurekamolos

Per-offer overrides for rate, APR, and origination fee

LoanOfferCreateRequest gains three optional fields — interestRateBpsOverride, aprBpsOverride, originationFeeAmountOverride. createDraft applies them when set an...

Kamo·3mo ago
Fixkamolos

Default empty STRIPE_CONNECT_WEBHOOK_SECRET so KamoLOS boots

The configmap referenced **************** without a default, so Spring's placeholder resolver threw before reaching the Java-level **************** which alread...

Kamo·3mo ago
Fixkamolos

Track shared-lib LoanRepository → PersonalLoanRepository rename

Updates every import and field type from LoanRepository to PersonalLoanRepository across 20 KamoLOS source files + 1 test (Lombok-injected field names stay as l...

Kamo·3mo ago
Fixkamo-shared-library

Rename LoanRepository → PersonalLoanRepository

Spring Data JPA derives the repository bean name from the interface's simple class name, not from the @Repository("...") qualifier value, so the prior workaroun...

Kamo·3mo ago
Fixkamo-internal

Add /commerce/personal-loans/new entry + polish market-scoped offer page

The QuickActionsBar "New Loan Offer" action pointed at /commerce/personal-loans/new but no such page existed, so Next.js routed to the dynamic [loanId] page wit...

kamo·3mo ago
Refactorkamo-internal

Full-width enterprise polish across 10 pages

Adopts the modern enterprise pattern (gradient header + breadcrumbs + back arrow + full-height flex shell + card-grouped content on light gray canvas) used else...

kamo·3mo ago
ChoreSecurityService

Trigger rebuild to pick up renamed PersonalLoan entity

The SecurityService image at 761019b was built before shared-lib d14dc54 (which renamed the personal-loans Loan entity to JPA name "PersonalLoan" to resolve the...

Kamo·3mo ago
Featurekamo-internal

Expose PERSONAL_LOANS in commerce-type & engagement pickers

Adds PERSONAL_LOANS to the COMMERCE_TYPES and EngagementType lists so the new KamoLOS personal-loans market can be created from the markets/new and markets/edit...

kamo·3mo ago
Fixkamo-shared-library

Avoid Loan / LoanRepository collision with mortgage app

KamoInitializerService failed to boot because two @Entity classes named 'Loan' and two repository classes named 'LoanRepository' both wanted to register the sam...

Kamo·3mo ago
Featurekamo-internal

T6+T7 frontend polish + org reports + auto-pay UI

Frontend polish (T6): - New lib/format.ts: locale-aware Intl helpers — formatCurrency / formatDate / formatDateTime / formatPercentBps. Replaces hardcoded t...

kamo·3mo ago
Featurekamolos

Tier 6+7+9+10 — frontend polish, org reports, OpenAPI, JaCoCo

T6 (frontend polish): - New /lib/format.ts: locale-aware formatCurrency / formatDate / formatDateTime / formatPercentBps via Intl APIs (replaces hardcoded t...

Kamo·3mo ago
Testkamolos

Tier 4 — LoanPaymentPostingService unit tests

Six mocked-repository unit tests covering the heart of the payment posting: - **************** payment of $100 against loan with $25 fees / $50 interest / la...

Kamo·3mo ago
Featurekamolos

Tier 5 compliance batch

- OfacSanctionsService: Jaro-Winkler fuzzy match @ ≥0.92 after exact-match pass. Hits surface similarity score. Configurable via los.ofac.fuzzy-threshold. - A...

Kamo·3mo ago
Featurekamo-shared-library

LoanChargeOffReasonCode (IRS 1099-C box 6) + audit search

- New LoanChargeOffReasonCode enum (A_BANKRUPTCY..H_OTHER) per IRC §6050P - Loan.chargeOffReasonCode column - **************** multi-filter @Query for regulator...

Kamo·3mo ago
Featurekamolos

Tier 3 security + Tier 8 bug cleanup batch

T3 — Security: - New RateLimitFilter (Bucket4j): 1000/min per IP for webhooks, 10/min per session for offer accept/decoder/rescind, 60/min general. Register...

Kamo·3mo ago
Featurekamo-shared-library

****************

Used by **************** to reactivate an existing PAUSED plan instead of creating a duplicate row that orphans the paused one.

Kamo·3mo ago
May 28, 2026
Performancekamolos

Tier 2 — Hikari + RestTemplate timeouts + Stripe SDK + Redis cache

- RestClientConfig: single shared RestTemplate bean with 5s connect / 30s read timeouts. MediaServiceClient / NotificationDispatchService / OfacSanctionsSer...

Kamo·3mo ago
Featurekamo-internal

/api/los proxy HMAC-signs identity headers

When LOS_PROXY_HMAC_SECRET env var is set, the proxy now computes **************** secret) and sends X-Proxy-Signature + X-Proxy-Timestamp alongside the X-Org-I...

kamo·3mo ago
Fixkamolos

Tier 1 critical correctness pass

T1.1 Stripe disbursement strategy: TREASURY (stub — requires SDK upgrade or raw HTTP) / CONNECTED_ACCOUNT (Transfer.create — works in SDK 28.2.0) / MA...

Kamo·3mo ago
Performancekamo-shared-library

Paged repo queries + countByStatus for hot paths

- LoanRepository: countByStatus / countByOrganizationAndStatus + Page<Loan> findByStatus(...) / **************** / **************** + **************** for...

Kamo·3mo ago
Fixkamo-internal

Force email link clicks via capture-phase navigation

Reports show clicks on email-preview links silently doing nothing — hover shows the URL, no console errors, but the navigation never fires. That fingerprint poi...

kamo·3mo ago
Featurekamo-internal

Org-side loan detail page + adjustments/promise API

- losApi: manualAdjust, waiveFee, promiseToPay - **************** full org-operations page * 4-up balance cards (current, principal, interest, next due) * M...

kamo·3mo ago
Featurekamolos

Final batch — compliance, packets, adjustments, Grafana, tests

Compliance: - MlaCheckService — Military Lending Act covered-borrower lookup against DoD MDC single-record query. Returns NotCovered if unconfigured so dev ...

Kamo·3mo ago
Featurekamolos

P2 batch — observability, tests, year-end tax, real Stripe IDs

Observability: - micrometer-registry-prometheus on the classpath - /actuator/prometheus exposed via management config (both local + k8s configmap) - LoanMetrics...

Kamo·3mo ago
Featurekamo-shared-library

LoanOrgStripeConnect + Loan tax/accrual fields + hot indexes

- New LoanOrgStripeConnect entity (one-per-org, holds stripeConnectedAccountId + Connect onboarding capabilities) + repository - Loan: stripeCustomerId (lazy-...

Kamo·3mo ago
Fixkamo-internal

Let native target=_blank open the new tab, drop window.open

The previous fix intercepted the click and called window.open() — but popup blockers and extensions can block window.open even from a direct click handler, so t...

kamo·3mo ago
Featurekamo-internal

P1 frontend — charge-off queue + audit timeline

- losApi: chargeOffQueue / confirmChargeOff / auditByLoan - **************** D120 review queue page; org user reviews each loan, adds a reason, clicks Confirm...

kamo·3mo ago
Featurekamolos

P1 batch — webhooks advance state, crons, commerce vertical

Money movement (the core P1): - LoanPaymentPostingService: markSucceededAndPost / markFailed / markReturnedAndReverse / markDisbursementSucceeded / markDrawDi...

Kamo·3mo ago
Refactorkamo-shared-library

Loan.engagementUid → Long + originatingOrderUid

Engagement extends BaseEntity (Long PK) so engagementUid must be Long, not UUID — this is consistent with the existing AgreementDTO / WorkOrderDTO pattern of "L...

Kamo·3mo ago
Featurekamo-internal

P0 hardening — forms, session resolve, payment methods

Forms (org-side): - **************** and /{productUid} edit pages - New LoanProductForm: basics / pricing / limits / terms / compliance sections, kind-aware...

kamo·3mo ago
Featurekamolos

P0 hardening — Stripe Connect endpoint + PDF flatten

- Fix EsignClient imports: EsignGenericEnvelopeRepository / EsignSignatureRepository live in .esign.repos, not .esign root - New StripeConnectController POST ...

Kamo·3mo ago
ChoreSecurityService

KamoLOS → KamoMLOS in comment references

The /Next.js/KamoLOS project (mortgage applicant flow) was renamed to KamoMLOS so the KamoLOS name could be reused for the new personal-loan service. These are ...

Kamo·3mo ago
ChoreKlusterServices

Update subdomain map comment KamoLOS → KamoMLOS

The /Next.js/KamoLOS project was renamed to KamoMLOS (Kamo Mortgage Loan Origination System). The KamoLOS name is now used for the new personal-loan service. Th...

Kamo·3mo ago
Featurekamo-internal

/api/los/* proxy route → KamoLOS via k8s DNS

Mirrors the /api/billing/[[...path]] BillingService proxy: - *** session resolved via Redis; X-Org-Id + X-Member-Id forwarded - /api/los/webhooks/* skip session...

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