Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-internal
Afficher l'enregistrement de propriété de domaine TXT dans l'interface utilisateur de configuration DNS
- DomainData/DnsStatus: addition de vérification Jeton, propriétéVérifié, champs de type - AliasStatusTable: montrer TxtOwnershipCard au-dessus du tableau CNAME avec le bouton de copie, style vérifié en indigo / vert; filtres TXT à partir du nombre vérifié du CNAME - ManualDnsGuide: accepte la vérification avant enregistrements CNAME (étape 3b) avec le bouton de copie en ligne - DnsProgressView: pass domain.verification Jeton à ManualDnsGuide
· SecurityService
Générer un jeton de vérification TXT sur la création de domaine, vérifier dans les crans de vérification
- createDomain: générer un jeton UUID 32 chars et stocker via setVerificationToken - vérifier le fichier TXT pour la vérification du site kamo-vot - Débits de vérification du TXT vers les besoinsTotal/requiredVerified - Une fois le résultat de la propriété-vérifié-vérifié, le résultat du cache afin que le membre puisse supprimer l'enregistrement TXT - Les états CNAME incluent désormais le type "CNAME"; le statut TXT inclut le type "TXT"
· InitializerService
Ajouter les colonnes vérifiées-jetons et propriété-vérifiés aux domaines d'org
· kamo-shared-library
Ajouter la vérification de la propriété de domaine via l'enregistrement DNS TXT
- OrgDomain: ajouter verificationToken and ownershipChoises et propriétéChamps consolidés - DomainService: ajouter setVerificationToken() et setOwnershipVerified() - DomainDTO: exposer la vérification Jeton et propriétéVérifié dans les réponses API DnsStatusDTO: ajouter champ de type pour distinguer TXT des statuts CNAME
· kamo-internal
En-tête collant, pseudonymes mis à jour, guide DNS toujours visible en clair-anglais
· SecurityService
Mettre à jour les pseudonymes requis - ajouter app, capcha, docs, signe; supprimer l'héritage
· kamo-internal
Montez toujours le bouton DNS pour les propriétaires, ajouter le flux de domaine de modification
· kamo-internal
Passer l'orgId par le biais d'un flux de configuration/dns pour la gestion du domaine inter-org
· SecurityService
Autoriser la gestion de domaine inter-orgs en vérifiant la propriété des utilisateurs
· kamo-internal
Ajouter /setup/dns et flux de configuration de domaine vers /réseau
- Nouvelle page /setup/dns avec flux en deux phases: entrée de domaine puis DNS Vérification avec autopollage de 60 secondes et confirmation SSL - ManualDnsGuide: instructions DNS pliables étape par étape pour tous Niveaux de compétence avec des boutons de copie pour les noms d'enregistrement et la valeur cible - AliasStatusTable : état de vérification vivant en fonction du CNAME avec Puces vérifiées / en attente / Error et badge optionnel pour www - DnsProgressView: indicateur de phase (DNS et SSL - prêt), barre de progression, Compte à rebours, bouton de contrôle Now, préavis automatique à l'état de réussite - DomainEntryForm: entrée de domaine avec www toggle et UX en langage clair /page réseau: désactiver le bouton d'entrée pour les orages avec une coutume non confirmée Domaine; afficher le bouton de domaine de configuration pour les propriétaires ayant besoin d'une configuration
· SecurityService
Ajouter /setup/dns backend et application à un domaine, enquête SSL, nouveaux pseudonymes
- Appliquer un domaine personnalisé par org dans POST /api/security/domains - Ajouter des résumés, des documents, un signe aux pseudonymes standard; supprimer les pseudonymes hérités - Mise à jour des crans de vérification pour suivre les CNAME requis ou les CNAME facultatifs, auto-déclencheur les graines HTTP dans les bûches de Traefik lorsque tous les CNAME requis sont vérifiés, et Sonde HTTPS pour confirmation SSL (marques sslConfirmées sur le domaine parent) - Ajouter les méthodes SslProbeService avec triggerHttpSeed() et sonhTttps() - Expose domainSetupComplete par org dans GET /api/security/org/my-networks
· InitializerService
Ajouter ssl-confirmé et ssl-confirmed-at colonnes à org-domains
Ajoute des instructions idémpotentes de la TABLE ALTER pour fournir les deux nouvelles colonnes nécessaire pour le suivi de confirmation SSL de configuration DNS.
· kamo-shared-library
Ajouter sslConfirmed/sslConfirmedAt champs à OrgDomain et DomainDTO
Ajoute deux nouveaux champs à l'entité OrgDomain et à DomainDTO pour suivre SSL état de confirmation du certificat après les problèmes de service d'auto-cert un certificat. Ajout également d'une aide setSslConfirmed() à DomainService.
· kamo-marketing
Supprimer la censure du journal de change côté client et maintenant gérée par backend
Le remplacement du mot et la rédaction secrète sont passés à ChangelogSanitizationService (SecurityService) donc l'assainissement se produit avant le stockage et la traduction du DB. Le front-end n'a plus besoin de toucher le texte.
· SecurityService
Déplacer le remplacement du mot changelog vers le backend avant traduction
Remplacement de texte (Docs-Docs, Meet-Meet, etc.) et nom secret redaction (K8s noms secrets) ont été précédemment appliqués côté client dans ChangelogClient.tsx, ce qui signifie que les termes sensibles bruts ont été stockés dans le et transmis au service de traduction - ainsi traduits pourrait exposer les noms internes dans d'autres langues. Les deux listes sont maintenant appliquées dans ChangelogSanitizationService avant l'engagement. Suspendre le texte() couvre les titres; les désinfectes() couvrent les descriptions (les rubans fonctionnent en premier, puis remplacentText). Le frontend n'a plus besoin de censurer.
· kamo-internal
Remplacer la bascule supplémentaire de stockage par le curseur de quantité
Le stockage supplémentaire est basé sur l'utilisation (bloc de 4/25GB), pas un simple on/off. en association. Remplacé l'interrupteur à bascule par un curseur (0-1000GB en 25 Go pas) plus un champ d'entrée numérique. La ventilation des coûts indique désormais le stockage sous la forme d'un une rubrique distincte. PlanSelection comprend AdditionalStorageGB pour le back-end pour mettre en place une facturation mesurée en conséquence.
· kamo-internal
Wire BillingManager et RelationshipManager à de vrais backends
BillingManager (onglet de facturation des comptes): - Remplaçant 100 % de maquettes locales par le mode de paiement réel soutenu par la rayure gestion via facturationApi - Charge les méthodes de paiement de GET/api/facturation/méthodes de paiement sur le support - Ajouter les utilisations des flux de mode de paiement createSetupIntent et StripeProvider PaiementMéthodForm et confirmationCardSetup et attachPaymentMethod (identique flux vers PlansBillingTab) - Fixer la valeur par défaut par l'intermédiaire d'un œil optimiste Icône d'étoile et spinner en vol par rangée - Supprimer par le biais de billingApi.deletePaymentMethod with ConfirmationDialog; La suppression de la carte par défaut est bloquée avec l'infoille - Icônes de marque de la carte (Visa/Mastercard/Amex/Décoloration) présentées à partir des valeurs existantes Axes SVG; remplacement générique de l'icône de la carte de crédit pour les marques inconnues - Chargement en squelette, erreur par section avec réessai, retour d'en-casque RelationshipManager (onglet relations de compte): - Récomposé de l'état local vide par GET/api/security/org/my-networks - Classifie les réseaux: est propriétaire-faux réseaux de parents (enorgte l'utilisateur) appartient à), estOwner-true et Child Networks (parl. l'utilisateur gère) - Montre les initiales d'Avatar, le titre d'org, la méta de type/domaine de domaine et la puce de rôle - Liens d'action de profil vers le domaine d'organisation lorsqu'ils sont disponibles - Droit d'accès à l'action désactivée avec infobulle (géré par org admin) - Les puces de synthèse montrent des comptes parents/enfants en direct - Ajouter/supprimer est intentionnellement en lecture seule; info alerte directement vers Network page pour la gestion des relations (il n'existe pas de critère d'évaluation du RCUD d'arrière-plan)
· KlusterServices
Restaurer le bergamot avec des sources de modèles de travail et une image correcte
- répliques: 1 - Init container (alpine) : télécharge 4 paires à partir de data.statmt.org (tar-balles) pour enes/enfr/ende/enf/enpl) et 2 de firefox-translations-modèles GitHub LFS (fichiers .gz individuels pour enru/enar) - Image: mozilla/traduction-service (serveur HTTP approprié, était la bibliothèque WASM) - Port : 8080 via PORT env var (par défaut de service à 8000) - Sondes de santé : socket TCP (le service n'a pas de critère d'évaluation HTTP/santé) - Reste à 7 localités (pt/it/uk/tr/ro/id/vi) jusqu'à LibreTranslate
· kamo-internal
Remplacer la page des statistiques simulées par le tableau de bord d'abonnement KamoCRM en direct
Reconstruit/réglature/compte?tab-stats en un aperçu entièrement câblé et en lecture seule tableau de bord. Remplace toutes les simulacres de données par des appels parallèles vers BillingService via le client actuel de FacturationApi. Présentation : - Top 2-col grille: carte d'ensemble du plan (nom de plan, badge d'état, nombre de sièges, cycle de facturation, période, annulation d'avertissement, liste de caractéristiques) Carte (montant de la facture, prix unitaire, add-ons actifs, solde créditeur, paiement méthode en dernier lieu 4) - Section d'utilisation pleine largeur: cartes de progression par mètre (courriels envoyés, courrier électronique) stockage, stockage de fichiers, documents) avec des barres de progression codées en couleur dérivées à partir des limites de caractéristiques du plan: vert/d'avertissement/reur à 70 %/90% Tableau Historique des communications en toute largeur: numéro de facture, période, puce d'état, sous-total/taxe/total, lien de téléchargement PDF; jusqu'à 20 factures les plus récentes Données: getCurrent Subscription, getAvailablePlans, getCurrentUsage, getInvoices, getCreditBalance, getPaymentMethods et tous via Promise.allSettled de sorte que chaque section se dégrade indépendamment sur l'erreur. Chargeurs à squelette MUI par section en train de chercher.
· kamo-internal
Choisir un flux de fin de plan
- Système de diagnostic de PlansBillingTab (remplace l'espace réservé) - Relever les plans disponibles à partir de l'API de facturation sur le chargement des pages - Présentation du plan de manipulation : création d'un nouvel abonnement ou mise à jour existante - Exiger un mode de paiement avant l'adhésion (redirects pour ajouter le paiement) - Indiquer l'état de chargement avec le message de traitement Stripe pendant la soumission - Passer le contexte du plan (plan actuel, cycle, sièges, additionneurs) à la calculatrice - Fixer PaiementMéthodForm pour accepter le clientSecret comme support au lieu de Accès aux composants internes Stripe Elements
· kamo-internal
Plans de cachette et onglet pour root KamoCRM org
Les propriétaires d'organisations de KamoCRM ont tout ce qui est en l'état, ils devraient Ne voyez jamais l'onglet Facturation. L'onglet n'est maintenant rendu que conditionnellement pour les organisations d'enfants (lorsque l'organisation.haiParent est vraie). Enfant les propriétaires d'organisations voient leur facture; les membres voient la facturation sur la base de la la prise en charge des délégations.
· SecurityService
Ajouter BillingService pour changer log-projets publics
· kamo-internal
Intégrer le système de facturation Stripe sur l'ensemble de la plateforme
- Nouveau client de facturationApi.ts avec des types de TypeScript complets pour toute facturation les points d'extrémité (abonnements, méthodes de paiement, factures, crédits, utilisation, config, administrateur) - Nouveaux éléments à rayures : StripeProvider, PaymentMethodForm, PlanCalculateur avec ventilation complète des coûts, remises sur le volume et groupés - Réécrire PlansBillingTab avec une intégration réelle de Stripe: gestion du plan, Méthodes de paiement, historique des factures, solde du crédit, l'utilisation des compteurs, la prise de la délégation de facturation, le statut de facturation des membres de l'équipe - Mise à jour des fonctionnalitésManager avec un portage basé sur le plan: verrouiller les icônes et la mise à niveau CTA pour les fonctionnalités non incluses dans le plan d'abonnement actuel - Supprimer l'onglet de facturation des paramètres du compte (déplacé à la page des membres) - Installer la rayure/stripe-js et la rayure/rayure-tripe-js
· BillingService
Service initial de facturation intégrée à la bande de Gaza pour KamoCRM
Service complet de démarrage de printemps pour la gestion de la facturation KamoCRM via Stripe: - rayé client, abonnement, méthode de paiement, gestion du cycle de vie des factures - Système de crédit avec vérification du grand livre (Stripe Customer Balance) - Compteur d'utilisation pour KamoMail et DocManager (synchron synchronisée par rayé) - Délégation de facturation (ORG-PAYS-ALL/MEMBRES-PAY-OWN) - Application de la délinquance configurable (SOFT-LOCK, HARD-LOCK, PROPRIÉTÉ-FALLBACK) - Traitement par rayures pour la synchronisation de l'état en temps réel - Prix rayé/auto-création du produit du catalogue d'abonnement - Full REST API: clients, abonnements, méthodes de paiement, factures, crédits, utilisation, configuration, critères d'évaluation de l'administration - Manifestations de déploiement de K8s - Forgejo IC/Chappe CD - Service uniquement interne (pas d'IngressRoute), accessible via la passerelle APIService
· APIService
Ajouter Stripe Webhook forwarding and Facting API route route
- POST /api/billing/webhooks/stripe reçoit des rubans et des crochets à rayures à BillingService avec tête de rayure conservée - /api/bille/tracage/-gateway routes proxy appels de facturation authentifiées API à BillingService par l'intermédiaire du mécanisme forward() existant - Ajout de la configuration facting.service.url et stripe.webhook.secret - Ajout d'une référence secrète à rayures-jcrochets à coviraux k8s
· InitializerService
Ajouter l'initialisation de la configuration de facturation à KamoCRMPricingLoader
Semence un BillingConfig par défaut (ORG-PAYS-ALL, SOFT-LOCK, grâce de 7 jours) pour l'organisation KamoCRM lors du démarrage de la chargeuse de tarification. Appuis le nouveau système de facturation Stripe.
· kamo-shared-library
Ajouter des entités de facturation et des référentiels pour l'intégration de Stripe
Nouveau paquet - avec 9 entités (BillingCustomer, Billing Subscription, BillingPaymentMethod, Facture, BillingCredit, BillingCreditLedger, BillingConfig, BillingUsageSnapshot, BillingStripePriceMapping) et 9 correspondants Repositories de l'APP. Ces entités reflètent l'état de Stripe localement pour un nouveau système de facturation KamoCRM.
· kamo-marketing
Ajouter/calculateur et /prix/offre à toutes les feuilles de site; i18n étiquettes de sitemap HTML
- app/sitemap.ts: ajouter /pricing/offer et /calculateur entrées avec des alternatives locales - app/api/sitemap/route.ts : ajouter Calculateur de prix et entrées d'offres spéciales - SitemapClient.tsx : déplacer les sections statiques à l'intérieur du composant avec t() pour toutes les étiquettes/descriptions; Ajouter le lien Calculateur sous la rubrique Produit - messages/en.json: ajouter 38 nouvelles clés de lien de sitemap
· kamo-marketing
Extraire complètement les chaînes corporelles restantes du produit, blog, prix, démonstration, contact, calculatrice
· kamo-marketing
Extraire complètement des cordes corporelles à partir de caractéristiques, à propos, à la maison

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise