コンテンツへ移動
KAMOUniverse

チェンジログ

何が新しいの?

プラットフォームのすべての改良 それが出荷される

  1. · SecurityService

    Add AccountSettingsController + Service for phone + security questions (SP3)

    Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).

  2. · SecurityService

    Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)

    Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPService SMS.

  3. · VOIPService

    Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)

  4. · kamo-shared-library

    リカバリーエンティティティ + リポジトリを追加します。1.3.0(SP3)にバンプ

    パスワードリセットトークンを追加, SmsOtp, RecoverySession, AccountVerificationCode SP3の回復の流れのための対応するリポジトリを持つJPAの組織.

  5. · kamo-shared-library

    Add SecurityQuestionCatalog enum + sq1/2/3 + seedPhraseHashをユーザーに(SP3)

  6. · InitializerService

    Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner

  7. · kamo-internal

    ブラウザのバックエンド・レンダリング・モーダル(SP2)によるルートプレビュー

    EmailTemplateBrowser は、プレビューモジュールを直接所有しているので、 管理者は行レベルのプレビューリクエストを傍受する必要はありません。 編集モードにリダイレクトします.

  8. · kamo-internal

    実際の API への HTTP 電子メールTemplateEdit

    TemplateApi.get から水素化し、templateApi.update 経由で保存します。 カテゴリー dropdown は、インラインのカテゴリ作成の手頃な価格の API 主導です。 変数 picker は変数Contracts.ts (REQUIRED の宣言契約) から読み込みます。 テンプレートキー; CUSTOM の共通セット。 REQUIRED/システム列編集 適切な警告バナーが表示されます。 プレビューボタンが開きます バックエンドレンダリングされたメールTemplatePreview モーダル。 SP2の一部.

  9. · kamo-internal

    Wire EmailTemplateBrowser を API に + System Defaults タブを追加する

    TemplateApi.list() 呼び出しでモックデータの~140行を置き換えます。 コンテンツ 5番目のタブ「システムデフォルト」は、トップレベルの管理とレンダリングのみ表示されます response.systemTemplates から カテゴリApi.list() から入力されたカテゴリフィルタ。 すべての行アクション **************************** リアルにヒット バックエンドエンドポイント。 handleApiError のトーストヘルパーを介したエラー。 SP2の一部.

  10. · kamo-internal

    Add EmailTemplateDuplicateDialog(SP2の一部)

  11. · kamo-internal

    メールを追加するTemplateCategoryManager modal (SP2)

  12. · kamo-internal

    メールを追加するTemplatePreview modal

    行アクションプレビューで開きます。 templateApi.preview(); でバックエンドレンダリング スタイル分離のためのサンドボックスされたiframeに表示された結果。 マッチする 使用を送る正確なコードパスなので、プレビューは受信者の受信者です。 SP2の一部.

  13. · kamo-internal

    TemplateApi +カテゴリApi +変数Contracts クライアントモジュールを追加

    SP1の/api/email/templates/*および************************を包みます 型付きTypeScriptヘルパーでエンドポイント。 変数ContractsはSP1のミラーを映します TemplateKeys Javadoc なので、エディタの変数ピッカーが宣言されている REQUIREDテンプレートの契約 SP2の一部.

  14. · SecurityService

    Wire EmailTemplateSeedClient into ****************

    Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws OrgProvisioningException and rolls back the surrounding @Transactional so the org + owner-TeamMember save is undone (per SP1 spec). Mirrors the existing TranslateServiceClient X-Internal-Auth pattern. k8s/configmap.yaml adds: email.service.url (EmailService internal URL) internal.auth.secret (cluster-wide X-Internal-Auth header value) pom.xml bumps kamo-shared-library 1.1.0 → 1.2.0. Part of SP1.

  15. · EmailService

    Add EmailTemplateCategoryController REST endpoints

    **************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Session context read via the same **************** pattern as other EmailService controllers. Part of SP1.

  16. · EmailService

    Add EmailTemplateController REST endpoints + DTOs

    Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) additionally see systemTemplates in the list response. Service-to-service endpoints are protected by the existing InternalAuthFilter. Session context (orgID, memberID) read from OTKPreAuthFilter's REQ_ATTR_SESSION attribute — the same pattern already used by AliasController / MailboxController. Part of SP1.

  17. · EmailService

    サービスツーサービスエンドポイントに内部AuthFilter を追加

    /api/email/templates/send の X-Internal-Auth ヘッダーを有効化し、 /api/email/templates/seed-org/* パス。 他のパスはこのフィルターをバイパスします (ユーザセッションのauthはそれらを処理します)。 シークレットはINTERNAL AUTH SECRETから来ています env var。 また、transactional.smtp.user / transactional.smtp.passを追加します。 emailTemplateService で消費されるコンフィグのスタブ — 3 つはソースされます 生産の k8s configmap から。 SP1の部分.

  18. · EmailService

    メールを追加するテンプレートカテゴリのCRUD

    サービスのレイヤーで強制される org ごとのケースインセンティブな名前の独自性 (DBの部分的なユニークなインデックスにマッチ) 削除 nulls カテゴリ id カテゴリ行を削除する前に影響を受けるテンプレート。 SP1の部分.

  19. · EmailService

    Add EmailTemplateService — CRUD + シード + デフォルトへのリセット

    トランザクションメールのコアオーケストレーター。 sendToUser はテンプレートを解決します。 対象となる/body をレンダーし、組織から org のプライマリドメインを選択します。 ドメイン, そして、電子メールSmtpService に noReply@{org.domain} を from-address として渡して下さい。 seedForOrg は、新しいライフサイクルのホックと resetToDefault に含まれています。 システム行のコンテンツを1列のREQUIRED行にコピーします。 send の Auth は、クラスター全体トランザクション SMTP サービス認証情報を使用します。 (transactional.smtp.user/transactional.smtp.pass) はパーメンバーではなく プロバイダーのリゾルバ — トランザクションの送信には、アクティベーションメンバーがありません。 SP1の部分.

  20. · EmailService

    NoReplySenderService を 'NoReply@{domain}' のアドレスから追加

    アドレスからトランザクション電子メールのための真理の単一ソース。 受け入れる ドメイン文字列、小文字を正規化し、「NoReply@<domain>」を返します。 発信者は、org のドメインを解決しなければなりません(Organization.domains の検索または 同様に)それを渡して下さい。 SP1の部分.

  21. · EmailService

    {{var}} 置換用の TemplateRenderer を追加

    Stateless regex ベースのレンダラー。 vars が空の文字列を置換し、 属性のテンプレートキー + orgId で WARN ログを出力します。 HTMLエスケープなし v1 — 値がサーバー制御です。 SP1の部分.

  22. · InitializerService

    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 per-org rows for every org that doesn't yet have them. Idempotent — safe to re-run on every startup. Part of SP1.

  23. · InitializerService

    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 after Hibernate creates the base tables from the new entities. Part of SP1.

  24. · kamo-shared-library

    CanonicalTemplateLoader + CanonicalTemplateレコードを追加

    3つのREQUIREDテンプレート(WELCOME, PASSWORD RESET)を読みます。 EMAIL VERIFICATION のクラスパスリソースから メニュー によって消費される KamoInitializerシステム・ロー・シード向けサービス SP1の部分.

  25. · kamo-shared-library

    WELCOME、PASSWORD RESET、EMAIL VERIFICATION 用のcanonical HTML + JSONを追加

    システム行のソース・オブ・ツルスコンテンツ。 KamoInitializerServiceでロード CanonicalTemplateLoader と UPSERTed の起動をメール templates に送信します。 SP1の部分.

  26. · kamo-shared-library

    メールテンプレートのエンティティティ + リポジトリを追加

    テンプレートごとの1つのシステム列を格納 key(org id NULL, is system TRUE)プラス template key ごとの org ごとの 1 つのクローン。 ソフトリファレンス org id/category id. データベース ドライブタイムスタンプ、ボディブロックやタグのJSONB。 リポジトリは提供します org-scopedルックアップ、原子使用カウンター増分、カテゴリ削除 nullifyCategoryForOrg によるクリーンアップ。 SP1の部分.

  27. · kamo-shared-library

    EmailTemplateCategory 実体 + リポジトリを追加

    電子メールテンプレートのOrg-scopedカテゴリ。 ソフトBIGINT org id(FKなし) 既存のパターンにマッチします。 ケース・インセンティブ・ネーム・パー・オーガニゼーション KamoInitializerService に追加された部分インデックス経由で強制されます。 SP1の部分.

  28. · kamo-shared-library

    Add TemplateStatus enum + TemplateKeys 取引テンプレートの定数

    REQUIRED/CUSTOM/ARCHIVED のライフサイクル状態と 3 を宣言 必要なテンプレートキー(WELCOME、PASSWORD RESET、EMAIL VERIFICATION)。 各 REQUIRED テンプレートの変数契約は、Javadoc として記述されています。 定数クラス、SP3、SP4 の呼び出し側はこれらを参照します。 SP1の部分.

  29. · InitializerService

    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 KamoCRMAgeReqUpdateRunner which handles existing deployments via a conditional UPDATE. Completes SP5.

  30. · InitializerService

    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 — startup must not block on this non-critical migration. Part of SP5. Pairs with the DataLoader edit in the next commit that makes fresh installs seed the new value directly.

君の宇宙は待ってる

数分で無料で開始できます。準備ができたらいつでも製品を追加できます。移行も新しいログインも不要です。

クレジットカード不要