Live Change Log

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

17,992
Total Changes
4,652
Features
4,558
Fixes
32
Projects
Filter by project
All Projects17,992AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService386InitializerService303KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,530TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,602kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,328kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,652Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
April 12, 2026
Fixkamo-internal

Use direct session headers instead of OTK for ESigService proxy routes

Read *** session from Redis in Next.js and pass orgId/memberId as trusted headers to ESigService via internal K8s DNS. Removes OTK dependency.

kamo·5mo ago
FixESigService

Replace OTK auth with trusted session headers for internal K8s calls

ESigService is internal — the Next.js backend reads the session from Redis and passes orgId/memberId/userId as X-Org-Id, X-Member-Id, X-User-Id headers. No OTK ...

Kamo·5mo ago
Fixkamo-internal

Use init endpoint to find-or-create template by imgId on editor load

The create page passes imgId in the URL. The edit page now calls the init endpoint to find or create the ESignTemplate, then uses the returned UUID for design o...

kamo·5mo ago
FixESigService

Scan all shared library repository packages to resolve bean dependencies

ComponentScan picks up shared library services which depend on repos in donotmodify.dao.repos and commerce packages — must scan those too.

Kamo·5mo ago
April 11, 2026
Fixkamo-internal

Correct field name mapping between backend and frontend for access level API

Map backend securityLevelId→accessLevel, isOrganizationOwner→isOwner, memberType→isTeamMember in API route. Fix right check to use EDIT_MEMBER_ACCESS_LEVEL inst...

kamo·5mo ago
Fixkamo-marketing

Update fallback offer end date to 2026-04-26

Kamo·5mo ago
FixInitializerService

Set 18DOFF promotion end date to 2026-04-26

Kamo·5mo ago
Fixkamo-marketing

Add static fallback for offer page when subscription API unavailable

The **************** table doesn't exist in production yet, so the API returns an error. Fall back to hardcoded promotion and plan data so the offer page works ...

Kamo·5mo ago
Fixkamo-marketing

Update ApiPromotion type to match new List<String> backend response

applicablePlanIds and applicableBillingCycles are now arrays, not JSON strings.

Kamo·5mo ago
FixInitializerService

Extend 18DOFF promotion end date to 2026-12-31

The April 14 end date was causing the offer page to show as expired.

Kamo·5mo ago
FixAPIService

Validate Forgejo HMAC-SHA256 signature instead of plain secret header

Forgejo sends webhook secret as X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hash, not as a plain header value. Read body, verify HMAC, then forward to S...

Kamo·5mo ago
Fixkamo-marketing

Redact *** header name in changelog display

Kamo·5mo ago
FixConversionService

Handle image files (JPG, PNG, TIFF, etc.) directly via PDFBox instead of Docs

Docs can't convert images to PDF. Added ImageToPdfService that embeds images into a PDF page using PDFBox. Docs is only used for office document formats (DOC, D...

Kamo·5mo ago
FixDaemonService

Use imgRepository.findByDat() instead of lazy imgDat.getImages()

Quartz jobs run outside JPA sessions, so lazy collection access on ImgDat.images throws LazyInitializationException. Use explicit repository query instead.

Kamo·5mo ago
Fixkamo-shared-library

Pass SYSTEM_WIDE as parameter instead of FQCN in JPQL query

Hibernate may not resolve fully-qualified enum names in JPQL across all versions. Pass ImageAssocType.SYSTEM_WIDE as a named parameter instead.

Kamo·5mo ago
FixSecurityService

Serialize imgId as String to prevent JavaScript precision loss

CockroachDB unique_rowid() IDs exceed Number.MAX_SAFE_INTEGER. Changed imgId from Long to String in UploadDocumentResponse and DocumentMetadata DTOs so Jackson ...

Kamo·5mo ago
FixSecurityService

Download converted PDF from MinIO instead of original file

The converted-pdf endpoint was calling imageService.downloadDocument() which returns the original file. Now downloads directly from MinIO using the convertedDat...

Kamo·5mo ago
Fixkamo-internal

Properly forward multipart FormData and set route handler body size limit

- Revert to parsing FormData and rebuilding for forwarding (fixes MalformedStreamException from raw arrayBuffer forwarding) - Add routeHandlerBodySizeLimit: 5...

kamo·5mo ago
Fixkamo-internal

Stream upload body directly to avoid Next.js 10MB body size limit

- Read request as arrayBuffer and forward raw bytes with content-type header instead of parsing FormData (which triggers Next.js body limit) - Add serverActio...

kamo·5mo ago
Fixkamo-internal

Call SecurityService directly via RKE2 DNS, fix hash computation, add staged upload progress

- All template API routes now call SecurityService directly via internal K8s DNS instead of proxying through APIService - Use computeBlake3/computeSha3256 fro...

kamo·5mo ago
April 10, 2026

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