KamoCRM

Mabadiliko ya Tabianchi

Kila kipengele, kurekebisha na kuboresha, posted kama meli. Hakuna kitu kilichofichwa kwa ajili ya uzinduzi.

17,604
Mabadiliko ya Jumla
6,054
Features ya
5,312
Wa
30
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,604AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,867TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,383kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,675kamo-signer-monorepo56kamolos114
Filter ya aina
Aina zoteBuild16CI523Chore775Docs3,257Feature6,054Fix5,312Other996Performance165Refactor278Revert23Style42Test162Upgrade1
April 29, 2026
Fixkamo-shared-library

Handle legacy ordinal strings for CountryType via AttributeConverter

DB rows had country stored as ordinal integers (e.g. "186" for UNITED_STATES) instead of enum names, causing IllegalArgumentException on findAll(). CountryTypeC...

Kamo·6mo ago
Featurekamo-shared-library

Add CDR caller-ID fields to Recording entity

Adds callerIdNum, callerIdName, callDirection, and callResult columns to the Recording entity so kamo-asterisk-support can store Asterisk CDR metadata alongside...

Kamo·6mo ago
April 28, 2026
Fixkamo-shared-library

Widen commit_log_translations.title to TEXT to match DB column

The column was VARCHAR(512) in both the annotation and the DB, causing translation inserts to fail for long translated titles. The DB column is now STRING (appl...

Kamo·6mo ago
Featurekamo-shared-library

Paginated Recording lookup by (instance, extension, isVm)

Used by the softphone tabs as the canonical source of truth for call recordings and voicemails when the upstream provider can't list them — e.g. FreePBX 17 has ...

Kamo·6mo ago
Chorekamo-shared-library

Drop stale BillingGroup-era comment + unused SubscriptionMember query

Strips the leftover doc block in AppliedModelEnforcementService that referred to the long-gone BillingGroup concept, and removes **************** after consolid...

Kamo·6mo ago
Fixkamo-shared-library

Top-level org bypass + Free baseline fallback for orgs without subs

The org-level entitlement check **************** walks subscriptions targeting an org. With the new target_org model, orgs that don't yet have a targeting Accou...

Kamo·6mo ago
Refactorkamo-shared-library

Split account-level admins from per-sub members; subs gain target_org

Adds SubscriptionMember (per-subscription licensee + sub-manager flags) so an Account on the KamoCRM org can hold multiple subscriptions, each targeting a diffe...

Kamo·6mo ago
April 27, 2026
Otherkamo-shared-library

AccountGroup -> AccountTier (customer segmentation, not billing)

The retail customer-segmentation entity (with discountPercentage, used by PriceList for tier-based pricing) collided in name with the now-removed billing-group ...

Kamo·6mo ago
Refactorkamo-shared-library

Make Account the group; replace User-set with Member-set + AccountMember

The Account is now itself the "group" — there's no separate billing-group concept. Members (org-scoped) belong to the Account directly via the new AccountMember...

Kamo·6mo ago
Refactorkamo-shared-library

Migrate from BillingGroup to Account as billing principal

Account is now the single Stripe customer principal. A Member needing to pay (e.g. for a subscription) auto-creates an Account; that Account then holds one or m...

Kamo·6mo ago
Featurekamo-shared-library

Map external customer address blocks into AccountAddress on pull

Add AdapterAddressMapper helper that converts a JSON address node from any provider into an EmbAddress and attaches it to an Account as a typed AccountAddress (...

Kamo·6mo ago
Refactorkamo-shared-library

Orient live records to Account address profile, snapshot historical addresses

Orient live commerce records to reference the Account profile's primary shipping/billing addresses, with snapshots taken only when records become historical (pl...

Kamo·6mo ago
Refactorkamo-shared-library

Switch Account.java to embeddables; add AccountAddress entity for shipping/billing lists

- Add AccountAddressType enum (SHIPPING, BILLING) - Add AccountAddress entity (account FK, type, label, EmbAddress, timestamps) - Add AccountAddressRepository -...

Kamo·6mo ago
Featurekamo-shared-library

Provider lookup keys on Recording, voicemail archive, MinIO range streaming

- Recording: add providerInstanceId + providerExternalId for joining provider call-history / voicemail rows back to imaging assets - PhoneVoicemail: add isArchi...

Kamo·6mo ago
Featurekamo-shared-library

Add lead-history audit log — entity, registry, service, DTO, LeadService hooks

- LeadHistory entity (UUID PK, plain Long FKs — no FK constraints to allow lead deletion/conversion) - LeadHistoryEventType enum with human-readable labels - Le...

Kamo·6mo 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·6mo ago
Featurekamo-shared-library

Add ASSIGN_LEADS right (ID 137) under CRM section

Kamo·6mo 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·6mo 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·6mo 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·6mo ago
Featurekamo-shared-library

UnprocessedRecording staging entity, ImgDat track tracks, recording imaging service

- Fix ImageAssocType ID collision: VM_RECORDING=8, CALL_RECORDING=9 (were both duplicating MY_DOCS at 4). - Add **************** so a master recording can car...

Kamo·6mo ago
Featurekamo-shared-library

Add **************** helpers to TeamMember

Kamo·6mo ago
April 26, 2026
Featurekamo-shared-library

Add includeCompany to LeadMarket and companyName to Lead

- LeadMarket entity gets include_company (Boolean, nullable) - Lead entity gets company_name (String, max 50, nullable) - LeadMarketDTO, CreateLeadMarketRequest...

Kamo·6mo ago
Fixkamo-shared-library

Serialize ExtensionDto.assignedMemberId as a string

overflows JS's safe-integer range (e.g. 1168485658174423046 round-trips as 1168485658174423000 once a JSON number hits the browser). The frontend already typed ...

Kamo·6mo ago
Featurekamo-shared-library

Add isDisplayOnIntake to create/update request DTOs

Kamo·6mo ago
Featurekamo-shared-library

Expose isDisplayOnIntake in FormFieldDTO

Kamo·6mo ago
Featurekamo-shared-library

Add IS_DISPLAY_ON_INTAKE column to FormField entity

Kamo·6mo ago
Featurekamo-shared-library

Add isConnected field to VoipProviderInstance

Nullable Boolean: null = never tested, true = last test passed, false = failed. Requires KamoInitializerService schema migration to add IS_CONNECTED column.

Kamo·6mo ago
Featurekamo-shared-library

Add isAvailable field for member availability toggle

Kamo·6mo ago
Featurekamo-shared-library

Unread-based count + lookup-by-session helper

Adds **************** so the navtop SupportButton badge can count support tickets that actually need attention (have unread visitor messages) instead of just PR...

Kamo·6mo ago
April 25, 2026
Fixkamo-shared-library

Support tickets need member-agnostic unread counts

Visitor messages on support tickets are stored under the same systemMember that the agent authenticates as, so the existing CHAT-session unread queries — which ...

Kamo·6mo ago
Featurekamo-shared-library

Snapshot visitor geo on ticket entity

Adds VISITOR_IP_ADDRESS, VISITOR_COUNTRY_CODE, VISITOR_COUNTRY_NAME, VISITOR_CITY, VISITOR_SUBDIVISION columns. Captured at ticket creation so the list/detail e...

Kamo·6mo ago
Performancekamo-shared-library

Add findBySessionGuidIn for bulk loading

Used by the support-ticket list endpoint to fetch all visitors for a page in one query instead of N separate findBySessionGuid calls.

Kamo·6mo ago
Fixkamo-shared-library

Correct JsonIdentityInfo property from 'uniqueId' to 'id'

Member entity declared @JsonIdentityInfo(property = "uniqueId") but the actual primary key field is named 'id'. Jackson threw "cannot find property with name 'u...

Kamo·6mo ago
Featurekamo-shared-library

Include SUPPORT_TICKET sessions in unread membership query

findChatMembershipsByMemberId now returns memberships for both CHAT and SUPPORT_TICKET session types, so the existing per-member unread-count infrastructure (ge...

Kamo·6mo ago
Featurekamo-shared-library

Add resetHasAttachmentsForFolder query to ConversationRepository

Allows sync to reset stale has_attachments flags before re-indexing so corrected MIME detection can rebuild the field from actual attachment data.

Kamo·6mo ago
April 24, 2026
Featurekamo-shared-library

Multi-instance phone/SMS provider schema foundation

- Rename VoipProviderConfig → VoipProviderInstance; drop UNIQUE(org_id), add instance_name, config_json, last_sync_at, last_sync_error. - Rename BulkTextProvide...

Kamo·6mo ago
Refactorkamo-shared-library

Drop teamMemberPayFeesSetting

Employee self-pay fee policy is gone — the BillingGroup refactor handles billing per-group, not via the security model. Removes the teamMemberPayFeesSetting col...

Kamo·6mo ago
Featurekamo-shared-library

Add per-alias creator-type visibility flags

Add visibleToMembers / visibleToTeamMembers boolean columns to ChildOrgSecurityModelAlias so admins can restrict which parent aliases appear to Members vs Team ...

Kamo·6mo ago
Fixkamo-shared-library

Apply connect/write/read timeouts to MinioClient via OkHttpClient

Without timeouts, a downed site-replication peer (k2m1) caused makeBucket and putObject calls to block indefinitely, surfacing as an infinite "Saving..." on the...

Kamo·6mo ago
Featurekamo-shared-library

Add entities, cipher, and alias/DNS log scaffolding

Adds per-org GoDaddy creds (AES-GCM encrypted), an allowRootSubdomains flag and child-org alias collection on the security model, a DNS provisioning audit log, ...

Kamo·6mo ago
Refactorkamo-shared-library

Drop RegistrationPhoneCode entity + repository

Self-service registration no longer uses SMS-code verification for the phone field — the register form collects the phone number as plain text and stores it as-...

Kamo·6mo ago
April 23, 2026
Featurekamo-shared-library

Add **************** for enter-as checks

Kamo·6mo ago

Je, unaona nini kuhusu usafiri?

Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.

Kuwa Huru MileleMtazamo wa bei