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 16, 2026
Fixkamo-internal

Restore team-member/member permission model for share dialog

Team members (memberType=TEAM_MEMBER) bypass all gates. Regular members are gated by SHARE_DOCS_* rights. Legacy sessions without memberType get temporary full ...

kamo·5mo ago
Fixkamo-internal

Allow any authenticated member to share documents

Remove role-based gate on share dialog — any logged-in member can share. The previous check required isTeamMember (from session memberType) or specific SHARE_DO...

kamo·5mo ago
FixDocsService

Correct member name access in resolveAlias endpoint

member.getNameFirst() doesn't exist — name is on User.getName(). Use getMemberDisplayName() helper which correctly navigates the member -> user -> EmbNameFull p...

Kamo·5mo ago
Fixkamo-internal

Import blake3 from blake3/browser to initialize WASM correctly

blake3/esm/browser requires manual WASM provisioning; blake3/browser does it automatically.

kamo·5mo ago
April 15, 2026
Fixkamo-internal

Gate Folder and Doc Type columns/fields on allowFolders and allowDocType

When folder or doc type features are disabled for an assoc type, hide the corresponding datagrid columns and upload form fields consistently.

kamo·5mo ago
Fixkamo-internal

Align upload fields with consistent MUI TextFields, always show folder and doc type

Replace raw <select> elements with MUI TextField select for consistent styling and alignment with the Description field. Folder and Doc Type fields are now alwa...

kamo·5mo ago
FixDocsService

Remove auth requirement from backfill-thumbnails endpoint

This is an internal admin maintenance endpoint that needs to be callable from within the cluster without user authentication.

Kamo·5mo ago
Fixkamo-internal

Accept all file types for upload, use server-side blacklist instead of whitelist

Replace hardcoded ACCEPTED_EXTENSIONS whitelist with server-provided extBlackList from assoc-config. All file types are now uploadable unless explicitly blackli...

kamo·5mo ago
FixDocsService

Use RandomAccessReadBuffer instead of ByteArrayInputStream for PDFBox 3.x

**************** was removed in PDFBox 3.0 — use RandomAccessReadBuffer(byte[]) which implements RandomAccessRead.

Kamo·5mo ago
FixDocsService

Add esign repos to JPA repository scan so ESignTemplateRepository bean is found

DocsService was crashing on startup because ESignTemplateRepository lives in com.kamo.z.shared.esign.repos which wasn't included in the @EnableJpaRepositories s...

Kamo·5mo ago
April 13, 2026
Fixkamo-marketing

Use 24-hour window instead of UTC date for today's changelog count

The server runs in UTC, so at night in US timezones toISOString() returns tomorrow's date and no commits match. Using a 24h rolling window instead.

Kamo·5mo ago
Fixkamo-marketing

Force-dynamic on changelog API routes to prevent stale date caching

Next.js was statically caching these GET route handlers at build time, freezing new Date() to the build date so today's changelog count never updated.

Kamo·5mo ago
Fixkamo-internal

Use systemDocsOnly flag for System Docs tab, show all docs in Original Docs

Original Docs tab now shows all docs for this org/assocType without filtering by assocObjectId. System Docs tab sends systemDocsOnly: true to only get docs with...

kamo·5mo ago
FixDocsService

Use **************** for hasDesignVersion, add systemDocsOnly filter

hasDesignVersion now checks if an esign template exists with current_design_version > 0, instead of using isSigTemplate which is true for all uploads through th...

Kamo·5mo ago
Fixkamo-internal

Default assocObjectId to current member ID for proper doc tab filtering

When no oid URL param is provided, Original Docs and Modified Docs tabs now query by the current member's ID, while System Docs queries with blank assocObjectId...

kamo·5mo ago
FixConversionService

Add @JsonIgnoreProperties to UploadTemplateRequest to prevent hash null on unknown fields

The frontend sends accessLevel, description, folderId, docTypeId in the metadata JSON. Jackson was failing to parse the entire metadata object when encountering...

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

Place dropped field at ghost's exact visual position

Use active.rect.current.translated (the DragOverlay ghost's client rect) instead matches the translated rect, so the field now lands precisely where the user re...

kamo·5mo ago
Fixkamo-internal

Route all esig API calls through forwardToApi() to fix save failures

All 10 esig route handlers were pointing to ESIG_SERVICE_URL which resolves to a non-existent kamowsesig-service proxy. Replace every handler with forwardToApi(...

kamo·5mo ago
FixESigService

Replace upsertSigners with full delete+insert to handle frontend temp UUIDs

The frontend assigns temporary crypto.randomUUID() values to newly-added signers before any backend call. The previous upsert-by-uid logic would throw 404 for t...

Kamo·5mo ago
Fixkamo-internal

Correct rotated thumbnail positioning and restore rotation transform

Two bugs in ThumbnailCanvas: 1. Replaced `height: \`${displayAspect * 100}%\`` (percentage height on abs- positioned element — unreliable when containing bl...

kamo·5mo ago
Fixkamo-internal

Move scroll ownership from PdfCanvas to canvasContainerRef

PdfCanvas root Box previously had overflow-auto + h-full, making it its own scroll container. This meant: - scrollbarGutter: stable on canvasContainerRef had no...

kamo·5mo ago
Fixkamo-internal

Fit to Width calculates actual container width instead of resetting to zoom 1

Reads **************** (which accounts for the stable scrollbar gutter) and the page's natural width via **************** then computes fitZoom = (availableWidt...

kamo·5mo ago
Fixkamo-internal

Replace all hardcoded purple with var(--color-primary) on Settings & Signers page

Signers icon, icon background, count badge, Add Signer buttons, Add First Signer button, empty-state illustration tint, add-another hover, and the ALL_OF_TYPE s...

kamo·5mo ago
Fixkamo-internal

Remove fixed height and scroll bars from field properties panel

The panel had two vertical scrollbars: 1. DesignTab wrapper had height: 200 + overflowY: auto 2. FieldPropertiesPanel root had height: 200 + overflow: hidden, ...

kamo·5mo ago
Fixkamo-internal

Defer setTotalPages until after PDF dim loop to prevent PDF.js worker saturation

On a 50-page PDF, calling setTotalPages before the getPage() dimension loop mounts all 50 ThumbnailCanvas components immediately. Each falls back to PDF.js (ser...

kamo·5mo ago
FixConversionService

Expand component scan and add full datasource/JPA/Redis/MinIO config

ConversionServiceApplication was only scanning com.kamo.ConversionService, missing all shared library beans (ImageService, MinIOStorageService, MemberRepository...

Kamo·5mo ago
FixConversionService

Add kamo-shared-library build stage to resolve missing dependency

The Dockerfile was trying to fetch kamo-shared-library from Maven Central, which doesn't exist there. Mirror the SecurityService pattern: clone the shared libra...

Kamo·5mo ago
Fixkamo-internal

Prevent page stacking, fix thumbnail slivers, add server-side thumbnails with PDF.js fallback

- Add flexShrink: 0 to page divs in PdfCanvas so pages don't compress in flex column - Add flexShrink: 0 to thumbnail items in PageThumbnailSidebar for same rea...

kamo·5mo ago
Fixkamo-internal

Eager PDF rendering, natural scale normalisation, no horizontal scroll

- PdfCanvas: replace IntersectionObserver with eager render-all-pages. The observer-based approach was unreliable when the design tab starts with display:no...

kamo·5mo ago
Fixkamo-internal

Eliminate removeChild DOM conflict in PDF thumbnail rendering

Replace container.innerHTML + appendChild pattern in ThumbnailCanvas with a React-managed <canvas> ref. The old approach cleared React-owned DOM nodes directly,...

kamo·5mo ago
Fixkamo-marketing

Handle applicablePlanIds and applicableBillingCycles as string arrays

These fields are typed as string[] but had .split(",") calls on them, causing TypeScript build failures.

Kamo·5mo ago
FixESigService

Add CockroachDB transaction retry for template init endpoint

CockroachDB serializable isolation can trigger RETRY_SERIALIZABLE on the read-then-write pattern in initTemplate. Retries up to 3 times with backoff when detect...

Kamo·5mo ago
Fixkamo-marketing

Redact *** references in changelog display

Kamo·5mo ago
Fixkamo-internal

Revert proxy routes to OTK auth, remove unused esigProxy helper

OTK is the correct auth mechanism — the prior session-header approach bypassed the established security pattern. All esig proxy routes now use generateOTK from ...

kamo·5mo ago
FixESigService

Correct OTK Redis key format and add imaging template list endpoint

OTK keys use OTK<id> and ***<id> (no colon) matching the Next.js proxy. Added POST /api/esig/templates/list to query imaging templates via shared library ImgRep...

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