परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· kamo-internal
DNS सेटअप में TXT डोमेन स्वामित्व रिकॉर्ड दिखाएं
- DomainData/DnsStatus: सत्यापन टोकन, स्वामित्व सत्यापित, प्रकार फ़ील्ड जोड़ें - AliasStatusTable: कॉपी बटन के साथ CNAME तालिका के ऊपर TxtOwnershipCard दिखाते हैं। इंडिगो लंबित / ग्रीन सत्यापित स्टाइलिंग; CNAME सत्यापित गिनती से TXT फ़िल्टर करें - ManualDnsGuide: सत्यापन स्वीकार करता है Token prop; चरण 3a के रूप में TXT रिकॉर्ड दिखाता है CNAME रिकॉर्ड्स (Step 3b) से पहले इनलाइन कॉपी बटन के साथ - DnsProgressView: डोमेन सत्यापन टोकन को मैन्युअल DNSGuide में पास करें
· SecurityService
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - TXT verification counts toward requiredTotal/requiredVerified - Once ownership_verified=true, cache result so member can remove TXT record - CNAME statuses now include type="CNAME"; TXT status includes type="TXT"
· InitializerService
Add verification_token and ownership_verified columns to org_domains
· kamo-shared-library
DNS TXT रिकॉर्ड के माध्यम से डोमेन स्वामित्व सत्यापन जोड़ें
-संगठन: सत्यापन टोकन और स्वामित्व सत्यापित फ़ील्ड जोड़ें डोमेन सेवा: add setVerificationToken () and setOwnershipVerified () - डोमेन डीटीओ: सत्यापन को उजागर करें टोकन और स्वामित्व एपीआई प्रतिक्रियाओं में सत्यापित - DnsStatusDTO: CNAME स्टेटस से TXT को अलग करने के लिए टाइप फील्ड जोड़ें
· kamo-internal
स्टिकी हेडर, अद्यतन उपनाम, हमेशा दृश्यमान सादे अंग्रेजी DNS गाइड
· SecurityService
Update required aliases — add app, capcha, docs, sign; remove legacy
· kamo-internal
हमेशा मालिकों के लिए DNS बटन दिखाएं, डोमेन प्रवाह में बदलाव करें
· kamo-internal
क्रॉस-ऑर्ग डोमेन प्रबंधन के लिए सेटअप / DNS प्रवाह के माध्यम से पास orgId
· SecurityService
Allow cross-org domain management by verifying user ownership
· kamo-internal
/ सेटअप / DNS पृष्ठ और डोमेन सेटअप प्रवाह को /नेटवर्क में जोड़ें
- दो-चरण प्रवाह के साथ नया / सेटअप / DNS पृष्ठ: डोमेन प्रविष्टि तब DNS 60 सेकंड के ऑटो-पॉलिंग और एसएसएल पुष्टिकरण के साथ सत्यापन - ManualDnsGuide: सभी के लिए खुलने योग्य चरण-दर-चरण DNS निर्देश रिकॉर्ड नामों और लक्ष्य मूल्य के लिए कॉपी बटन के साथ कौशल स्तर - AliasStatusTable: लाइव प्रति-alias CNAME सत्यापन स्थिति के साथ सत्यापित / लंबित / त्रुटि चिप्स और www के लिए वैकल्पिक बैज - DnsProgressView: चरण सूचक (DNS → SSL → तैयार), प्रगति बार, उलटी गिनती टाइमर, चेक अब बटन, सफलता की स्थिति के लिए ऑटो-advances - DomainEntryForm: www toggle और सादे भाषा UX के साथ डोमेन इनपुट - /नेटवर्क पेज: बिना पुष्टि की गई कस्टम के साथ orgs के लिए प्रविष्टि बटन अक्षम करें डोमेन; शो सेटअप डोमेन बटन मालिकों के लिए विन्यास की जरूरत है
· SecurityService
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to track required vs optional CNAMEs, auto-trigger HTTP seeds to Traefik logs when all required CNAMEs verified, and HTTPS-probe for SSL confirmation (marks sslConfirmed on parent domain) - Add SslProbeService with triggerHttpSeed() and probeHttps() methods - Expose domainSetupComplete per org in GET /api/security/org/my-networks
· InitializerService
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.
· kamo-shared-library
SslConfirmed/sslConfirmedAt फ़ील्ड्स to OrgDomain and DomainDTO
एसएसएल को ट्रैक करने के लिए ऑर्गडोमेन इकाई और डोमेनडीटीओ में दो नए फ़ील्ड जोड़ें ऑटो-सर्ट सेवा मुद्दों के बाद प्रमाण पत्र पुष्टि की स्थिति प्रमाण पत्र इसके अलावा setSslConfirmed() हेल्पर को डोमेन सर्विस में जोड़ता है।.
· kamo-marketing
क्लाइंट-साइड चेंजलॉग सेंसर को हटा दें - अब बैकएंड द्वारा संभाला गया
शब्द प्रतिस्थापन और गुप्त लालीकरण ChangelogSanitization के लिए स्थानांतरित सेवा (Security Service) तो स्वच्छता DB भंडारण और अनुवाद से पहले होती है। फ्रंटेंड को अब टेक्स्ट को स्पर्श करने की आवश्यकता नहीं है।.
· SecurityService
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, meaning the raw sensitive terms were stored in the database and transmitted to the translation service — so translated records could expose internal names in other languages. Both lists are now applied in ChangelogSanitizationService before the commit is persisted. replaceText() covers titles; sanitize() covers descriptions (strip-patterns run first, then replaceText). The frontend no longer needs to do any censoring.
· kamo-internal
मात्रा स्लाइडर के साथ भंडारण ऐड-ऑन टॉगल बदलें
अतिरिक्त भंडारण उपयोग-आधारित ($ 4 / 25GB ब्लॉक) है, एक सरल चालू / बंद नहीं है ऐड-ऑन एक स्लाइडर के साथ टॉगल स्विच को बदल दिया (25GB में 0-1000GB) चरण) साथ ही एक संख्यात्मक इनपुट क्षेत्र। अब कॉस्ट ब्रेकडाउन स्टोरेज को दिखाता है एक अलग लाइन आइटम। प्लान चयन में अतिरिक्त स्टोरेज जीबी शामिल है बैकएंड को मीटर बिलिंग को तदनुसार स्थापित करने के लिए।.
· kamo-internal
वायर बिलिंगमैनेजर और रिलेशन मैनेजर रियल बैकएंड्स के लिए
बिलिंगमैनेजर (खाता बिलिंग टैब): - वास्तविक स्ट्राइप समर्थित भुगतान विधि के साथ 100% स्थानीय राज्य नकली बदल दिया बिलिंग एपीआई के माध्यम से प्रबंधन - माउंट पर GET /api /billing / भुगतान-methods से भुगतान विधि लोड करें - भुगतान विधि प्रवाह जोड़ें buildSetupIntent → StripeProvider + भुगतान मेथोडफॉर्म → पुष्टिकार्ड सेटअप → अटैच पेमेंटमेथोड (identical) PlansBillingTab को प्रवाह) **************** के माध्यम से डिफ़ॉल्ट सेट करें स्टार आइकन और इन-फ्लाइट स्पिनर प्रति पंक्ति - बिलिंग के माध्यम से हटाएंApi.deletePaymentMethod with ConfirmationDialog; डिफ़ॉल्ट कार्ड हटाने टूलटिप के साथ अवरुद्ध है - कार्ड ब्रांड आइकन (Visa/Mastercard/Amex/Discover) मौजूदा से दिखाया गया है एसवीजी परिसंपत्तियां; अज्ञात ब्रांडों के लिए जेनेरिक क्रेडिटकार्ड आइकन गिरबैक - कंकाल लोडिंग, रीट्री, स्नैकबार फीडबैक के साथ प्रति सेक्शन त्रुटि रिश्ते प्रबंधक (लेखा संबंध टैब): - जीईटी / एपीआई / सुरक्षा / जॉर्ज / मायनेटवर्क्स के साथ खाली स्थानीय राज्य बदल दिया - नेटवर्क वर्गीकृत करें: isOwner=false → पैरेंट नेटवर्क (उपयोगकर्ता) इसके अंतर्गत आता है), isOwner=true → चाइल्ड नेटवर्क (उपयोगकर्ता प्रबंधन को बढ़ाता है) - अवतार प्रारंभिक, ऑर्ग शीर्षक, प्रकार / डोमेन मेटा, और भूमिका चिप दिखाता है - उपलब्ध होने पर ऑर्ग डोमेन के लिए प्रोफाइल एक्शन लिंक - एक्सेस अधिकार कार्रवाई टूलटिप के साथ अक्षम (ऑर्ग एडमिन के माध्यम से प्रबंधित) - सारांश चिप्स लाइव माता-पिता / बच्चे की गिनती दिखाते हैं - ऐड / रिमूव जानबूझकर पढ़ा जाता है; नेटवर्क के लिए सूचना चेतावनी निर्देश रिश्ते प्रबंधन के लिए पृष्ठ (क्रूड एंडपॉइंट मौजूद नहीं है)
· KlusterServices
Restore bergamot with working model sources and correct image
- replicas: 1 - Init container (alpine): downloads 4 pairs from data.statmt.org (tarballs for enes/enfr/ende/enpl) and 2 from firefox-translations-models GitHub LFS (individual .gz files for enru/enar) - Image: mozilla/translation-service (proper HTTP server, was WASM library) - Port: 8080 via PORT env var (service defaults to 8000) - Health probes: TCP socket (service has no /health HTTP endpoint) - Remaining 7 locales (pt/it/uk/tr/ro/id/vi) fall through to LibreTranslate
· kamo-internal
लाइव KamoCRM सदस्यता डैशबोर्ड के साथ नकली आँकड़े पृष्ठ बदलें
Rebuilt/settings/account?tab=stats in a full wired, read-only अंतर्दृष्टि डैशबोर्ड। बिलिंग सर्विस को समानांतर कॉल के साथ सभी नकली डेटा को बदल देता है मौजूदा बिलिंगएपीआई क्लाइंट। लेआउट: - शीर्ष 2-col ग्रिड: योजना अवलोकन कार्ड (योजना का नाम, स्थिति बिल्ला, सीट गणना,) बिलिंग चक्र, अवधि, रद्द चेतावनी, सुविधा सूची) + बिलिंग सारांश कार्ड (अगला बिल राशि, इकाई मूल्य, सक्रिय ऐड-ऑन, क्रेडिट संतुलन, भुगतान विधि अंतिम 4) - पूर्ण-चौड़ाई उपयोग अनुभाग: प्रति मीटर प्रगति कार्ड (ईमेल भेजे गए, ईमेल) रंग-कोडित प्रगति सलाखों के साथ भंडारण, फ़ाइल भंडारण, दस्तावेज व्युत्पन्न योजना सुविधा सीमा से - 70% / 90% सीमा पर ग्रीन / चेतावनी / आतंक - पूर्ण-चौड़ाई चालान इतिहास तालिका: चालान संख्या, अवधि, स्थिति चिप, subtotal/tax/total, PDF डाउनलोड लिंक; 20 तक हाल के चालान डेटा: getCurrentSubscription, getAvailablePlans, getCurrentUsage, GetInvoices, getCreditBalance, getPaymentMethods - सब Promise.all के माध्यम से निपटान इसलिए प्रत्येक अनुभाग त्रुटि पर स्वतंत्र रूप से गिरावट करता है। MUI कंकाल लोडर प्रति भाग लेते समय।.
· kamo-internal
पूरा करें प्लान फ्लो एंड-टू-एंड चुनें
- वायर प्लानकैल्कुलेटर इन प्लानबिलिंग टैब संवाद (प्लेस प्लेसहोल्डर) - पेज लोड पर बिलिंग एपीआई से उपलब्ध योजनाओं को प्राप्त करें - हैंडल प्लान सबमिशन: मौजूदा नई सदस्यता या अपडेट बनाता है - सब्सक्राइब करने से पहले भुगतान विधि की आवश्यकता (भुगतान जोड़ने के लिए पुनर्निर्देश) - जमा के दौरान स्ट्राइप प्रोसेसिंग संदेश के साथ लोडिंग स्टेट दिखाएं - पास योजना संदर्भ (वर्तमान योजना, चक्र, सीटें, addons) कैलकुलेटर - ग्राहकों को स्वीकार करने के लिए PaymentMethodForm को ठीक करें एक्सेसिंग स्ट्राइप एलिमेंट्स इंटरनल
· kamo-internal
जड़ के लिए योजनाओं और बिलिंग टैब छुपाएं KamoCRM org
KamoCRM org मालिकों को सब कुछ सक्षम नहीं है - उन्हें होना चाहिए कभी भी बिलिंग टैब नहीं देखा। अब टैब को सशर्त रूप से केवल प्रदान किया गया है बाल संगठनों के लिए (जहां संगठन.hasParent सच है). बच्चे org मालिकों को अपने org के बिलिंग को देखते हैं; सदस्यों को बिलिंग के आधार पर देखना प्रतिनिधिमंडल विन्यास।.
· SecurityService
लोक-परियोजनाओं को बदलने के लिए बिलिंग सर्विस जोड़ें
· kamo-internal
प्लेटफॉर्म पर स्ट्रिप बिलिंग सिस्टम को एकीकृत करें
- सभी बिलिंग के लिए पूर्ण प्रकार के प्रकार के साथ नया बिलिंग API.ts क्लाइंट समापन बिंदु (उपस्क्रिप्शन, भुगतान विधि, चालान, क्रेडिट, उपयोग,) विन्यास, व्यवस्थापक - न्यू स्ट्राइप एलिमेंट्स घटक: स्ट्राइपप्रोवाइडर, पेमेंटमेथोडफॉर्म, पूर्ण लागत टूटने, वॉल्यूम छूट और बंडलों के साथ PlanCalculator - रियल स्ट्रिप एकीकरण के साथ पुनर्लेखन योजना बिलिंग टैब: योजना प्रबंधन, स्ट्राइप एलिमेंट्स भुगतान विधि, चालान इतिहास, क्रेडिट संतुलन, उपयोग पैमाइश, बिलिंग प्रतिनिधिमंडल विन्यास, टीम सदस्य बिलिंग स्थिति - योजना आधारित गैटिंग के साथ अपडेट फीचर मैनेजर: लॉक आइकन और अपग्रेड वर्तमान सदस्यता योजना में सुविधाओं के लिए सीटीए शामिल नहीं है - खाता सेटिंग्स से बिलिंग टैब निकालें (सदस्य पेज तक चली गई) @stripe/stripe-js और @stripe/react-stripe-js
· BillingService
Initial BillingService — Stripe-integrated billing for KamoCRM
Complete Spring Boot service for managing KamoCRM billing via Stripe: - Stripe Customer, Subscription, PaymentMethod, Invoice lifecycle management - Credit system with ledger auditing (Stripe Customer Balance) - Usage metering for KamoMail and DocManager (daily cron sync to Stripe) - Billing delegation (ORG_PAYS_ALL / MEMBERS_PAY_OWN modes) - Configurable delinquency enforcement (SOFT_LOCK, HARD_LOCK, OWNER_FALLBACK) - Stripe webhook processing for real-time state sync - Stripe Price/Product auto-creation from subscription catalog - Full REST API: customers, subscriptions, payment methods, invoices, credits, usage, config, admin endpoints - K8s deployment manifests + Forgejo CI/CD pipeline - Internal-only service (no IngressRoute), accessed via APIService gateway
· APIService
Add Stripe webhook forwarding and billing API gateway routing
- POST /api/billing/webhooks/stripe receives Stripe webhooks and forwards to BillingService with Stripe-Signature header preserved - /api/billing/** gateway routes proxy authenticated billing API calls to BillingService through the existing forward() mechanism - Adds billing.service.url and stripe.webhook.secret configuration - Adds stripe-webhook-secret k8s secret reference
· InitializerService
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 system.
· kamo-shared-library
स्ट्रिप एकीकरण के लिए बिलिंग संस्थाओं और प्रस्तावों को जोड़ें
नया पैकेज **************** 9 संस्थाओं के साथ (BillingCustomer, BillingSubscription, BillingPayment) विधि, बिलिंगइनवॉइस, बिलिंगक्रेडिट, बिलिंगक्रेडिटलेगर, बिलिंगकॉन्फिग, BillingUsageSnapshot, BillingStripePriceMapping. JPA ये संस्थाएं स्थानीय रूप से स्ट्रिप स्टेट को प्रतिबिंबित करती हैं नई KamoCRM बिलिंग प्रणाली।.
· kamo-marketing
जोड़ें /calculator और /pricing/offer सभी sitemaps के लिए; i18n HTML साइटमैप लेबल
- app/sitemap.ts: स्थानीय विकल्प के साथ ऐड / प्रिसिंग / ऑफर और / कैलक्यूलेटर प्रविष्टियों - app/api/sitemap/route.ts: मूल्य निर्धारण कैलकुलेटर और विशेष प्रस्ताव प्रविष्टियां जोड़ें - साइटमैपClient.tsx: सभी लेबल / विवरणों के लिए टी () के साथ घटक के अंदर स्थैतिक अनुभागों को स्थानांतरित करें; उत्पाद अनुभाग के तहत कैलकुलेटर लिंक जोड़ें - संदेश / en.json: 38 नए साइटमैप लिंक लेबल / शिलालेख कुंजी जोड़ें
· kamo-marketing
उत्पाद, ब्लॉग, मूल्य निर्धारण, डेमो, संपर्क, कैलकुलेटर से शेष शरीर के तार को पूरी तरह से निकालें
· kamo-marketing
सुविधाओं, के बारे में, घर से पूरी तरह से शरीर स्ट्रिंग निकालने

तुम्हारा ब्रह्मांड इंतजार कर रहा है.
मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.
हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं