KamoCRM

Mabadiliko ya Tabianchi

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

17,610
Mabadiliko ya Jumla
6,056
Features ya
5,314
Wa
30
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,610AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,868TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,388kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,675kamo-signer-monorepo56kamolos114
Filter ya aina
Aina zoteBuild16CI523Chore775Docs3,257Feature6,056Fix5,314Other998Performance165Refactor278Revert23Style42Test162Upgrade1
August 7, 2026
Fixkamo-shared-library

Make the atomic claims actually atomic, and stop starving the oldest payout

An adversarial review of the money path found the concurrency design was not running at all. @Modifying without @Transactional. Spring Data opens no transactio...

Kamo·2mo ago
Featurekamo-shared-library

Find a member's commission splits for their own commissions view

Org-scoped rather than keyed on the member alone: ORG_ID is duplicated onto this table so a row can never be read cross-tenant by id, and a finder that ignored ...

Kamo·2mo ago
Featurekamo-shared-library

Tume ya wanachama wa timu ya kuongoza na Stripe malipo ya uwanja

Adds com.kamo.z.shared.commission: an append-only signed ledger, a per-member balance row that exists purely to serialize concurrent withdrawals, the Commission...

Kamo·2mo ago
Fixkamo-shared-library

Stop HTML-escaping the package title in the four HR subjects

EmailTemplateService renders a template's SUBJECT and BODY from ONE variable map, and all four canonical HR subjects carry {{packageTitle}} — which LegalNotific...

Kamo·2mo ago
August 6, 2026
Featurekamo-shared-library

Four canonical HR legal-package templates

hr.package_assigned, hr.package_reminder, hr.package_voided and hr.package_completed, as {json,html} pairs plus four CANONICAL_KEYS entries. The CONSTANT is no...

Kamo·2mo ago
Fixkamo-shared-library

Let a caller own the realtime announcement of the message it is still building

undaMessage ilitangaza kila ujumbe mpya juu ya somo la wakati halisi wa kikao Mstari uliokolewa - ndani ya shughuli ya mwombaji, kabla ya mwombaji kuandika choc...

Kamo·2mo ago
Featurekamo-shared-library

Haki za binadamu kwa mujibu wa Human Resources

Vichujio vya / h vilikuwa vimefungwa popote ambapo haki ya HR ya awali ilitokea kuwa AU-term katika mwisho wa mbele: Kuhudhuria kufunguliwa juu ya VIEW SCHEDULE...

Kamo·2mo ago
Featurekamo-shared-library

Expose the content-addressed store so chat attachments can dedup

Chat attachments never went through the hashing pipeline — they wrote a private "<imgId>/<fileName>" object per upload, so the same file attached three times oc...

Kamo·2mo ago
Fixkamo-shared-library

Store every image in one bucket so dedup means one copy

Association is metadata, not a storage boundary. Each ImageAssocType used to name its own MinIO bucket, which contradicted the hashing pipeline: dedup is scoped...

Kamo·2mo ago
Fixkamo-shared-library

Copy a deduplicated document's objects into its own association bucket

Object storage is bucket-per-association (every reader resolves img.getAssocId().getBucket()), but deduplication is scoped ORG-wide or GLOBALly and so crosses a...

Kamo·2mo ago
Featurekamo-shared-library

Let sync progress and domain state be announced instead of polled

Two hooks for the push conversion in SecurityService, where several platform screens refreshed on timers because there was no way to tell them anything. Retail...

Kamo·2mo ago
Fixkamo-shared-library

Make the audience FKs and the attested wording actually hold

Five defects from the whole-branch review, all in the evidence path. The audience FKs did not cascade. cascade = CascadeType.DETACH is a persistence-context ca...

Kamo·2mo ago
Featurekamo-shared-library

Record package attestation as append-only evidence

The package-level 'I have read and agree' is a different legal instrument from the E-SIGN consent to transact and from any per-document signature, and it is the...

Kamo·2mo ago
Featurekamo-shared-library

Add per-member assignments and per-document progress

The document row is the join that makes N e-sign envelopes read as one package. The badge count comes off the assignment status, not e-sign status: recipient st...

Kamo·2mo ago
Featurekamo-shared-library

Freeze pakiti maudhui katika matoleo yasiyobadilika

Pins ImgDat blob id na SHA-256 yake, si tu imgId - Docs kuokoa Inachagua Img sawa kwenye bytes mpya, kwa hivyo imgId peke yake ingeruhusu wanachama wawili wa is...

Kamo·2mo ago
Featurekamo-shared-library

Target a package at departments, job types or named members

Shaped on SystemUserAccess. Adds the audience resolver to TeamMemberRepo, which was an empty interface; the ACTIVE + recordState predicate is what keeps termina...

Kamo·2mo ago
Featurekamo-shared-library

Add the legal package template entities

A package is an ordered set of binders plus an audience. Binder references are soft ids because binders are user-deletable and cascade their items. The attestat...

Kamo·2mo ago
Featurekamo-shared-library

Narrow binder visibility to one document collection

Replaces findVisibleToMember with a scoped variant and drops the two unreferenced finders that sorted by the dead date_updated column.

Kamo·2mo ago
Featurekamo-shared-library

Kutoa hati ya ukusanyaji ambayo ni

Binders hakuwa na scoping assoc, hivyo kila DocManager alitoa sawa duniani kote. bwawa kwa kila mwanachama na binder kujengwa chini ya Masoko inaweza kujazwa na...

Kamo·2mo ago
August 5, 2026
Fixkamo-shared-library

Map the metadata array columns as Java arrays, not List

Both entities declared their array columns as List<T> under an explicit @JdbcTypeCode(SqlTypes.ARRAY). On Hibernate 6.2.13 that combination resolves the array's...

Kamo·2mo ago
Fixkamo-shared-library

Record the uploader on a deduplicated document

registerExistingDocument built its Img without .createdByMember(member), which the normal upload path sets. Every document registered through dedup therefore la...

Kamo·2mo ago
Fixkamo-shared-library

Targeted conversion updates, so a detached ImgDat save cannot abort conversion

Conversion runs on a virtual thread against a DETACHED ImgDat. save() therefore merges an instance whose LAZY `images` collection is no longer the managed one, ...

Kamo·2mo ago
Fixkamo-shared-library

Put unowned intake leads into the auto-assignment pool

Every lead-creation path funnels through LeadService.createLead — CSV import, the lead-intake endpoints and their scheduled DaemonService job, the public webina...

Kamo·2mo ago
Featurekamo-shared-library

HR RESOURCE assoc aina ya maktaba ya rasilimali ya HR

Kichupo cha Rasilimali /hr kinachapisha vitabu, sera, fomu na kumbukumbu vifaa kwa timu nzima, na hakuna aina ya assoc iliyopo inafaa: MY DOCS ni Eneo la mtu mw...

Kamo·2mo ago
Testkamo-shared-library

Pin the contact-point and linker invariants, and drop timeline count queries

The two classes the whole feature rests on had no tests, and all three properties they guarantee fail silently in production: an unmatched call is indistinguish...

Kamo·2mo ago
Fixkamo-shared-library

Make communication source ids natural keys, not row ids

A source id derived from the source row's generated UUID is only stable if that row commits. The VOIP ingest paths write inside the sync transaction while LeadC...

Kamo·2mo ago
Featurekamo-shared-library

Point-in-time contact-point index and lead communication links

Adds the spine the lead Communications tab reads from. LEAD_CONTACT_POINTS records every phone number and e-mail a lead has ever had, as a window with activeFr...

Kamo·2mo ago
Featurekamo-shared-library

Utawala wa Umma wa demo-request risasi kukamata primitives

A visitor who fills in the marketing site's demo form but never books a time left no trace: the lead was only ever written inside the booking transaction. Captu...

Kamo·2mo ago
Featurekamo-shared-library

MICROSOFT_TEAMS provider type

Appends MICROSOFT_TEAMS to VoipProviderType. The enum persists as ORDINAL on **************** so the position is load-bearing and the constant goes last; the cl...

Kamo·2mo ago
Featurekamo-shared-library

Mkutano wa mfano kama mtoa huduma

Kamo Meets was the only possible backend: OrgMeetConfig was a flat Meet settings bag and a MeetingRecord held nothing but a room name. This adds the schema for ...

Kamo·2mo ago
Featurekamo-shared-library

Soma ubora wa marekebisho na matoleo ya mwongozo

An assembled price is a base cell PLUS the adjustments stacked onto it, so judging only the cell judges half the number: a cleanly-read 99.875 with a misread -1...

Kamo·2mo ago
Fixkamo-shared-library

Publish the agent's cell when it is the only number they have

An agent's number can live in any of three columns and commonly sits in only one: e_phone_number on the team member, m_phone_number and m_cell_number on the mem...

Kamo·2mo ago
Featurekamo-shared-library

Per-cell extraction confidence + eligibility-matrix provenance

Two gaps in the confidence model, both on the money path. PER-CELL. A sheet-wide floor is the wrong grain for judging one price: a single badly-read coupon dra...

Kamo·2mo ago
Featurekamo-shared-library

Publish every way to reach the agent, not just a name

Name and title alone tell a customer who owns the quote but not how to ask about it. The block now carries email and phone, resolved by the caller — the primary...

Kamo·2mo ago
Featurekamo-shared-library

Extraction confidence on the catalog spine + auto sign-off basis

A price is only as trustworthy as the sheet it was assembled from, and nothing on the pricing path carried that signal: confidence existed ONLY on pre-promotion...

Kamo·2mo ago
Fixkamo-shared-library

The opportunity templates own their own markup again

The company line was changed to arrive as a complete <p> element from the sender, so an absent company would not leave an empty paragraph. That was the wrong tr...

Kamo·2mo ago
Featurekamo-shared-library

Page and filter an account's quotes in the database

An account view needs every quote across all its leads. Loading them to render a page degrades every month the account is in use, and any total shown would only...

Kamo·2mo ago
Featurekamo-shared-library

Name the lead's assigned agent on the document

Kichwa cha barua hutambua org, lakini mteja aliye na swali kuhusu mahitaji ya bei mtu ambaye ana uhusiano. Orodha hiyo sasa inashikiliwa na maafisa wa usalama –...

Kamo·2mo ago
Featurekamo-shared-library

Reassignable primary agent, and nine notification templates

An approver can hand an opportunity — and the commission with it — to a different agent. PRIMARY_AGENT_MEMBER_ID is who holds it now; REQUESTED_BY_MEMBER_ID is ...

Kamo·2mo ago
August 4, 2026
Featurekamo-shared-library

The overall commission on a sale, and market defaults for it

Fursa iliyohifadhiwa sasa inarekodi kile ambacho shirika hulipa nje ya uuzaji Kikundi cha maombi na kikundi ambacho wanashirikiana nao - sufuria ya per-colleagu...

Kamo·2mo ago
Fixkamo-shared-library

Kubeba vitambulisho vya kuongoza kama kamba - idadi ya JS inawapotosha kimya

Alama zinazoongoza ni thamani ya CockroachDB ya kipekee rowid () hapo juu. Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ... 1189175700550222222 inakuwa 11891...

Kamo·2mo ago
Featurekamo-shared-library

Put the client's details on the document, read off the lead

Dropping the quote's own addressee fields left the document with nothing to say about the client: customerName only ever came from a linked Account, which lead-...

Kamo·2mo ago
Featurekamo-shared-library

Quotes belong to leads, configured per market

Quotes were a commerce-pipeline artifact, which put them beside orders and carts rather than beside the client they are for. They now hang off the lead: the mar...

Kamo·2mo ago
Featurekamo-shared-library

Entities for time-boxed lead opportunity reservations

An agent stakes an exclusive claim on closing a lead for a bounded window; an approver grants, edits or denies it, and colleagues can be offered a share of the ...

Kamo·2mo ago
Featurekamo-shared-library

Tuma barua pepe kwa mtu ambaye bado si akaunti

The addressee was derived solely from a linked Account, so any quote raised for a prospect — which is most of them — printed a blank "Prepared for" line and the...

Kamo·2mo ago
Fixkamo-shared-library

Resolve the org's real hostname and logo extension for the letterhead

Correcting the theme URL was necessary but not sufficient — the logo still did not render, for two further reasons found in the live data. org_domains stores a...

Kamo·2mo ago
Fixkamo-shared-library

Weka alama ya barua kwenye njia ndoo ya mandhari kwa kweli hutumikia

The logo URL was built as **************** which that host answers with a 308 rather than an image — so every quote, sent as well as previewed, silently fell ba...

Kamo·2mo ago
Featurekamo-shared-library

PHI_ACCESS_ALERT canonical template

SecurityService's hourly review of phi_access_log needs somewhere to send what it finds. Rather than invent a channel it uses the existing transactional-email r...

Kamo·2mo ago
Featurekamo-shared-library

Sauti ya sauti kwa ajili ya mabadiliko ya mpaka wa kufuata yenyewe

Inaongeza PhiResourceType.ORGANIZATION na PhiAccessKind.CONFIGURE ili kugeuka Shirika.handlesPhi juu au mbali inaweza kurekodiwa kama ilivyo. Kila aina ya rasi...

Kamo·2mo ago
Refactorkamo-shared-library

Shiriki azimio la barua kati ya ukurasa wa umma na wafanyakazi

The staff preview has to show exactly what the customer receives, so branding, the document term and the link host now resolve in one place. Two copies would dr...

Kamo·2mo 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