रजिस्टर mlos.steward + mlos.orchestration repos; स्लाइस-2a स्कीमा
- KamoInitializerApp @EnableJpaRepositories: संचित एमएलओएस रेपो जोड़ें पैकेज ************* प्लस Esign/personal loans इसलिए KamoInitializer अपनी स्कीमा का मालिक ...
Migration for borrower-facing brand + disclosure columns
Adds the seven nullable columns the kamo-shared-library Organization entity now declares (TAGLINE / NMLS_ID / PHONE_SUPPORT / EMAIL_SUPPORT / EQUAL_HOUSING_DISC...
प्रोग्रामबीडररर्नर - बीज 17 बेसलाइन ऋणप्रोग्रामकोड कार्यक्रम (idempotent)
MEMBER UI PREFERENCES तालिका (order 60) जोड़ें
सामान्य प्रति सदस्य UI-preference स्टोर समर्थन के लिए Idempotent CREATE हेक्स-हेड पॉपओवर आकार चयनकर्ता और भविष्य के प्रति सदस्य यूआई सेटिंग्स। स्कीमा EmbRecordS...
Add CDR caller-ID columns to recordings table (order 40)
Adds caller_id_num, caller_id_name, call_direction, and call_result columns to the recordings table so the softphone history tab can display who called without ...
सदस्य भाषा + डिफ़ॉल्ट currency कॉलम जोड़ें
सदस्यों के लिए दो न केवल कॉलम जोड़ता है, जो नई तालिका का समर्थन करता है Member.language (VARCHAR DEFAULT 'इंग्लिश') और Member.defaultCurrency (VARCHAR(10) DEFAU...
रिकॉर्डिंग प्रदाता-lookup कॉलम + VM संग्रह कॉलम के लिए माइग्रेशन धावक
RECORDINGS.provider instance id (UUID) और प्रदाता external id (VARCHAR(64)) प्लस मिश्रित idx recordings provider lookup सूचकांक सॉफ्टफोन हिस्ट्री टैब के थोक लुक...
सम्मिलित करें कंपनी और company name कॉलम जोड़ें
LeadCompanyColumnRunner (Order 40) idempotently adds: - lead markets.include company (BOOLEAN, nullable) - ट्रैक करता है कि क्या एक है बाजार की आवश्यकता होती है...
CockroachDB-compatible DROP INDEX CASCADE syntax का उपयोग करें
CockroachDB ने ALTER TABLE को खारिज कर दिया ... UNIQUE के लिए DROP CONSTRAINT साथ: unimplemented: नहीं छोड़ सकते UNIQUE constraint "uk org oauth provider" का उ...
मल्टी-इंस्टेंस फोन / एसएमएस प्रदाता माइग्रेशन
हाइबरनेट डीडीएल-ऑटो के बाद रन: अद्यतन नई टेबल (VOIP PROVIDER INSTANCE) बनाता है, BULK TEXT PROVIDER INSTANCE, PHONE EXTENSION, PHONE END USER, PHONE DEVICE. PHO...
ड्रॉप टीमMemberPayFeesDataLoader से सेट
मास्टर-मॉडल प्रावधानकर्ता अब हटाए गए त्रि-राज्यीय वेतन-शुल्क पास नहीं करता है मास्टर सुरक्षा मॉडल बनाते समय सेटिंग - क्षेत्र से चला गया है चाइल्डऑर्गसुरक्षामॉडल...
TeamMember is-a Member; drop bogus tm.getMember() कॉल
टीममेम्बर जॉइन्ड विरासत का उपयोग करता है - यह एक सदस्य है, कोई घोंसला सदस्य नहीं है क्षेत्र। बैकफिल tm.getMember () कह रहा था जो मौजूद नहीं है। इसके अलावा Tm.te...
ड्रॉप stale commerce subscription events event type CHECK for COMP event
डिफ़ॉल्ट-role-rights enum कॉलम पर ड्रॉप stale CHECK बाधाओं
हाइबरनेट ऑटो-generates CHECK (column IN ('VAL1', 'VAL2', ...) constraint @Enumerated (Enumtype.string) कॉलम के लिए CREATE TABLE पर, enum को फ्रीज करना तालिका नि...
भूमिका-दाएं upserts के लिए लापता अद्वितीय बाधाएं जोड़ें
************* + सिंकसुरक्षामॉडलRoleRights उपयोग `ON CONFLICT (role id, right type) DO NOTHING` and `on'; `ON CONFLICT (default role id, right type) DO NOTHING',...
बीज संगठन.isTopLevel for kamocrm and OWNER UNLIMITED self-comp plan
- DataLoader: ड्रॉप संगठन मेकऑर्ग से टाइप आर्ग, सेट isTopLevel = kamocrm पर ट्र्यू - KamoCRMAgeReqUpdateRunner + परीक्षण: TYPE के बजाय IS TOP LEVEL = TRUE पर मै...
Set org owner usernameAlias on creation and fix website-contact member alias
मास्टर मॉडल इनिट पर सभी तीन सदस्य प्रकारों पर लागू होता है
प्रावधान मैक्स्डआउटमास्टरमॉडल अब लागू होता हैToMembers, लागू होता हैToTeamMembers, और लागू होता हैToOwners सब सच तो हर सदस्य प्रकार मास्टर मॉडल को देखता है /नेट...
प्रशासक डिफ़ॉल्ट भूमिका टेम्पलेट सभी अधिकारों के साथ शुरू होता है
प्रावधान मैक्स्डआउटमास्टरमॉडल अब प्रशासक टेम्पलेट को पॉप्युलेट करता है हर रोलराइट टाइप को ग्रेनेड में सेट किया गया। अन्य तीन टेम्पलेट्स (टीम सदस्य,) सदस्य, DEFA...
Init पर KamoCRM के लिए एक अधिकतम मास्टर सुरक्षा मॉडल का प्रावधान
DataLoader अब एक मास्टर चाइल्डऑर्ग सिक्योरिटीमॉडल बनाता है और असाइन करता है ऑर्ग बनाने के तुरंत बाद, प्रत्येक सेटिंग अधिकतम के साथ सबसे permissive / शक्ति-सक्षम...
Add FEATURE_REQUESTS to Support category and all plan-feature mappings
Free: Community vote, Starter: Vote & request, Business: Priority requests, Enterprise: Custom dev included
UPSERT SYSTEM email template rows on every run
Previously the seed runner only inserted rows that didn't exist, so canonical HTML changes never propagated to the DB. Now existing SYSTEM rows have their bodyH...
Add dao.repositories to EnableJpaRepositories scan
EmailTemplateRepository lives under dao.repositories.email, not dao.repos, so it was not picked up as a Spring bean.
SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed s...
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Add EmailTemplateSeedRunner for SYSTEM + per-org seeding
Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...
Add partial unique indexes + CHECK constraints for email_templates
Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...
Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs
The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...
Tighten KamoCRMAgeReqUpdateRunner per review
- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...
Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...
Add verification_token and ownership_verified columns to org_domains
Add ssl_confirmed and ssl_confirmed_at columns to org_domains
Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.
Update kamo-shared-library version from 1.0.0 to 1.1.0
Needed to resolve the new billing entities in the commerce.billing package added to shared library 1.1.0.
Add billing config initialization to KamoCRMPricingLoader
Seeds a default BillingConfig (ORG_PAYS_ALL, SOFT_LOCK, 7-day grace) for the KamoCRM organization during pricing loader startup. Supports the new Stripe billing...
Remove redundant translation table SQL — Hibernate ddl-auto handles them
Add translation tables for commit logs, KB articles, and subscription plans
Email as paid add-ons, not included free
- KamoMail Hosting: $5/user/mo add-on on all plans - 3rd Party Email Integration: $2/user/mo add-on on all plans - Email hosting feature reverted to "Add-on" in...
Update KamoCRM pricing to production go-to-market rates
- Starter: $34/mo ($28 annual), Business: $72/mo ($59 annual), Enterprise: from $109/mo ($99 annual) - Business plan expanded from 50 to 100 users - Added eSign...
Extend 18DOFF promotion end date to 2026-12-31
The April 14 end date was causing the offer page to show as expired.
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
Use createOrganizationOwner for admin members, rename INTERNAL to TEAM_MEMBER
Update owner creation to use new createOrganizationOwner method which handles admin role assignment and PRIVILEGED access level automatically. Replace all Image...
जैसा कि आप शिपिंग देखते हैं?
इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.