Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · 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

  2. · 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"

  3. · InitializerService

    Verification_token und ownership_verified-Spalten zu org_domains hinzufügen

  4. · 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

  5. · kamo-internal

    Sticky Header, aktualisierte Aliasnamen, immer einsichtsbare einfaches Englisch DNS-Guide

  6. · SecurityService

    Update erforderliche Aliasnamen - hinzufügen App, capcha, docs, unterschreiben; Vermächtnis entfernen

  7. · kamo-internal

    Immer DNS-Taste für Besitzer anzeigen, ändern Domain-Flow

  8. · kamo-internal

    Pass orgId durch Setup/Dns Flow für Cross-Org Domain Management

  9. · SecurityService

    Cross-Or-Domain-Management durch Überprüfung der Benutzerbeteiligung

  10. · 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

  11. · 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

  12. · 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.

  13. · 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.

  14. · 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.

  15. · 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.

  16. · 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.

  17. · 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)

  18. · 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

  19. · 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.

  20. · 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

  21. · 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.

  22. · SecurityService

    BillingService zu Changelog Public-Projekten hinzufügen

  23. · 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

  24. · 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

  25. · 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

  26. · 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.

  27. · 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.

  28. · 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

  29. · kamo-marketing

    Vollständig extrahieren verbleibenden Körper Strings aus Produkt, Blog, Preisgestaltung, Demo, Kontakt, Taschenrechner

  30. · 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