Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· kamo-internal
TXT Domain Eigentumsrekord in DNS Setup UI anzeigen
- DomainData/DnsStatus: Verifikation hinzufügenToken, EigentumVerifiziert, Typfelder - AliasStatusTable: TxtOwnershipCard oberhalb der CNAME-Tabelle anzeigen, indigo anhängig / grün verifiziert Styling; Filter TXT von CNAME geprüfte Zählung - ManualDnsGuide: akzeptiert VerifikationToken Requisite; zeigt TXT-Rekord als Schritt 3a vor CNAME-Aufzeichnungen (Step 3b) mit Inline Copy-Button - DnsProgressView: pass domain.verificationToken to ManualDnsGuide
· SecurityService
TXT Verifikation Token auf Domain erstellen, überprüfen Sie in verifiziert-dns
- erstellenDomain: erzeugen 32-char UUID Token und speichern über setVerificationToken - überprüfenDs: überprüfen _kamo-verify TXT-Rekord für kamo-site-verification=<token - TXT Verifikation zählt zur erforderlichenGesamt/erforderlichVersand - Sobald ownership_verified=true, cache Ergebnis, so dass Mitglied TXT-Rekord entfernen kann - CNAME-Status beinhaltet jetzt type="CNAME"; TXT status beinhaltet type="TXT"
· InitializerService
Verification_token und ownership_verified-Spalten zu org_domains hinzufügen
· kamo-shared-library
Domain-Eigentumsüberprüfung über DNS TXT record hinzufügen
- OrgDomain: VerifikationToken und Eigentum Beeinigte Felder hinzufügen - DomainService: setVerificationToken() und setOwnershipDiified() hinzufügen - DomainDTO: exponieren VerifikationToken und Eigentum in API-Antworten - DnStatusDTO: Typfeld hinzufügen, um TXT von CNAME-Statusen zu unterscheiden
· kamo-internal
Sticky Header, aktualisierte Aliasnamen, immer einsichtsbare einfaches Englisch DNS-Guide
· SecurityService
Update erforderliche Aliasnamen - hinzufügen App, capcha, docs, unterschreiben; Vermächtnis entfernen
· kamo-internal
Immer DNS-Taste für Besitzer anzeigen, ändern Domain-Flow
· kamo-internal
Pass orgId durch Setup/Dns Flow für Cross-Org Domain Management
· SecurityService
Cross-Or-Domain-Management durch Überprüfung der Benutzerbeteiligung
· kamo-internal
/setup/dns Seite und Domain Setup Flow zu /network hinzufügen
- Neue /setup/dns Seite mit Zweiphasen-Flow: Domain-Eingabe dann DNS Überprüfung mit 60-Sekunden-Auto-Polling und SSL-Bestätigung - ManualDnsGuide: klappenweise Schritt-für-Schritt-DNS-Anleitungen für alle Skill Levels mit Kopien-Buttons für Datensatznamen und Zielwert - AliasStatusTable: Live-pro-alias CNAME Verifikation Status mit Verifiziert / Ausstehende / Fehlerchips und optionale Plakette für www - DnsProgressView: Phasenanzeige (DNS - SSL - Bereit), Fortschrittsbalken, Countdown-Timer, Check Now-Taste, Auto-Fortschritte zum Erfolgszustand - DomainEntryForm: Domain-Eingabe mit www toggle und Klartext UX - /Netzwerkseite: Enter-Button für Orgs mit unbestätigten Benutzerdefinierten Domain; Setup Domain-Button für Besitzer, die Konfiguration benötigen
· SecurityService
Hinzufügen /setup/dns backend . One-Domain-Durchsetzung, SSL-Sonde, neue Aliasnamen
- Ersetzen Sie eine eigene Domain pro Org in POST /api/security/Domains - Capcha, docs, unterschreiben Sie zu Standard-Aliasen; entfernen Sie Vermächtnis-Alias - Überprüfungsprüf-dns auf Track erforderlich vs optionale CNAMEs, Auto-Trigger HTTP-Samen zu Traefik-Logs, wenn alle erforderlichen CNAMEs verifiziert, und HTTPS-Probe für SSL-Bestätigung (marks sslBestätigt auf der Elterndomäne) - SslProbeService mit triggerHttpSeed() und probeHttps() Methoden hinzufügen - DomainSetupComplete per org in GET /api/security/org/my-networks
· InitializerService
ssl_confirmed und ssl_confirmed_at Spalten zu org_domains hinzufügen
Fügt idempotent ALTER TABLE-Anweisungen zur Bereitstellung der beiden neuen Spalten hinzu benötigt für die Bestätigungsverfolgung von DNS-Setup.
· kamo-shared-library
sslConfirmed/slConfirmedAt Felder zu OrgDomain und DomainDTO hinzufügen
Fügt zwei neue Felder zu OrgDomain Entity und DomainDTO hinzu, um SSL zu verfolgen Zertifikat Bestätigung Status nach dem Auto-Zert-Service-Problem ein Zertifikat. Fügt auch setSslConfirmed() Helfer zu DomainService hinzu.
· kamo-marketing
Entfernen Client-Seite Changelog Zensur - jetzt von Backend behandelt
Word-Ersatz und geheime Redaktion verschoben zu ChangelogSanitizationService (SecurityService) so die Sanitierung geschieht vor DB-Speicherung und Übersetzung. Das Frontend muss den Text nicht mehr berühren.
· SecurityService
Changelog-Wortersatz vor der Übersetzung verschieben
Textersatz (Docs-Docs, Meet-Meet, etc.) und geheimer Name Redaktion (K8s geheime Namen) wurden zuvor Client-Seite in angewendet ChangelogClient.tsx, d.h. die rohen empfindlichen Begriffe wurden in der Datenbank und übertragen an den Übersetzungsdienst - so übersetzte Aufzeichnungen könnte interne Namen in anderen Sprachen aussetzen. Beide Listen werden nun in ChangelogSanitizationService vor der Übergabe angewendet wird beharrlich. replaceText() umfasst Titel; sanitize() umfasst Beschreibungen (Streifen-Muster laufen zuerst, dann ersetzenText). Das Frontend braucht nicht mehr um jegliche Zensur zu machen.
· kamo-internal
Speicher-Ad-on-Keeber mit Quantität Schieberegler ersetzen
Zusätzlicher Speicher ist nutzungsbasiert ($4/25GB Block), kein einfaches Ein-/Ausschalten add-on. Ersetzen Sie den Schalter um einen Schieberegler (0-1000GB in 25GB Schritte) plus ein numerisches Eingabefeld. Kostenaufschlüsselung zeigt jetzt Lagerung als eine separate Zeile. PlanSelection beinhaltet zusätzlicheStorageGB für das Backend, um die dosierte Abrechnung entsprechend einzurichten.
· kamo-internal
Wire BillingManager und RelationshipManager zu echten Backends
BillingManager (Rechnungslegungs-Tab): - Ersetzt 100% Lokal-Staat-Mock mit realer Stripe-Backed Zahlungsmethode Management über billingApi - Lastt Zahlungsmethoden von GET /api/billing/payment-Methoden auf Mounte - Fügen Sie Zahlungsmethode Flow verwendet createSetupIntent . StripeProvider + PaymentMethodForm - bestätigenCardSetup - beigefügteMethode (identisch zu PlansBillingTab) - Standardeinstellung über **************** mit optimistisch einstellen Stern-Ikone und Inflight Spinner pro Reihe - Löschen über billingApi.deletePaymentMethod mit ConfirmationDialog; Standardkartenlöschen wird mit Tooltip blockiert - Kartenmarken-Ikone (Visa/Mastercard/Amex/Discover) von bestehenden SVG Assets; generische CreditCard-Ikone Fallback für unbekannte Marken - Skeleton-Beladung, pro Abschnitt Fehler mit Retry, Snackbar Feedback RelationshipManager (Register für Kundenbeziehungen): - Ersetzter leerer lokaler Staat durch GET /api/security/org/my-networks - Kassifiziert Netzwerke: isOwner=false - Elternnetzwerke (Orgnet den Benutzer gehört zu), isOwner=true - Child Networks (gis der Benutzer verwaltet) - Zeigt Avatar Initialen, Org-Titel, Typ/Domain-Meta und Rollenchip - Profil Aktion Links zu Org Domain, wenn verfügbar - Zugriffsrechte mit Tooltip deaktiviert (über org admin verwaltet) - Zusammenfassung Chips zeigen Live-Eltern/Kind-Zahlungen - Add/entfernen ist absichtlich nur lesbar; Info-Benachrichtigung leitet sich an Netzwerk Seite für Beziehungsmanagement (kein Backend CRUD Endpoint existiert)
· KlusterServices
Bergamotte mit funktionierenden Modellquellen und korrektem Bild wiederherstellen
- Repliken: 1 - Init Container (alpine): lädt 4 Paare von data.statmt.org herunter für enes/enfr/ende/enpl) und 2 von firefox-translations-Modellen GitHub LFS (individuelle .gz-Dateien für enru/enar) - Bild: mozilla/translation-service (richtiger HTTP-Server, war WASM Bibliothek) - Portwein: 8080 via PORT env var (Service-Standards bis 8000) - Gesundheitssonden: TCP-Sockel (Service hat keinen /health HTTP-Endpunkt) - Restliche 7 Locales (pt/it/uk/tr/ro/id/vi) fallen bis LibreTranslate durch
· kamo-internal
Mock-Statistik-Seite mit Live KamoCRM Abonnement Dashboard ersetzen
Rekonjunktur / Konto?tab=stats in einen vollständig verdrahteten, lesbaren Einblick Armaturenbrett. Ersetzt alle Scheindaten durch parallele Anrufe zu BillingService über der bestehende BillingApi-Client. Layout: - Top 2-Coltur-Raster: Planübersichtskarte (Planname, Statusplakette, Sitzplatzzählung, Abrechnungszyklus, Zeitraum, Warnung annullieren, Feature-Liste) + Billing Zusammenfassung Karte (nächster Rechnungsbetrag, Stückpreis, aktive Add-ons, Guthaben, Zahlung Methode letzte 4) - Vollbreite Nutzungs-Sektion: Pro-Meter-Vorgangskarten (E-Mails gesendet, E-Mail Speicherung, Dateispeicherung, Dokumente) mit farbcodierten Fortschrittsbalken abgeleitet von Plan-Featuresgrenzen - grün/warnung/Fehler bei 70%/90% Schwellenwerte - Gesamte Rechnungshistorie-Tabelle: Rechnungsnummer, Zeitraum, Status-Chip, subtotal/tax/total, PDF Download Link; bis zu 20 aktuelle Rechnungen Daten: erhaltenAktionelles Zuschreibung, getAvailablePlans, getCurrentUsage, getInvoices, getCreditBalance, getPaymentMethods - alles via Promise.allSettled so jeder Abschnitt baut sich unabhängig auf Fehler. MUI Skeleton-Lader pro Abschnitt beim Abrufen.
· kamo-internal
Komplette Wählen Sie einen Plan Flow Ende-zu-Ende
- Wire PlanCalculator in PlansBillingTab Dialog (erplatziert) - Holen Sie sich verfügbare Pläne von der Abrechnung API auf Seitenlast - Handle Plan-Einreichung: schafft neues Abonnement oder Updates vorhanden - Benötigen Sie Zahlungsmethode vor der Anmeldung (gibt erneute Zahlungsermächtigungen) - Anzeige des Ladezustandes mit Streifenverarbeitungsmeldung während der Absage - Passplan Kontext (aktuelle Plan, Zyklus, Sitze, Addons) zu Rechner - Beheben Sie PaymentMethodForm, um ClientSecret als Requisite statt zu akzeptieren Zugriff auf Stripe Elements-Interna
· kamo-internal
Verstecken Pläne & Billing Registerkarte für root KamoCRM org
KamoCRM org Besitzer haben alles kostenlos aktiviert, sollten sie nie sehen, die Abrechnung Registerkarte. Die Registerkarte ist jetzt nur bedingt gemacht für Kinderorganisationen (woorganisation.hasParent stimmt). Kind org-Besitzer sehen ihre Org-Rechnung; Mitglieder sehen Abrechnung auf der Grundlage der Delegation config.
· SecurityService
BillingService zu Changelog Public-Projekten hinzufügen
· kamo-internal
Integration Stripe Billing System über die Plattform
- Neuer billingApi.ts Client mit vollständigen TypeScript-Typen für alle Abrechnungen Endpunkte (Abonnements, Zahlungsmethoden, Rechnungen, Kredite, Nutzung, config, admin) - Neue Komponenten von Streifenelementen: StripeProvider, PaymentMethodForm, PlanCalculator mit voller Kostenaufschlüsselung, Volumenrabatten und Bundles - Pläne umschreibenBillingTab mit echter Stripe-Integration: Planmanagement, Stripe Elements Zahlungsmethoden, Rechnungsverlauf, Guthaben, Nutzungsmessung, Rechnungsübertragung config, Teammitglied Abrechnungsstatus - Update FeaturesManager mit planbasiertem Gating: Sperr-Symbole und Upgrade CTAs für Funktionen, die nicht im aktuellen Abonnement-Plan enthalten sind - Entfernen Sie die Registerkarte Rechnungsablage aus den Kontoeinstellungen (auf Mitgliederseite verwiesen) - Installieren @stripe/stripe-js und @stripe/react-stripe-js
· BillingService
Initial BillingService - gestreifte Abrechnung für KamoCRM
Kompletter Spring Boot Service für die Verwaltung von KamoCRM Billing via Stripe: - Stripe Kunde, Abonnement, PaymentMethod, Rechnung Lifecycle Management - Kreditsystem mit Ledger Auditing (Stripe Customer Balance) - Verbrauchsmessung für KamoMail und DocManager (tägliche cron-sync to Stripe) - Rechnungslegation (ORG_PAYS_ALL / MEMBERS_PAY_OWN Modi) - Konfigurierbare Strafvollstreckung von Straftaten (SOFT_LOCK, HARD_LOCK, OWNER_FALLBACK) - Stripe webhook Verarbeitung für Echtzeit-Zustandssynchronisation - Streifenpreis/Produktauto-Schöpfung aus dem Abonnement-Katalog - Vollständige REST API: Kunden, Abonnements, Zahlungsmethoden, Rechnungen, Credits, Nutzung, Konfiguration, admin Endpoints - K8s Einsatzmanifestungen + Forgejo CI/CD-Pipeline - Nur interner Service (keine IngressRoute), zugegriffen über APIService Gateway
· APIService
Hinzufügen von Stripe webhook Forwarding und Billing API Gateway Routing
- POST /api/billing/webhooks/stripe erhält Stripe webhooks und forwards zu BillingService mit Stripe-Signature Kopf erhalten - /api/billing/** Gateway Routen Proxy authentifizierte Abrechnung API-Anrufe zu BillingService durch den bestehenden Forward() -Mechanismus - Fügt billing.service.url und stripe.webhook.secret Konfiguration hinzu - Fügt Streifenwebhook-secret k8s geheime Referenz hinzu
· InitializerService
Billing Konfigurations-Anitialisierung zu KamoCRMPricingLoader hinzufügen
Samen eine Standard BillingConfig (ORG_PAYS_ALL, SOFT_LOCK, 7-Tage-Liebe) für die KamoCRM Organisation beim Preisauflader-Start. Unterstützung das neue Stripe-Rechnungssystem.
· kamo-shared-library
Rechnungswesen und Repositories für die Stripe-Integration hinzufügen
Neues Paket **************** mit 9 Einheiten (BillingCustomer, Abrechnung, BillingPaymentMethod, BillingInvoice, BillingCredit, BillingCreditLedger, BillingConfig, BillingUsageSnapshot, BillingStripePriceMapping) und 9 dazu JPA-Repositories. Diese Entitäten spiegeln Streifen Zustand lokal für die neues KamoCRM Abrechnungssystem.
· kamo-marketing
Add /calculator und /pricing/offer zu allen Sitemaps; i18n HTML Sitemap Labels
- app/sitemap.ts: /Preis/Angebot und / Rechner Einträge mit Locale-Alternative hinzufügen - app/api/sitemap/route.ts: Preisrechner und Sonderangebotseinträge hinzufügen - SitemapClient.tsx: statischeSektionen innerhalb der Komponente mit t() für alle Beschriftungen/Beschreibungen verschieben; Rechner-Link unter Produkt-Sektion hinzufügen - messages/en.json: 38 neue Sitemap Link Label/description keys hinzufügen
· kamo-marketing
Vollständig extrahieren verbleibenden Körper Strings aus Produkt, Blog, Preisgestaltung, Demo, Kontakt, Taschenrechner
· kamo-marketing
Voll extrahieren Körper Saiten aus Funktionen, über, zu Hause

Euer Universum wartet.
Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.
Für immer kostenlos – keine Kreditkarte erforderlich