Live Change Log

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

17,845
Total Changes
4,566
Features
4,508
Fixes
32
Projects
Filter by project
All Projects17,845AIService110APIService138BillingService132ConversionService85DaemonService107DocsService189ESigService78EmailService347InitializerService299KBService73KlusterServices539MCPGatewayService43MediaService459RAGService61SecurityService1,515TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,546kamo-login318kamo-marketing580kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,319kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore669Docs226Feature4,566Fix4,508Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 11, 2026
FeatureConversionService

Upload a new version of a document

The one way to change a file the document editor cannot open - a PDF above all, which is what most templates are. POST **************** takes the new file, scan...

KamoΒ·13h ago
September 6, 2026
TestConversionService

Assert the contract the service actually has

**************** asserted that an image already inside the box comes back byte-identical to what went in. It has been failing since afee6fd in July, and the cod...

KamoΒ·5d ago
FixConversionService

Stop an indexed source turning the tab icon into a black box

A tab icon uploaded as a transparent PNG-8 arrived in the browser tab as a black square with a ragged logo on it. Measured on the upload that exposed it: of the...

KamoΒ·5d ago
September 5, 2026
FixConversionService

Prove the deploy by digest, not by tag

The preceding commit stops `set image` being a silent no-op. This asserts the outcome: after the rollout, the tag is resolved to a digest at the registry and th...

KamoΒ·5d ago
FixConversionService

A rebuild of the same commit deployed nothing and reported success

The image is tagged with the commit SHA, so rebuilding the same commit produces an identical image reference. `kubectl set image` then changes nothing, the Depl...

KamoΒ·6d ago
September 4, 2026
FeatureConversionService

Run two pods

replicas 1 -> 2. This service runs no @Scheduled work and binds no exclusive NATS durable, so a second pod duplicates nothing β€” it is stateless request serving,...

KamoΒ·6d ago
FixConversionService

Let a rollout finish what the old pod was doing

Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...

KamoΒ·6d ago
September 3, 2026
FeatureConversionService

Resize an image by height, keeping its format and transparency

Backs the email signature footer badges, which are downscaled to 150px tall on upload. resize-bg could not be reused. It exists to make a wallpaper cheap to sh...

KamoΒ·1w ago
August 27, 2026
BuildConversionService

Rebuild against the storage dedup fix

Picks up kamo-shared-library d21e01ce. uploadDocument created its ImgDat with isMissing=false BEFORE sending the bytes, and its @Transactional did not roll back...

KamoΒ·2w ago
August 25, 2026
ChoreConversionService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

KamoΒ·2w ago
August 15, 2026
FixConversionService

Gate platform uploads on MANAGE_PLATFORM_SOUNDS, not org ownership

An operator granted "Manage Platform Sounds" on the Platform Administrators page saw the Sounds tab β€” the console gates on the right β€” opened the upload dialog,...

KamoΒ·3w ago
FixConversionService

Uploading a file takes CREATE_DOCUMENTS, like every other way of making one

The document rights are enforced in DocsService as of this change, but the upload endpoints are not in DocsService β€” kamo-internal's app/api/imaging/upload prox...

KamoΒ·3w ago
FeatureConversionService

Transcode uploaded sound effects to Opus

Extends the ffmpeg wrapper the VoIP recording pipeline already had β€” this image installs ffmpeg with libopus for it, so putting a second ffmpeg in another image...

KamoΒ·3w ago
August 11, 2026
FixConversionService

Raise the document upload ceiling from 500MB to 3 GiB

Chat attachments have run at 3 GiB through this same imaging pipeline for a while; documents were capped at 500MB. The difference was not a policy, it was that ...

KamoΒ·4w ago
FixConversionService

Declare the object-storage secret the ConfigMap no longer carries

The MinIO key was moved out of the ConfigMap into the minio-app-credentials secret, but the envFrom that supplies it was only ever applied to the live deploymen...

KamoΒ·4w ago
FixConversionService

Stop shipping a shared credential as a config default

The platform's shared password was baked in as the fallback for DB_PASSWORD and MINIO_ROOT_PASSWORD, so it lived in this repo and in the built image as well as ...

KamoΒ·4w ago
August 10, 2026
RefactorConversionService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

KamoΒ·4w ago
ChoreConversionService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

KamoΒ·4w ago
FeatureConversionService

Point at YugabyteDB and use PostgreSQLDialect

CockroachDB has been replaced by YugabyteDB. Connection strings move from cockroachdb-public:26257 to yb-tserver-service:5433, and the Hibernate dialect from **...

KamoΒ·4w ago
August 9, 2026
FixConversionService

Stop renewing the shared *** TTL for idle users

Fifth service holding its own copy of KSessionService, and the fifth sliding the shared *** TTL on every read. Each one alone was enough to keep a session alive...

KamoΒ·4w ago
CIConversionService

Retry the shared-library build, which the LAN uplink keeps corrupting

Three builds died today on "Tag mismatch" pulling a jar β€” and the mirror added an hour ago did not help, because kbservice, mcpgatewayservice and ragservice hit...

KamoΒ·4w ago
CIConversionService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

KamoΒ·4w ago
August 6, 2026
ChoreConversionService

Rebuild for the unified imaging bucket

Picks up kamo-shared-library 3045cc3: ImageAssocType.getBucket() now returns the single "imaging" bucket for every association, so a deduplicated file is stored...

KamoΒ·1mo ago
ChoreConversionService

Rebuild for the dedup cross-bucket copy fix

Picks up kamo-shared-library 8db077c, which makes registerExistingDocument copy a reused ImgDat's objects into the target association's bucket. ConversionServic...

KamoΒ·1mo ago
August 5, 2026
ChoreConversionService

Rebuild for the dedup uploader fix

Picks up **************** now setting createdByMember, so deduplicated documents record who uploaded them.

KamoΒ·1mo ago
FixConversionService

Use targeted conversion updates instead of saving a detached ImgDat

convertAndGenerateThumbnails runs on a virtual thread with a detached ImgDat, so imgDatRepository.save() merged a stale orphan-removal collection and threw befo...

KamoΒ·1mo ago
ChoreConversionService

Rebuild for ImageAssocType.HR_RESOURCE

ImagingUploadController reads ImageAssocType.values(); without this rebuild an upload from the HR Resources tab cannot resolve ordinal 13 to its bucket.

KamoΒ·1mo ago
August 4, 2026
FeatureConversionService

Scan uploads for malware at ingest (Β§164.308(a)(5)(ii)(B))

The document vault accepted arbitrary uploads with no malware scanning anywhere on the platform, and it is multi-tenant β€” a file one org uploads is opened by an...

KamoΒ·1mo ago
August 3, 2026
FixConversionService

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

KamoΒ·1mo ago
August 2, 2026
FixConversionService

Require a session on POST /backfill-conversions

The handler was declared backfillConversions() β€” it took no request at all β€” under the comment "No auth β€” internal maintenance, mirrors /backfill-thumbnails". I...

KamoΒ·1mo ago
July 22, 2026
FixConversionService

Stop pinning the expired wildcard-kamocrm-com secret

wildcard-kamocrm-com was a legacy multi-SAN secret that cert-manager orphaned when its Certificate was repointed at a per-host secret. Nothing renewed it and it...

KamoΒ·1mo ago
July 18, 2026
FixConversionService

A bad assocType index is a 400, not a 500

The upload/register paths indexed ImageAssocType.values() with the client's raw index, so an out-of-range value surfaced as an ArrayIndexOutOfBoundsException (5...

KamoΒ·1mo ago
July 14, 2026
FeatureConversionService

Full-res per-page PDF render for document extraction

Adds DocPageRenderService + POST /api/conversion/render-page (page N β†’ PNG at 150 DPI, capped 300) and /page-count. This is the read-quality companion to the 30...

KamoΒ·1mo ago
July 9, 2026
ChoreConversionService

Bump memory to 2Gi (headroom for concurrent ffmpeg)

With the resize semaphore in place, give the pod room for the JVM plus up to 2 concurrent ffmpeg image decodes so multi-file wallpaper uploads no longer OOMKill...

KamoΒ·2mo ago
FixConversionService

Bound concurrent ffmpeg to prevent OOM under upload bursts

A multi-file upload fires all files at once; each ffmpeg decode allocates the full uncompressed frame, so N concurrent large images blew past the pod's memory l...

KamoΒ·2mo ago
FixConversionService

Downscale-only (never upscale small images)

**************** scaled small images UP to fill the box (800x600 -> 1440x1080). Compute a concrete downscale factor capped at 1.0 from the probed dimensions ins...

KamoΒ·2mo ago
FixConversionService

Harden ffmpeg resize (probe safety, dim caps, bomb guard)

Adversarial-review follow-ups on the ffmpeg rewrite: - probeDimensions redirects ffprobe output to a file and calls waitFor() FIRST (destroyForcibly on timeou...

KamoΒ·2mo ago
FixConversionService

Resize backgrounds via ffmpeg subprocess (crash-isolated)

ImageIO + webp-imageio could native-crash the JVM (SIGSEGV in libwebp-imageio, UpsampleBgraLinePair_SSE2) on certain WebP inputs, taking the whole ConversionSer...

KamoΒ·2mo ago
July 8, 2026
FixConversionService

Persist thumb flags via targeted update, not detached save

The image/video/PDF thumbnail steps set thumb flags on a detached ImgDat and called save(), which merges and cascades into the orphanRemoval images collection β€”...

KamoΒ·2mo ago
FixConversionService

Stop uploads hanging on 'Converting...' β€” route NATS progress + direct image thumbnails

The conversion-progress publish used NatsMessageService.publish(), which asserts expectedStream=<this service's stream>. The subject **************** resolves t...

KamoΒ·2mo ago
FeatureConversionService

Shared TranscriptionService + generic endpoint; transcribe VOIP recordings

- Extract a reusable TranscriptionService (ffmpeg normalize -> whisper-asr) and a generic POST /api/conversion/transcribe endpoint, replacing the meet-specifi...

KamoΒ·2mo ago
FeatureConversionService

Recording transcription endpoint for post-meeting summaries

POST /api/conversion/meet/transcribe (X-Internal-Auth): normalizes an uploaded meeting recording to 16kHz mono WAV via a new additive FfmpegService helper, forw...

KamoΒ·2mo ago
July 7, 2026
FeatureConversionService

Video poster-frame thumbnails for marketing materials

Canva MP4 exports (and any video upload) skip the Docs PDF path and get a single ffmpeg poster-frame thumbnail (_thumb_p0.png) instead of failing. - **********...

KamoΒ·2mo ago
FixConversionService

Convert deduplicated documents so e-sign edit is enabled

When an uploaded file's bytes matched an existing ImgDat, the dedup path (register-existing) reused that dat verbatim and never ran the conversion pipeline. If ...

KamoΒ·2mo ago
July 1, 2026
ChoreConversionService

Rebuild against latest kamo-shared-library

SageΒ·2mo ago
June 13, 2026
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
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
May 1, 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