Live Change Log

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

18,042
Total Changes
4,671
Features
4,589
Fixes
32
Projects
Filter by project
All Projects18,042AIService114APIService140BillingService133ConversionService87DaemonService109DocsService191ESigService80EmailService392InitializerService304KBService76KlusterServices550MCPGatewayService45MediaService466RAGService63SecurityService1,532TranslateService47VOIPService175VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,606kamo-login319kamo-marketing590kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,332kamo-signer-monorepo50kamolos104
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,671Fix4,589Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
April 27, 2026
Featurekamo-internal

Dynamic member type label in My Account page title

Title now reads "My {Member|Team Member} Account" using the org-configured behavior labels, switching automatically once the member's type is loaded.

kamo·4mo ago
Featurekamo-internal

Move Create Document button into DocManager toolbar

The button was only available on /doc/manager via the actions prop. Moved all logic (state, handler, DOC_TYPES, menu) into DocManager so it appears on every emb...

kamo·4mo ago
Fixkamo-internal

Always show Create Document button on doc manager page

Removed the getMemberId() > 0 guard that was hiding the button during the useUserInfo loading window. The page is already behind auth so no client-side membersh...

kamo·4mo ago
Fixkamo-internal

Restore organization import removed by accident

organization.id is still needed in the handleCreateDocument request body; only the isDocsEditor condition should have been removed.

kamo·4mo ago
Fixkamo-internal

Show Create Document button to all logged-in members

The org feature flag check (isDocsEditor → isDocs → hasFeature DOCS) was returning false because org features use deprecated key types. The button is now shown ...

kamo·4mo ago
Featurekamo-internal

International support — CountrySelect, LanguageSelect, SubdivisionField across all forms

- Add reusable CountrySelect (207 countries, flag icons), LanguageSelect (26 languages, flag icons), SubdivisionField (US state dropdown with flags; other cou...

kamo·4mo ago
Fixkamo-internal

Remove datagrid field-level filters and floating filter row

Disabled all column filters and the floating filter input row so the grid shows only column headers and data rows. Also removed the Filters tool panel from the ...

kamo·4mo ago
Fixkamo-internal

Move Upload button into DocManager toolbar

The Upload trigger was only in the /doc/manager page's actions prop, making it invisible when DocManager is embedded in other pages. Moved the Upload button dir...

kamo·4mo ago
Featurekamo-shared-library

Add international support — Lead country/subdivision/timezone, Org language, CountryType isProvince

- CountryType: add PROVINCE_NAMES set, isProvince(), getSubdivisionLabel() - Organization: add language (LanguageType) field - Lead: add country (CountryType), ...

Kamo·4mo ago
Fixkamo-internal

Allow upload options to scroll in embedded DocManager

Uploads tab container was overflow:hidden, clipping per-file options (description, folder, doc type, access level) in height-constrained embedded contexts. Chan...

kamo·4mo ago
Fixkamo-internal

Fix 400 feed error and add communications sub-tabs with URL params

Fix double-? bug in MediaStream where feedEndpoint already contained query params but the fetch appended ?page=... instead of &page=..., causing a malformed URL...

kamo·4mo ago
Fixkamo-internal

Make 'All Leads' a real menu item with icons in agent filter

- Replace placeholder empty-value item with __ALL__ so the dropdown never shows blank when All Leads is selected - Add Group icon to All Leads and PersonOff i...

kamo·4mo ago
ChoreSecurityService

Trigger redeploy for ASSIGN_LEADS right self-heal

Kamo·4mo ago
Featurekamo-internal

ASSIGN_LEADS right, agent filter unassigned option, grid column cleanup

- Gate 'Unassigned Leads' agent filter option behind ASSIGN_LEADS right - 'All Leads' excludes unassigned leads for members without the right - Remove Street, P...

kamo·4mo ago
Featurekamo-shared-library

Add ASSIGN_LEADS right (ID 137) under CRM section

Kamo·4mo ago
Featurekamo-internal

Add Assign To field to Market & Assignment section on /leads/new

- Fetches active team members from **************** on mount - Groups members by department with alphabetically sorted departments and members - Formats names a...

kamo·4mo ago
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
FeatureConversionService

Pass Recording metadata to imaging — ffprobe length + manifest parsing

- **************** runs ffprobe -show_entries format=duration on the master Opus/WebM, returns ms. 0 = unknown (not fatal). - **************** now: * runs p...

Kamo·4mo ago
Featurekamo-shared-library

Recording + RecordingExt entities, RecordingImagingService writes them

- New Recording entity (UUID id, IMG_ID, IS_MASTER, IS_VM, EXTENSION, MEMBER_ID, LENGTH, DATE_RECORDED, DATE_CREATED [DB-defaulted via @CreationTimestamp]). ...

Kamo·4mo ago
Featurekamo-internal

Update Platform Administration cards to match unified tab structure

Replace the two stale cards (Organizations standalone page + Configuration) with five cards matching the actual tabs: General, Organizations, VOIP & SMS, System...

kamo·4mo ago
FixDaemonService

Consume *** secret so X-Internal-Auth matches downstream services

DaemonService -> ConversionService **************** was returning 401 Unauthorized because DaemonService was stamping its X-Internal-Auth header from INTERNAL_A...

Kamo·4mo ago
Featurekamo-internal

Full-width grid layout and move sync trigger from Advanced tab

- Redesign VOIP & SMS tab to use full content-area width: pipeline stats span the top row, Recording Processing and Global Sync Schedule sit side by side in...

kamo·4mo ago
Featurekamo-internal

Merge Organizations into Configuration page with unified tab nav

- Add Organizations as a tab in **************** (General · Organizations · VOIP & SMS · System User · Advanced order) - Delete **************** standalone page...

kamo·4mo ago
Fixkamo-shared-library

Use @CreationTimestamp(source=DB) on ****************

The DB is the single source of truth for timestamps in this codebase. The canonical Hibernate pattern is @CreationTimestamp(source = SourceType.DB), which makes...

Kamo·4mo ago
Fixkamo-shared-library

Let DB fill **************** via @Generated(INSERT)

INSERTs were failing with: null value in column "date_created" violates not-null constraint @ColumnDefault only declares the DB-side default for new rows; Hi...

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
FixConversionService

Enable JPA repos for commerce + email + dao.repositories packages

ConversionService new pod CrashLoopBackOff with the same error DaemonService hit earlier: Parameter 0 of constructor in **************** required a bean of ...

Kamo·4mo ago
FixAPIService

Carve /api/voip/recordings/** out of the wildcard VOIP forwarder

The /api/voip/** catch-all in APIGatewayController was shadowing the dedicated VoipRecordingUploadController POST /api/voip/recordings/upload mapping when Sprin...

Kamo·4mo ago
Featurekamo-marketing

Add Go logo to BUILT WITH banner

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
FixDaemonService

Enable JPA repos for commerce + email + dao.repositories packages

DaemonService crashed on startup with: Parameter 0 of constructor in **************** required a bean of type **************** that could not be found. A r...

Kamo·4mo ago
Featurekamo-internal

Surface PHONE_SERVER_ID on phone-instance overview tab

Operators configuring kamo-asterisk-support on a FreePBX host need to paste the matching VoipProviderInstance UUID into the helper's config file as PHONE_SERVER...

Kamo·4mo ago
FixVOIPService

Capture newExtNumber as final for lambda capture in MemberVoipConfigController

newExtNumber is conditionally reassigned inside the if (isVoipEnabled && ...) block, which makes it not effectively final. The TeamMember sync block reads it fr...

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