# Dapr v1.19.0

> Orchestration & Management · 2026-10-22

ワークフロー、アクター、ストレージ、メッセージング、可観測性、スケジューラーによる配置の機能が加わり、性能と正確性も改善されています。既定値の変更や互換性要件、デプロイ時の制約、セキュリティ修正を含むため、アップグレードでは事前の確認と計画が必要です。

## 要対応
- **[breaking]** メトリクスサーバーの許可メソッド応答が変更されました
  - メトリクスサーバーは、POST、PUT、PATCH、DELETEに対して405を返し、`Allow: GET, HEAD`を応答するようになりました。

## 影響確認
- **[breaking]** サイドカー更新後の有効化が必要です
  - すべてのサイドカーが1.19以降で稼働する前に有効化する場合に該当します。
  - 有効化する前に、すべてのサイドカーを1.19以降へ更新する必要があります。
- **[breaking]** 配置用チャートの設定要件が追加されました
  - `global.scheduler.enabled`、`global.actors.enabled`、`global.actors.serviceName`を設定する場合に該当します。
  - チャートは、`global.scheduler.enabled`、`global.actors.enabled`、`global.actors.serviceName=placement`を設定しないとレンダリングされません。
- **[breaking]** カスタムRBACにScheduler用権限が必要です
  - カスタムRBACを使用する場合に該当します。
  - カスタムRBACを使用する場合は、1.19へ更新する前に`dapr-scheduler-pods`用の権限を追加する必要があります。
- **[breaking]** Schedulerによる配置の更新順序が定められました
  - すべてのサイドカーを1.19以降へ先に更新せずにコントロールプレーンを更新する場合、または更新後にアプリケーションを再起動しない場合に該当します。
  - `global.scheduler.placement.enabled`を使用する場合、すべてのサイドカーを1.19以降へ先に更新し、コントロールプレーンの更新後にアプリケーションを再起動する必要があります。
- **[breaking]** `Sentry`のロールバック先が制限されました
  - 1.19から1.17.6以前へ直接ロールバックする場合に該当します。
  - 1.19から1.17.6以前へ直接ロールバックすることはできません。安全なロールバック先は1.18.xです。
- **[breaking]** `WorkflowAccessPolicy`のダウングレード時に`requires`の調整が必要です
  - `WorkflowAccessPolicy`で`requires`を使用する場合に該当します。
  - 1.18のコントロールプレーンとサイドカーは`requires`フィールドを認識せず、ゲートなしでルールを適用します。ダウングレード前に、`requires`を含むルールを削除するか範囲を狭める必要があります。
- **[breaking]** `WorkflowAccessPolicy` CRD適用前の`requires`の扱いが変わりました
  - 1.19の`WorkflowAccessPolicy` CRDを適用しておらず、`requires`を使用する場合に該当します。
  - 1.19の`WorkflowAccessPolicy` CRDを適用するまで、APIサーバーは新しい`requires`フィールドを破棄します。そのため、`requires`を含むルールはそのゲートなしで適用されます。
- **[breaking]** `Scheduler`用のPod参照権限が追加されました
  - `Scheduler`をデプロイする場合に該当します。
  - チャートはDapr名前空間に`dapr-scheduler-pods`のRoleとRoleBindingを追加します。これらにより、`Scheduler`は`pods`に対して`get`、`list`、`watch`を実行できます。
- **[breaking]** etcdコンパクション保持数の既定値が変更されました
  - `--etcd-compaction-retention`と`dapr_scheduler.etcdCompactionRetention`のどちらも設定していない場合に該当します。
  - `--etcd-compaction-retention`フラグとHelm値`dapr_scheduler.etcdCompactionRetention`の既定保持数が、どちらも`1000000`から`10000`に下がりました。
- **[breaking]** 所有外アクターへのタイマー操作が失敗するようになりました
  - アクターを所有していないサイドカーでタイマー操作を使用する場合に該当します。
  - 所有していないアクターに対するタイマー操作は、そのアクターを所有しないサイドカーで失敗するようになりました。
- **[breaking]** 通常のAMQP URLでTLS設定が拒否されます
  - 通常の`amqp://` URLに`caCert`、`clientCert`、または`clientKey`を設定する場合に該当します。
  - 通常の`amqp://` URLに設定したTLS設定（`caCert`、`clientCert`、`clientKey`）は、コンポーネントの初期化時に拒否されます。
- **[breaking]** サービス呼び出しメソッドの不正なエンコードが拒否されます
  - `%2F`、`%5C`、`%2E`、またはリテラルの`\\`を含むサービス呼び出しメソッドを使用する場合に該当します。
  - `%2F`、`%5C`、`%2E`（大文字小文字を問いません）、またはリテラルの`\\`を含むメソッドは、アクセス制御の確認前に失敗するようになりました。
- **[breaking]** 内部アクタータイプの呼び出しが拒否されます
  - `dapr.internal.*`アクタータイプに対して、gRPCの`InvokeActor`またはHTTPの`/v1.0/actors/{type}/{id}/method/{method}`でアクターを呼び出す場合に該当します。
  - gRPCの`InvokeActor`とHTTPの`/v1.0/actors/{type}/{id}/method/{method}`は、すべての`dapr.internal.*`アクタータイプを拒否するようになりました。
- **[breaking]** `GetConfiguration`の参照範囲がアノテーションで指定されます
  - 呼び出し元アプリケーションのいずれかのPodに`dapr.io/config`アノテーションを付けて`GetConfiguration`を使用する場合に該当します。
  - `GetConfiguration`は、呼び出し元アプリケーションのいずれかのPodにある`dapr.io/config`アノテーションで指定された設定だけを返します。該当するアノテーションがなければ`PermissionDenied`を返します。
- **[breaking]** タイムゾーン付き`@every`スケジュールが拒否されます
  - タイムゾーン付きの`@every`スケジュールを使用する場合に該当します。
  - タイムゾーンを指定した`@every`スケジュールは、解析時に`timezone is not supported for @every schedules`というエラーで失敗するようになりました。

## その他の記録された変更
- 83 (added 45, value_changed 23, defect_corrected 9, default_changed 3, constraint_changed 2, removed 1)

[分析の詳細](https://ratatosk.io/ja/releases/dapr/v1.19.0)

[元のリリースノート](https://github.com/dapr/dapr/releases/tag/v1.19.0)
