Live Change Log

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

17,865
Total Changes
4,581
Features
4,512
Fixes
32
Projects
Filter by project
All Projects17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 5, 2026
Fixkamo-asterisk-support

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 3, 2026
Featurekamo-asterisk-support

Report ringing extensions so a member's mobile rings

The AMI client logs in with 'Events: off' and only sends actions, so nothing on a customer's FreePBX ever told the platform a call was arriving. That silence is...

KamoΒ·1w ago
Fixkamo-asterisk-support

Pin direct_media=no, and correct the "(+) cannot override" claim

FreePBX's PJSip driver defaults direct_media to YES (generateDefaultDeviceSettings, PJSip.class.php:210) and the GraphQL addExtension mutation has no field to o...

KamoΒ·1w ago
September 2, 2026
Featurekamo-asterisk-support

Reconcile per-extension WebRTC blocks instead of hand-editing a roster

An extension created through FreePBX's API gets no WebRTC block, so it registers over WSS and then has no DTLS or ICE β€” the browser softphone shows a connected ...

KamoΒ·1w ago
August 26, 2026
Fixkamo-asterisk-support

Predial hooks must Return(), not MacroExit() β€” Asterisk 21

Asterisk 21 removed the Macro() application family outright, and FreePBX reaches these hooks with Gosub() (extensions_additional.conf: **************** The stoc...

KamoΒ·2w ago
August 3, 2026
Fixkamo-asterisk-support

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
July 1, 2026
June 25, 2026
CIkamo-asterisk-support

Drop offline-k2m1 deploy job + orphaned k2m1 manifests

Service ran on a stale cached k0m1:5000 image, never re-pushed to the k1m1 registry after k0m1 retirement; disk-pressure eviction wiped the cache (ImagePullBack...

KamoΒ·2mo ago
April 29, 2026
CIkamo-asterisk-support

Scope concurrency to build jobs, not Kubernetes deploys

Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...

KamoΒ·4mo ago
Fixkamo-asterisk-support

Add go-sql-driver/mysql v1.7.1 checksum to go.sum

go mod tidy without source files is a no-op, so the mysql checksum was never added. Generated the correct h1 hashes via a throwaway golang:1.22-alpine container...

KamoΒ·4mo ago
Fixkamo-asterisk-support

Move ASTERISK_CDR_DSN to local config.json, not CI/CD secrets

CDR credentials are local to each FreePBX server and have no business in the CI/CD pipeline. Operators add ASTERISK_CDR_DSN directly to their config.json alongs...

KamoΒ·4mo ago
Featurekamo-asterisk-support

Enrich upload manifests with Asterisk CDR caller-ID data

Adds optional MySQL CDR enrichment so the softphone history tab can display who called (or was called). When ASTERISK_CDR_DSN is configured as a Forgejo repo se...

KamoΒ·4mo ago
April 27, 2026
Featurekamo-asterisk-support

Emit recordedAt + per-file extension in upload manifest

- Watcher: every emitted Recording carries RecordedAt, derived from the EPOCH segment of our managed **************** filename, falling back to file mtime f...

KamoΒ·4mo ago
Fixkamo-asterisk-support

Drop the [from-internal-custom] _X. catch-all that broke softphone calls

The catch-all exten => _X.,1 in [from-internal-custom] was intercepting every internal dial β€” softphones started reporting "phone is not registered" / calls wou...

KamoΒ·4mo ago
Fixkamo-asterisk-support

Write managed config files 0644 so the asterisk daemon can read them

The kamo-asterisk-support pod runs as root and writes to host-mounted **************** Asterisk inside the FreePBX pod runs as user "asterisk" and could not rea...

KamoΒ·4mo ago
Fixkamo-asterisk-support

Use envsubst-compatible \${VAR} syntax in config template + re-render on stale placeholders

Pods were CrashLoopBackOff with "config errors: API_KEY is missing or too short" because the config template used literal __API_KEY__ markers that envsubst sile...

KamoΒ·4mo ago
Fixkamo-asterisk-support

Drop unused watcher import

uploader.go only uses CallBatch (declared in grouper.go in the same package), not anything from internal/watcher directly. Go rejects unused imports.

KamoΒ·4mo ago
Featurekamo-asterisk-support

Initial commit β€” FreePBX recording uploader (GO)

Watches **************** for finished WAV recordings, groups multi-leg call legs by Asterisk UNIQUEID, and uploads each batch to APIService /api/voip/recordings...

KamoΒ·4mo ago
Featurekamo-asterisk-support

Initial commit β€” FreePBX recording uploader (GO)

Watches **************** for finished WAV recordings, groups multi-leg call legs by Asterisk UNIQUEID, and uploads each batch to APIService /api/voip/recordings...

KamoΒ·4mo 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