RATATOSKRATATOSK
로그인

릴리즈

CNCF graduated·incubating 프로젝트 릴리즈 노트의 AI 분석.

프로젝트: Dapr해제 ×

Dapr

Orchestration & Management2026년 6월 16일

Dapr v1.18.1은 워크플로우 엔진 버그 수정에 집중된 패치 릴리스로, 타이머 리마인더 누수, 설정 리로드 후 사이드카 불능 상태, 워크플로우 영구 중단 등 5가지 문제를 수정합니다.

  • breakingHelm 설치 사용자: 워크플로우 동시성 제한이 이전까지 무시됐습니다

    Helm으로 Dapr을 설치하면서 Configuration 리소스에 globalMaxConcurrentWorkflowInvocations, globalMaxConcurrentActivityInvocations 또는 per-name 제한 필드를 설정했다면, 해당 설정이 실제로는 적용되지 않았습니다. 1.18.1로 업그레이드하면 CRD 스키마가 올바르게 수정되어 제한이 실제로 적용되기 시작합니다. 값이 지나치게 보수적으로 설정돼 있으면 처리량이 갑자기 줄어들 수 있으므로, 프로덕션 업그레이드 전에 설정값을 반드시 검토하세요.

  • enhancement에이전트형·루프 워크플로우를 운영한다면 업그레이드 필수

    이번 릴리스에서 수정된 버그 3개가 ContinueAsNew 루프나 동일 이벤트 이름을 반복 대기하는 패턴에 직접 영향을 줍니다. 이런 패턴은 에이전트형 워크플로우에서 흔히 쓰입니다. 리마인더 누수는 워크플로우 수명 동안 계속 쌓이고, ContinueAsNew 교착 상태는 타임아웃 없이 영구 중단을 유발합니다. 루프 워크플로우가 RUNNING에서 멈추거나 이유 없이 깨어나는 현상이 관측된다면 1.18.1로 업그레이드하세요.

  • enhancement워크플로우 사이드카의 설정 핫 리로드가 이제 정상 동작합니다

    이 수정 이전에는 워크플로우 워커를 호스팅하는 사이드카에서 SIGHUP으로 설정 리로드를 수행하면 사이드카가 영구적으로 망가질 수 있었습니다 — 포트 50001이 연결을 거부하고 파드를 재시작하는 것 외에 복구 방법이 없었습니다. 워크플로우를 호스팅하는 배포에서 설정 핫 리로드를 사용한다면 1.18.1 업그레이드를 필수로 처리하세요.

주요 변경 (5)
  • 동일한 외부 이벤트 이름을 루프에서 반복 대기할 때 타이머 리마인더가 누수되던 문제 수정
  • 설정 핫 리로드(SIGHUP) 시 워크플로우 사이드카가 영구적으로 불능 상태에 빠지던 문제 수정 — 스트리밍 워커가 종료 시 정상적으로 닫힘
  • 실제 변경이 없는 Kubernetes 오퍼레이터 리싱크 이벤트에 사이드카가 불필요하게 재시작하던 문제 수정
  • ContinueAsNew 경계를 넘어 완료된 차일드 워크플로우 때문에 부모 워크플로우가 RUNNING 상태로 영구 중단되던 문제 수정
  • Helm 차트의 Configuration CRD에 v1.18.0에서 추가된 워크플로우/액티비티 동시성 제한 필드 누락 수정
원문

Dapr

Orchestration & Management2026년 6월 15일

Dapr 1.17.10은 pubsub publish 작업에서 resiliency retry policy의 `matching` 규칙이 무시되던 버그를 수정합니다. pubsub와 resiliency retry를 함께 사용 중이면 업그레이드해 의도한 재시도 동작을 강제하세요.

  • breakingPubsub publish 오류의 재시도 동작 변경

    pubsub outbound retry 대상으로 `matching` 규칙이 있는 resiliency policy를 설정했다면, publish 오류가 올바르게 분류되어 terminal 오류(예: 401 Unauthorized, 404 Not Found)는 더 이상 maxRetries를 소진하지 않고 즉시 멈춥니다. resiliency 정책 설정을 검토하세요. 기존 동작(항상 publish 재시도)에 의존했다면 retry policy를 조정하거나 `matching` 제약을 제거하세요.

  • enhancementPubsub에 resiliency policy 의도 강제 적용

    pubsub publish 대상으로 명시적인 `matching` 코드를 가진 resiliency policy를 설정했다면 1.17.10으로 업그레이드하세요. 정책이 의도한 대로 작동합니다. Service invocation, output binding 등 다른 작업과 같은 수준으로 pubsub publish가 retry `matching`을 존중하게 됩니다. 코드 변경은 불필요하며 투명한 수정입니다.

주요 변경 (3)
  • Pubsub Publish와 BulkPublish 작업에서 resiliency retry `matching` (httpStatusCodes/gRPCStatusCodes)이 이제 적용됨
  • Publish 오류가 gRPC status를 포함하면 resiliency.CodeError로 감싸져 다른 policy runner와 같은 동작 수행
  • Terminal pubsub 오류(유효하지 않은 topic, 권한 거부)가 maxRetries를 모두 소진하지 않고 즉시 실패하도록 변경
원문

Dapr

Orchestration & Management2026년 6월 15일

Dapr 1.16.16은 1.18→1.16 다운그레이드 후 발생하는 Sentry 인증서 서명 실패와 Helm StatefulSet 스토리지 충돌 두 가지 버그를 수정합니다.

  • breaking1.16.16으로 다운그레이드할 때 Helm 플래그를 반드시 확인하세요

    helm upgrade 시 --reset-values를 사용하고 원래 설치 때 넣었던 값을 명시적으로 다시 전달하세요. --reuse-values는 절대 사용하지 마세요. 1.17/1.18 차트의 computed default가 그대로 넘어오는데, 특히 placement의 disseminateTimeout=8s가 1.16 바이너리에서 허용 범위(1s~3s)를 벗어나 시작 시 실패합니다. 스케줄러 StatefulSet을 미리 삭제하지 않은 경우, --set dapr_scheduler.cluster.storageSize=<현재 값>을 추가하거나 --cascade=orphan으로 StatefulSet을 삭제한 뒤 진행하세요.

  • breaking1.18에서 1.16으로 롤백한 클러스터는 Sentry 크래시를 겪고 있을 가능성이 높습니다

    Dapr 1.18에서 1.16.x 초기 버전으로 롤백했다면, trust bundle의 Ed25519 키와 ECDSA CSR 타입 불일치로 Sentry가 시작 시 크래시되고 있을 겁니다. 1.16.16으로 업그레이드하면 해결되며, 인증서를 수동으로 교체할 필요는 없습니다.

주요 변경 (4)
  • 신뢰 번들이 신버전(Ed25519)으로 생성된 경우에도 Sentry가 ECDSA CSR을 정상적으로 서명하도록 수정
  • 인증서 템플릿에서 CSR의 SignatureAlgorithm을 복사하던 로직 제거 — 이제 Go x509 라이브러리가 발급자 키에서 알고리즘을 자동 추론
  • Helm 차트에 storageSize 템플릿 헬퍼를 백포팅하여, 다운그레이드 시 실제 StatefulSet 값을 읽어 immutable 필드 충돌 방지
  • 신규 설치는 기존과 동일하게 .Values.cluster.storageSize(기본 1Gi)로 폴백
원문

Dapr

Orchestration & Management2026년 6월 11일

Dapr 1.16.15는 발급자 키가 Ed25519 또는 RSA일 때 dapr-sentry가 기동 직후 crash-loop에 빠지는 버그를 수정합니다. 1.18에서 다운그레이드했거나 발급자 키를 교체한 경우 즉시 확인이 필요합니다.

  • breaking1.18 다운그레이드 또는 발급자 키 교체 환경은 1.16.15로 업그레이드하세요

    1.18에서 1.16으로 다운그레이드하면 dapr-trust-bundle 시크릿에 Ed25519 발급자 키가 그대로 남습니다. 이 상태에서 dapr-sentry는 crash-loop에 빠지고 새로운 mTLS 인증서 발급이 전면 중단됩니다. 기존 사이드카는 인증서가 만료되기 전까지는 동작하지만, 파드 재시작이나 인증서 만료 시점에 identity 취득에 실패합니다. 1.16.15로 즉시 업그레이드하세요. 당장 업그레이드가 어렵다면, dapr-trust-bundle의 발급자 키를 ECDSA P-256으로 교체하는 방법이 유일한 임시 해결책입니다.

주요 변경 (5)
  • dapr-trust-bundle에 Ed25519 또는 RSA 발급자 키가 있으면 dapr-sentry가 'unsupported key type' 오류로 기동 실패
  • 원인: dapr/kit의 EncodePrivateKey가 *ecdsa.PrivateKey와 포인터형 *ed25519.PrivateKey만 처리하고, 값 타입 ed25519.PrivateKey와 RSA는 누락
  • 수정: dapr/kit v0.16.3에서 세 가지 키 타입 모두 PKCS#8로 정상 처리하도록 개선
  • 1.18에서 1.16으로 다운그레이드한 클러스터, 또는 발급자 키를 Ed25519/RSA로 교체한 1.16 배포 환경이 영향권
  • sentry가 crash-loop 중이어도 인증서가 아직 유효한 사이드카는 동작하지만, 새로 뜨거나 인증서가 만료된 사이드카는 ID 발급 실패
원문

Dapr

Orchestration & Management2026년 6월 10일

Dapr 1.18은 워크플로우 보안·내구성(변조 감지, 접근 정책, 히스토리 전파, 동시성 제한)을 크게 보강했습니다. Jobs API와 HotReload가 GA로 승격되었고, 업그레이드 전 반드시 검토해야 할 breaking change가 여럿 포함되어 있습니다.

  • security공유·멀티테넌트 클러스터에서 WorkflowAccessPolicy 적용 검토

    1.18 이전에는 같은 trust domain의 모든 호출자가 다른 앱의 워크플로우를 스케줄, 종료, 조회할 수 있었습니다. WorkflowAccessPolicy CRD로 이를 per-operation 수준에서 제한할 수 있습니다. 기본값은 여전히 전체 허용이라 기존 배포에 즉각적인 영향은 없지만, 공유 클러스터를 운영 중이라면 지금 정책을 정의해두는 편이 낫습니다. 또한 redis common 컴포넌트의 TLS 인증서 검증 무조건 건너뛰기 버그가 이번 릴리스에서 수정되었으니, 업그레이드 전 Redis TLS 설정이 올바른지 확인하세요.

  • breaking1.18에서 1.17.6 이하로 직접 롤백 금지

    Sentry 1.18은 Ed25519 키로 서명된 CA를 dapr-trust-bundle 시크릿에 기록합니다. 1.17.7 미만의 Sentry는 이 번들을 파싱하지 못해 크래시 루프에 빠지고, 신규 인증서 발급이 전면 중단됩니다. 업그레이드 전에 롤백 목표 버전이 1.17.7 이상인지 반드시 확인하세요. 1.17.7 미만으로 내려가야 한다면 1.17.7로 먼저 롤백해 안정화한 뒤 계속 진행하세요. 워크플로우 ID 재사용에 의존하는 코드도 함께 점검하세요 — 이제 conflict 에러를 반환합니다.

  • breaking서비스 호출 시 hop-by-hop 헤더 제거 — 앱 동작 점검 필요

    Connection, Keep-Alive, Transfer-Encoding 등 HTTP hop-by-hop 헤더가 서비스 호출 경로에서 RFC 7230에 따라 제거됩니다. 해당 헤더가 그대로 전달된다고 가정하는 앱은 조용히 깨질 수 있습니다. 업그레이드 전에 서비스 호출 코드를 검토하고, hop-by-hop에 의존하는 부분은 일반 헤더로 대체하세요.

  • enhancement감사 요건이 있는 워크플로우에 히스토리 서명 활성화 검토

    워크플로우 히스토리 서명은 opt-in이며 기본 비활성 상태입니다. mTLS가 활성화되어 있어야 사용할 수 있습니다. 클러스터 전체에 활성화하기 전에 서명 없이 실행 중인 워크플로우가 완료되거나 purge되도록 기다리세요 — 서명 없이 시작된 워크플로우에 서명을 활성화하면 하드 검증 에러가 발생하며 소급 적용은 불가합니다. 변조가 감지되면 해당 워크플로우는 DAPR_WORKFLOW_HISTORY_TAMPERED 에러와 함께 종료되고, 원본 상태는 포렌식 검토를 위해 보존됩니다. 컴플라이언스 요건이 있거나 멀티테넌트 워크플로우를 운영하는 환경에 적합합니다.

주요 변경 (7)
  • Sentry가 Ed25519 키로 전환 — 롤백 최저선은 1.17.7이며, 1.17.6 이하로 직접 롤백 시 Sentry가 크래시 루프에 빠짐
  • WorkflowAccessPolicy CRD 추가: 앱 간 워크플로우 작업을 per-operation allow-list로 제어 (정책 미설정 시 기본값은 전체 허용)
  • 워크플로우 히스토리 서명(opt-in) 추가: SPIFFE 인증서로 이벤트 배치를 체이닝 서명해 변조를 감지
  • HotReload GA 및 기본 활성화 — 컴포넌트, 구독, 설정 등 사이드카 재시작 없이 재로드
  • Jobs API 안정 버전 승격 — alpha RPC는 deprecated되나 동작은 유지됨, 앱 코드를 ScheduleJob/GetJob/DeleteJob으로 마이그레이션 필요
  • 워크플로우 ID 재사용 정책 변경: 이미 활성 인스턴스가 있는 ID로 새 워크플로우 생성 시 conflict 에러 반환 (기존의 묵시적 덮어쓰기 동작 제거)
  • Java SDK 최소 버전이 Java 17로 상향, Spring Boot 기준선이 3.5로 변경
원문

Dapr

Orchestration & Management2026년 6월 1일

v1.17.9는 Azure Cosmos DB를 워크플로 액터 상태 저장소로 사용할 때 customStatus 행이 없는 워크플로가 퍼지 루프에 영구적으로 갇히는 버그를 수정합니다.

  • breakingCosmos DB를 워크플로 상태 저장소로 쓴다면 즉시 업그레이드

    state.azure.cosmosdb를 워크플로 액터 상태 저장소로 사용하는 배포는 모두 영향권입니다. TTL이 지난 워크플로가 퍼지되지 않고, 스케줄러가 초당 한 번씩 퍼지를 계속 시도하면서 CPU를 낭비하고 로그를 오염시키며 dapr_runtime_workflow_operation_count{status=failed} 메트릭을 계속 올립니다. 1.17.9로 업그레이드 후 사이드카를 재시작하면, 멈춰 있던 워크플로는 다음 리텐션 리마인더 실행 시 자동으로 복구됩니다. 업그레이드 이후 별도 수동 조치는 불필요합니다.

  • enhancement업그레이드 전 메트릭으로 피해 규모 먼저 확인

    업그레이드 전에 dapr_runtime_workflow_operation_count를 operation=purge_workflow, status=failed 레이블로 조회해보세요. Cosmos DB 배포에서 이 값이 계속 증가하고 있다면 멈춰 있는 워크플로가 존재한다는 뜻입니다. 업그레이드 전후 수치를 비교하면 수정이 제대로 적용됐는지 명확히 검증할 수 있습니다.

주요 변경 (5)
  • Cosmos 트랜잭션 배치에 customStatus 삭제를 포함하기 전, 실제로 해당 행이 저장돼 있는지 여부를 추적하도록 수정
  • Cosmos DB에서 멈춰 있던 워크플로는 사이드카 업그레이드 후 자동 복구 — 수동으로 스케줄러 잡을 삭제할 필요 없음
  • 근본 원인: Cosmos DB의 원자적 배치 특성상 NotFound 삭제 하나가 실패하면 전체 트랜잭션이 롤백됨
  • 1초 간격의 무한 재시도 정책으로 인해 영향받은 워크플로당 메트릭과 로그가 초당 1회씩 계속 증가
  • customStatus 도입 이전 버전에서 업그레이드된 워크플로, 수동 정리된 워크플로, 초기 상태에서 진행되지 않은 워크플로 모두 해당
원문

Dapr

Orchestration & Management2026년 5월 28일

v1.17.8은 완료된 인스턴스 ID 재사용 시 워크플로우가 영구 stuck되는 버그와, Sentry OIDC discovery document가 X-Forwarded-Host로 오염될 수 있는 보안 취약점(CWE-346)을 수정합니다.

  • securityX-Forwarded-Host를 통한 OIDC discovery document 오염 취약점 조치

    Sentry OIDC 서버를 `--jwt-issuer`나 `--oidc-allowed-hosts` 없이 켜둔 배포는 CWE-346에 노출됩니다. 공격자가 `X-Forwarded-Host` 헤더를 조작한 요청 한 건만으로 discovery document를 오염시킬 수 있고, HTTP 캐시가 최대 1시간 동안 오염된 응답을 서빙할 수 있습니다. 즉시 업그레이드가 어렵다면 `--jwt-issuer`로 issuer를 고정하는 것이 가장 빠른 완화책입니다. 리버스 프록시의 공개 hostname을 `X-Forwarded-Host`로 전달하는 구성이라면 `--oidc-allowed-hosts`를 설정해야 해당 헤더가 계속 동작합니다.

  • breaking인스턴스 ID 재사용으로 stuck된 워크플로우 수정 — 업그레이드 필요

    결정적(deterministic) 인스턴스 ID를 재사용하는 워크플로우를 운영 중이라면 이 버그에 해당할 수 있습니다. 사이드카를 1.17.8로 올리면, 다음 retention reminder가 실행될 때 자동으로 복구되며 스케줄러에서 수동으로 job을 지울 필요가 없습니다. `dapr_runtime_workflow_operation_count{operation=purge_workflow,status=failed}` 메트릭이 워크플로우당 초당 1씩 올라가고 있다면 이 버그를 겪고 있는 겁니다.

주요 변경 (4)
  • 완료된 워크플로우의 retention reminder가 이제 무한 재시도 대신 조용히 드레인됨
  • 기존 1.17 배포에서 stuck된 워크플로우는 사이드카를 1.17.8로 올리면 자동 복구 — 수동 개입 불필요
  • `--oidc-allowed-hosts` 미설정 시 Sentry OIDC가 `X-Forwarded-Host` 헤더를 무시하도록 변경
  • allowlist 미설정 상태에서는 issuer와 jwks_uri를 `r.Host`에서만 도출
원문

Dapr

Orchestration & Management2026년 5월 15일

Dapr v1.17.7은 워크플로우 안정성, 메시징 정확성, 컨트롤 플레인 복원력을 겨냥한 집중적인 버그 수정 릴리스입니다. 워크플로우, Kafka, RabbitMQ를 운영 중이라면 즉시 업그레이드를 권장합니다.

  • security1.18에서 다운그레이드했거나 Ed25519/RSA 키를 사용 중이라면 Sentry를 즉시 업그레이드하세요

    dapr/kit의 타입 스위치 버그로 인해 Ed25519 및 RSA 발급자 키가 있을 때 Sentry가 'unsupported key type'으로 시작에 실패하고 크래시 루프에 빠집니다. Sentry가 크래시 루프 상태이면 mTLS 인증서 발급과 갱신이 모두 중단됩니다. 만료되지 않은 인증서를 가진 사이드카는 계속 동작하지만, 파드 재시작이나 인증서 만료 시 조용히 인증이 실패합니다. 트러스트 번들을 마이그레이션할 필요 없이 1.17.7로 업그레이드하는 것만으로 해결됩니다.

  • breaking스케줄러 etcd 컴팩션 모드 변경 — PVC 용량 점검 필수

    내장 etcd의 컴팩션 방식이 주기(10분) 기반에서 리비전(100만) 기반으로 바뀌고, 기본 스토리지 크기가 1Gi에서 16Gi로 늘어납니다. Kubernetes StatefulSet의 volumeClaimTemplates는 불변이라 기존 1Gi PVC는 자동으로 조정되지 않습니다. 워크플로우를 실제로 운영 중이라면 업그레이드 전에 현재 PVC 사용률을 확인하고, 용량이 부족하다면 클러스터에서 직접 PVC를 먼저 확장해야 합니다. Helm 차트는 기존 PVC 크기를 덮어쓰지 않도록 lookup 헬퍼를 사용하지만, 자동 확장은 하지 않습니다.

  • enhancement업그레이드 전 워크플로우 페이로드 크기 비율 대시보드를 미리 구성하세요

    새로 추가된 dapr_runtime_workflow_payload_size_ratio와 dapr_runtime_workflow_activity_payload_size_ratio 메트릭은 페이로드 크기를 --max-body-size 대비 비율로 표현합니다. 업그레이드 후 histogram_quantile(0.99, ...) > 0.9 조건으로 Prometheus 알림을 설정해두면, 워크플로우가 0.95 임계치에 걸려 Stall 상태가 되기 전에 미리 감지할 수 있습니다. 페이로드가 크거나 히스토리가 긴 워크플로우를 운영 중이라면 특히 유용합니다. --max-body-size가 명시적으로 설정된 경우에만 메트릭이 기록된다는 점도 참고하세요.

주요 변경 (7)
  • 워크플로우 상태 저장에 낙관적 동시성(ETag) 도입 — Placement 리밸런싱 중 히스토리 무결성 보장
  • Ed25519/RSA 발급자 키 사용 시 Sentry 크래시 루프 수정 — 1.18에서 다운그레이드했거나 키를 교체한 환경에서 치명적
  • Kafka 정상 종료 시 인플라이트 메시지를 드레인한 후 컨슈머 세션을 닫아 중복 처리 제거
  • RabbitMQ 구독 재시작 시 동일 연결의 형제 구독이 함께 종료되던 연쇄 장애 수정
  • 스케줄러 내장 etcd 기본값을 워크플로우 부하 패턴에 맞게 재조정 — 컴팩션 방식이 주기 기반에서 리비전 기반으로 변경, 신규 설치 기본 스토리지 16Gi로 증가
  • WatchHosts 스트림 재연결 중 스케줄러가 일시적으로 불가용할 때 daprd가 스스로 종료되던 문제 수정
  • 워크플로우 페이로드 크기 비율 메트릭 2개 추가 — Stall 발생 전 사전 용량 계획 가능
원문

Dapr

Orchestration & Management2026년 4월 28일

단일 버그 수정: 정상 종료(graceful shutdown) 또는 pub/sub 컴포넌트 핫리로드 중 수신된 메시지가 데드레터 큐로 유실되던 문제가 해결됐습니다.

  • breaking기존 데드레터 큐에서 유실된 메시지 확인 필요

    데드레터 큐를 사용하는 pub/sub 환경이라면, 이전 롤링 배포나 재시작 과정에서 DLQ로 빠진 메시지들이 재처리되지 않은 채 남아 있을 수 있습니다. 업그레이드 전에 DLQ를 점검하고, 실제로 처리됐어야 할 메시지를 식별해 재처리 계획을 세우세요. 업그레이드 후에는 배포 중 DLQ 깊이를 지표로 모니터링하세요. 이제 DLQ 급증은 실제 처리 실패를 의미하므로 신뢰할 수 있는 알림 기준이 됩니다.

  • enhancement롤링 배포나 잦은 재시작 환경이라면 즉시 패치 적용을 권장

    Kubernetes 롤링 업데이트나 빈번한 파드 재시작을 운영하는 팀은 이 패치를 우선순위 높게 적용하세요. 기존 문제는 앱에 오류가 전혀 노출되지 않아 발견이 어려웠습니다. 수정 범위가 종료 경로에 한정되어 있어 1.17.x에서의 업그레이드 위험도는 낮습니다.

주요 변경 (4)
  • 구독 종료 중 수신된 메시지를 즉시 NACK 처리하는 대신 브로커 연결이 끊길 때까지 보류하도록 변경
  • 선언적, 프로그래밍 방식(HTTP·gRPC), 스트리밍 등 모든 구독 유형에 적용
  • 롤링 배포, 재시작, pub/sub 컴포넌트 핫리로드 등 정상 종료가 발생하는 모든 시나리오에 해당
  • 이미 처리 중인 메시지는 구독이 완전히 닫히기 전에 정상적으로 완료됨
원문

Dapr

Orchestration & Management2026년 4월 16일

서비스 호출 ACL을 완전히 우회할 수 있는 경로 순회 취약점 패치. 액세스 제어 정책을 사용하는 모든 Dapr 배포는 즉시 업그레이드해야 합니다.

  • security서비스 호출 ACL 사용 중이라면 즉시 업그레이드

    이론상의 취약점이 아닙니다. 서비스 호출에 액세스 제어 정책을 적용 중이고 Dapr API에 신뢰할 수 없는 호출자가 접근 가능한 환경이라면, 현재 취약한 상태입니다. 특히 gRPC 경로는 메서드 문자열을 raw로 그대로 전달하기 때문에 위험도가 더 높습니다. 지금 바로 v1.15.14로 업그레이드하세요. 서비스 호출 비활성화나 API 완전 격리 외에는 별도의 임시 대응책이 없습니다.

  • securityDapr API 엔드포인트 접근 경로 전면 감사

    이 취약점은 API 접근을 전제로 하므로, 실제 피해 범위는 네트워크 구성에 달려 있습니다. 업그레이드 후 어떤 워크로드와 네트워크 경로가 Dapr HTTP/gRPC API에 접근 가능한지 점검하세요. 사이드카 localhost 접근만 허용하는 구성이 가장 안전합니다. API를 더 넓은 범위에 노출하고 있다면, 이번 패치와 무관하게 접근 범위를 좁혀두는 것이 바람직합니다.

  • breaking업그레이드 후 서비스 호출 메서드 경로 라우팅 검증 필요

    이번 수정으로 모든 메서드 경로에 path.Clean 정규화가 적용되고, #, ?, 널 바이트, 제어 문자가 포함된 경로는 거부됩니다. 특히 gRPC에서 %2F를 경로 구분자로 사용하던 서비스가 있다면 동작이 달라질 수 있습니다. 프로덕션 배포 전에 서비스 간 호출 패턴을 반드시 테스트하세요.

주요 변경 (5)
  • admin%2F..%2Fpublic 같은 경로 순회 시퀀스로 서비스 호출 ACL 완전 우회 가능
  • %23(#), %3F(?) 인코딩 문자로 ACL이 평가하는 경로와 실제 앱이 받는 경로가 달라지는 불일치 발생
  • 단독 % 문자로 ACL 정규화 로직을 크래시시켜 정책 자체를 건너뛸 수 있었던 문제 수정
  • path.Clean을 호출 진입점에서 적용하고 #, ?, 널 바이트, 제어 문자가 포함된 경로는 거부하도록 변경
  • Go v1.25.9로 업데이트(1.24 라인 CVE 대응), ACL 경로에서 purell 의존성 제거
원문

Dapr

Orchestration & Management2026년 4월 16일

v1.17.5는 인코딩된 URL 문자를 이용한 경로 순회 공격으로 서비스 호출 ACL 정책을 우회할 수 있던 보안 취약점을 수정한 패치입니다.

  • security서비스 호출 ACL 사용 중이라면 즉시 업그레이드

    서비스 호출에 접근 제어 정책을 쓰는 모든 배포 환경이 영향을 받습니다. Dapr API(HTTP·gRPC)에 접근할 수 있는 공격자가 경로를 인코딩하는 것만으로 차단된 엔드포인트에 도달할 수 있었습니다. gRPC는 메서드 문자열을 raw로 전달하기 때문에 특히 위험했습니다. 별도의 완화 방법은 없으며, v1.17.5로 즉시 업그레이드하세요. 업그레이드 후에는 ACL 정책을 검토해 의도한 경로가 실제로 적용되는지 확인하세요.

  • breaking#, ?, null 바이트, 제어 문자가 포함된 메서드 경로는 이제 거부됨

    이번 수정으로 #, ?, null 바이트, 제어 문자가 포함된 메서드 경로는 호출 진입점에서 즉시 거부됩니다. gRPC에서 이런 문자를 메서드 경로에 사용하는 서비스가 있다면(드물지만 가능) 업그레이드 후 해당 호출이 실패합니다. 운영 환경 적용 전에 스테이징에서 서비스 호출 경로를 반드시 테스트하세요.

주요 변경 (5)
  • 서비스 호출 메서드 경로의 경로 순회 시퀀스(%2F, ../ 등)로 ACL 우회 가능 — 수정됨
  • 인코딩된 프래그먼트(%23)·쿼리(%3F) 문자로 ACL이 실제 앱에 전달된 경로와 다른 경로를 평가하는 문제 수정
  • 단독 % 문자로 ACL 정규화 크래시 유발 → 정책 전체 우회 가능성 존재했음
  • gRPC는 메서드 문자열을 클라이언트 측 정제 없이 raw로 전달해 더 위험한 공격 경로였음
  • 수정: path.Clean을 호출 진입점에서 적용, purell 의존성 ACL 경로에서 제거
원문

Dapr

Orchestration & Management2026년 4월 16일

서비스 호출 메서드 경로의 경로 순회 및 인코딩 문자가 ACL 정책을 우회할 수 있는 치명적 보안 취약점 수정. 접근 제어 정책을 사용 중이라면 즉시 업그레이드해야 합니다.

  • security서비스 호출 ACL 사용 중이라면 즉시 업그레이드

    서비스 호출 접근 제어 정책을 사용하는 모든 배포 환경이 취약합니다. Dapr HTTP 또는 gRPC API에 접근할 수 있는 공격자가 ACL이 허용하는 것처럼 보이지만 실제로는 차단된 엔드포인트로 라우팅되는 메서드 경로를 만들어낼 수 있습니다. gRPC 경로가 특히 위험합니다. 별도의 현실적인 완화 방법이 없으므로 v1.16.14로 즉시 업그레이드하세요. 업그레이드 후에는 기존 ACL 정책 규칙이 정규화된 경로 형식(../ 해소, 인코딩된 구분자 없음)과 일치하는지 검토하십시오.

  • breaking#, ?, 널 바이트, 제어 문자가 포함된 메서드 경로는 이제 거부됨

    수정 후에는 프래그먼트(#), 쿼리(?), 널 바이트, 제어 문자가 포함된 메서드 경로를 자동으로 거부합니다. 가능성은 낮지만, 프로그래밍 방식으로 gRPC 메서드 경로를 동적으로 구성하는 코드가 있다면 업그레이드 후 해당 호출이 실패할 수 있습니다. 프로덕션 적용 전에 메서드 경로를 동적으로 생성하는 서비스 호출 코드를 미리 점검하십시오.

주요 변경 (5)
  • 경로 순회 시퀀스(../), 인코딩된 슬래시(%2F), 프래그먼트(%23), 쿼리(%3F), 불완전한 % 문자로 ACL 우회 가능
  • gRPC가 더 위험한 공격 경로 — 메서드 문자열이 클라이언트 측 정규화 없이 그대로 전달됨
  • 근본 원인: ACL은 디코딩·정리된 경로를 평가하고, 대상 앱은 원본 문자열을 그대로 수신하는 불일치
  • 호출 진입점에서 path.Clean 적용 후 ACL 검사와 디스패치 모두 동일한 경로 사용하도록 수정
  • ACL 경로에서 purell 라이브러리 제거, gRPC는 퍼센트 인코딩을 경로 구분자가 아닌 리터럴 문자로 처리
원문

Dapr

Orchestration & Management2026년 4월 15일

Dapr v1.16.13은 다중 레플리카 환경에서 스케줄러 재시작 시 job 트리거가 멈추는 심각한 버그를 수정하고, Pulsar 설정 무시 문제와 OOM 위험을 해결하며, Go 1.25.9 보안 패치를 포함합니다.

  • securityGo 1.25.9 보안 패치 적용을 위해 즉시 업그레이드

    Go의 crypto/x509, crypto/tls, archive/tar, html/template 패키지 취약점이 패치됐습니다. 1.16.12 이하를 사용 중이라면 지금 바로 1.16.13으로 올려야 합니다. 소스에서 직접 Go 1.25.9로 재빌드하지 않는 한 다른 우회책은 없습니다.

  • breakingPulsar 사용자: processMode가 이제 실제로 적용됩니다 — 설정 검토 필수

    컴포넌트 YAML에 processMode를 설정해 뒀다면, 이전까지는 조용히 무시됐습니다. 업그레이드 후에는 해당 설정이 실제로 적용됩니다. processMode: sync로 순서 보장을 기대했지만 실제로는 비동기로 동작하고 있었다면, 업그레이드 시 동작이 바뀝니다. 프로덕션 배포 전에 Pulsar 컴포넌트 메타데이터와 구독 동작을 반드시 검토하세요. maxConcurrentHandlers를 0으로 설정했다면 기존에는 데드락이 발생했는데, 이제는 기본값 100으로 폴백됩니다.

  • breaking다중 레플리카 스케줄러 운영 중이라면 즉시 패치 적용

    스케줄러 버그는 실제 운영에서 매우 치명적입니다. 롤링 업데이트, OOM 킬, 노드 축출 등 일상적인 파드 재시작만으로도 전체 배포의 job 트리거가 조용히 멈춥니다. 오류 알림이나 명시적인 실패도 없이 job이 그냥 동작을 멈추는 것입니다. HA 구성으로 스케줄러를 여러 레플리카로 운영 중이라면 이 수정은 필수입니다. 업그레이드 후 스케줄러 파드 재시작 시 예약 작업이 정상 실행되는지 반드시 확인하세요.

주요 변경 (5)
  • Go 1.25.9 재빌드: crypto/x509, crypto/tls, archive/tar, html/template 패키지 보안 취약점 패치
  • 스케줄러 버그 수정: 단일 파드 재시작이 전체 스케줄러 연결의 job 트리거를 중단시키던 문제 해결
  • 각 스케줄러 스트리밍 커넥터가 이제 500ms 백오프로 독립적으로 재시도 — 하나의 연결 실패가 나머지에 영향 없음
  • Pulsar processMode가 컴포넌트 YAML에서 올바르게 읽힘 — 기존에는 조용히 무시되어 항상 기본 모드로 동작
  • Pulsar 비동기 모드에 동시성 제한(기본 100) 적용, maxConcurrentHandlers=0 데드락 및 고루틴 데이터 레이스 수정
원문

Dapr

Orchestration & Management2026년 4월 10일

Dapr 1.17.4는 워크플로우 정확성, Pulsar OOM 위험, Placement 지연으로 인한 Actor 동결, Go 표준 라이브러리 보안 취약점 등 7개 버그를 수정했습니다.

  • securityGo 표준 라이브러리 CVE 패치 — 즉시 업그레이드 권장

    Go 1.25.9는 archive/tar, crypto/tls, crypto/x509, html/template, 컴파일러에서 발견된 취약점을 수정합니다. Dapr의 모든 바이너리와 Docker 이미지가 패치된 툴체인으로 재빌드됐습니다. 설정 변경 없이 버전만 1.17.4로 올리면 됩니다.

  • breakingPulsar processMode 동작 변경 — 컴포넌트 설정 검토 필수

    기존에 Pulsar 컴포넌트 YAML에 processMode를 설정했다면 그 값은 사실상 무시되고 있었습니다. 업그레이드 후에는 설정값이 실제로 적용됩니다. processMode: sync로 순서 보장을 기대했지만 실제로는 async 모드로 돌고 있었다면, 업그레이드 후 동작이 달라집니다. async 모드는 이제 maxConcurrentHandlers(기본값 100)로 동시성이 제한됩니다. 운영 배포 전 Pulsar 컴포넌트 메타데이터를 반드시 점검하고 처리량 동작을 테스트하세요.

  • enhancementPlacement 지연으로 인한 Actor·워크플로우 동결 위험 해소

    Placement 전파 동결 버그는 롤링 업데이트 중 연쇄적인 헬스 체크 실패를 유발할 수 있었고, Kubernetes가 Pod를 비정상으로 판단해 재시작하면서 상황이 더 악화되는 패턴이었습니다. 1.17.4부터는 느린 피어 감지 시 치명적 종료 대신 재연결을 시도합니다. 롤링 업데이트 중 Actor 행(hang)이나 zombie daprd 프로세스를 경험한 적 있다면 이 버그가 원인이었을 가능성이 큽니다. 별도 설정 변경 없이 업그레이드만으로 적용됩니다.

주요 변경 (5)
  • Pulsar pub/sub가 컴포넌트 YAML의 processMode를 올바르게 읽고 async 모드에서 동시성 한도를 적용 — 기존에는 고부하 시 Pod OOM 가능성 있었음
  • 원격 앱이 오프라인 상태일 때 크로스 앱 워크플로우가 PENDING으로 무한 대기하던 문제 수정 — 디스패치별 2초 타임아웃과 사전 저장 로직 적용
  • ContinueAsNew 고이벤트량 환경에서 이벤트 유실·중복 처리 수정 — 상태 스냅샷/복원과 inbox 교체로 두 가지 근본 원인 해결
  • 느린 사이드카 하나가 전체 네임스페이스의 Actor·워크플로우 작업을 동결시키던 문제 수정 — Placement 타임아웃 시 재연결 로직으로 전환
  • 멀티노드 클러스터에서 스케줄러 Pod 재시작 후 잡 트리거가 무관한 클러스터 이벤트 전까지 멈추던 문제 수정 — 커넥터별 독립 재시도 방식으로 변경
원문

Dapr

Orchestration & Management2026년 3월 30일

Dapr v1.16.12는 gRPC 인증 우회 CVE 패치, Pulsar Avro/JSON 스키마 처리 버그 수정, 그리고 파드 재시작 후 최대 20분간 지속되던 Scheduler 클러스터 스톨 문제를 해결합니다.

  • securitygRPC 인증 우회(CVE-2026-33186) 패치를 위해 즉시 업그레이드

    CVE-2026-33186은 특정 조건에서 gRPC 인증을 우회해 비인가 요청을 허용합니다. Dapr 1.16.12 이전 모든 1.16.x 버전이 영향을 받으며, 의존성 패치 없이는 우회 방법이 없습니다. 즉시 업그레이드하세요.

  • breakingPulsar Avro + CloudEvents 스키마 등록 방식 변경 — 기존 토픽 점검 필요

    Dapr 1.16.0~1.16.11에서 Avro 스키마와 CloudEvents 래핑(기본값)을 함께 사용하는 Pulsar 토픽은 Schema Registry에 잘못된 스키마가 등록되어 있었습니다. 업그레이드 후에는 올바른 CloudEvents 엔벨로프 Avro 스키마로 등록됩니다. 기존 토픽의 Schema Registry 상태와 비-Dapr 컨슈머의 영향 여부를 확인하세요. 새로 추가된 rawSchema 메타데이터 옵션은 순수 raw 페이로드 전용 토픽에만 사용해야 합니다.

  • enhancementScheduler HA 환경에서 파드 재시작 후 20분 스톨 문제 해소

    Scheduler 3개 인스턴스 HA 구성에서 워크플로우나 액터 리마인더가 실행 중일 때 파드가 재시작되면 클러스터 전체가 최대 20분간 멈추는 문제가 있었습니다. 롤링 업데이트나 노드 유지보수 후 워크플로우나 리마인더가 설명 없이 지연됐다면 이 버그가 원인입니다. 이번 수정으로 트리거 전달이 컨텍스트 취소를 즉시 반영해 수초 내 쿼럼을 재확립합니다. 참고로 Dapr v1.17은 트리거 전달 경로 자체를 비동기 방식으로 재설계해 이 문제 유형 자체를 없앴습니다.

주요 변경 (5)
  • CVE-2026-33186 패치: gRPC 인증 우회를 허용하던 업스트림 의존성 업그레이드
  • Pulsar Avro 구독자가 바이너리 페이로드를 정상 디코딩하도록 수정 — 기존에는 JSON 언마샬 실패로 영구 재시도 루프에 빠졌음
  • Pulsar CloudEvents + Avro 스키마 등록 시 CloudEvents 엔벨로프 스키마로 올바르게 래핑, 브로커 측 불일치 해소
  • Pulsar JSON 스키마 토픽에서 발행 시 단순 JSON 파싱이 아닌 실제 구조적 유효성 검사 수행
  • Scheduler 파드 재시작 후 복구 시간이 최대 20분에서 5초 미만으로 단축 — 블로킹 트리거 전달 경로 수정
원문

Dapr

Orchestration & Management2026년 3월 26일

Dapr v1.17.3은 gRPC 인증 우회(CVE-2026-33186)와 TIFF OOM DoS(CVE-2026-33809) 두 CVE를 패치하고, h2c 액터 응답 데이터 유실, Placement 연쇄 장애, Scheduler 무음 중단 등 고영향 버그를 수정했습니다.

  • security활성 CVE 두 건, 즉시 업그레이드 필요

    CVE-2026-33186은 gRPC 인증을 우회해 허가되지 않은 요청이 서비스에 도달할 수 있는 취약점입니다. CVE-2026-33809는 8바이트짜리 악성 TIFF 파일 하나로 사이드카가 약 4GB 메모리를 할당하다 OOM으로 크래시될 수 있습니다. 두 취약점 모두 v1.17.3에서만 수정됩니다. 우회 방법은 없으므로 긴급 패치로 처리하세요. 특히 이미지 데이터를 처리하는 Dapr 컴포넌트가 있거나 gRPC 엔드포인트를 외부에 노출하는 경우 즉각 대응이 필요합니다.

  • breakingh2c + 액터 사용 환경은 v1.17.2 이후 응답 데이터 유실 여부 확인 필수

    --app-protocol h2c로 액터를 운영 중이었다면, v1.17.2부터 액터 메서드 호출이 HTTP 200을 반환하면서도 본문이 비어 있었을 수 있습니다. 오류 없이 데이터만 사라지는 방식이라 발견이 어렵습니다. v1.17.3으로 업그레이드한 뒤, v1.17.2 도입 이후 처리된 액터 응답 데이터를 감사하고 캐시나 로그에 저장된 응답이 있다면 재검증하세요.

  • enhancementHA Scheduler 배포 환경: 업그레이드 후 전체 Scheduler 파드 재시작 권장

    Scheduler 무음 중단 버그는 etcd에 오래된 리더십 키를 남겨 쿼럼 수렴을 막습니다. 업그레이드 후 모든 Scheduler 파드를 동시에 재시작해 깨끗한 리더십 선출을 유도하세요. 이후 롤링 업데이트 과정에서 워크플로우 타이머, 예약 잡, 액터 리마인더가 무작위로 멈추는 현상은 더 이상 발생하지 않습니다.

주요 변경 (7)
  • CVE-2026-33186: 업스트림 의존성 업그레이드로 gRPC 인증 우회 취약점 수정
  • CVE-2026-33809: golang.org/x/image를 v0.38.0으로 업그레이드해 TIFF OOM DoS 취약점 수정
  • h2c(HTTP/2 cleartext) 환경에서 액터 메서드 응답 본문이 빈 채로 반환되던 문제 수정 — 컨텍스트 분리 및 파이프 오류 전파 방식으로 해결
  • 서비스 호출 및 액터 응답에서 오래된 Content-Length 헤더가 그대로 전달되어 unexpected EOF가 발생하던 문제 수정
  • 단일 느린 사이드카로 인해 전체 Placement 테이블이 초기화되던 연쇄 장애 수정 — 선택적 타임아웃 및 단계 진행 로직 적용
  • 클러스터 스케일업 후 Scheduler 인스턴스가 조용히 동작을 멈추던 채널 경쟁 조건 수정 — 논블로킹 이벤트 루프로 교체
  • v1.16.9부터 AKS Windows 노드에서 daprd가 시작 불가하던 문제 수정 — docker manifest 툴체인으로 복원
원문

Dapr

Orchestration & Management2026년 3월 26일

Scheduler HA 환경의 치명적 버그 3건(연쇄 충돌, 파티션 무응답, Windows AKS 기동 실패)이 수정되었으며, Go 1.25.8 보안 패치도 포함됩니다.

  • securityGo 1.25.8 보안 패치 — 업그레이드로 반영

    Go 1.25.8은 html/template, net/url, os 패키지의 취약점을 수정했습니다. v1.16.10 이하를 사용 중이라면 해당 취약점이 있는 바이너리를 그대로 실행하는 셈입니다. v1.16.11로 업그레이드하면 수정된 런타임이 자동으로 반영됩니다. Go 1.25.7로 빌드한 커스텀 서비스가 별도로 있다면 그쪽도 함께 재빌드하세요.

  • breakingHA 모드 Scheduler 운영 중이라면 즉시 업그레이드

    v1.16.0~v1.16.10의 멀티 인스턴스 Scheduler 배포는 두 가지 장애 패턴에 노출되어 있습니다. 첫째, 높은 잡 부하에서 연쇄 충돌이 발생합니다. 둘째, 인스턴스가 파티션 리스를 유지하면서도 잡을 실행하지 않는 무음 실패가 생깁니다. 두 경우 모두 전체 Scheduler 파드 재시작 없이는 복구가 안 됩니다. Dapr Workflows나 Actor Reminder, 예약 잡을 HA로 운영 중이라면 일반적인 파드 축출이나 롤링 업데이트만으로도 워크플로우가 멈출 수 있으니 긴급 업그레이드를 권장합니다.

  • breakingAKS Windows 사용자: v1.16.9부터 broken, 이번 릴리스에서 수정

    v1.16.9~v1.16.10 사이에 AKS Windows 노드에 Dapr를 배포했다면, daprd 사이드카가 계속 CrashLoopBackOff 상태였을 겁니다. Docker 매니페스트 생성 도구 변경으로 os.version 필드가 누락되면서 Windows 컨테이너 런타임이 잘못된 이미지 변형을 가져왔기 때문입니다. v1.16.11로 업그레이드하면 별도 설정 변경 없이 정상 동작이 복원됩니다.

주요 변경 (5)
  • Go 런타임 1.25.7 → 1.25.8 업그레이드: html/template, net/url, os 패키지 보안 취약점 패치
  • 높은 잡 처리량 중 리더십 변경 시 발생하던 'catastrophic state machine error' 충돌 수정 — 오래된 CloseJob 이벤트를 no-op으로 처리
  • 클러스터 스케일업 후 Scheduler 인스턴스가 파티션을 점유한 채 잡을 실행하지 않는 레이스 컨디션 수정
  • v1.16.9부터 AKS Windows 노드에서 daprd 사이드카가 CrashLoopBackOff로 기동 실패하던 문제 수정 — 이미지 매니페스트의 os.version 필드 복원
  • 두 Scheduler 버그 모두 v1.16.0~v1.16.10의 모든 HA 배포에 해당
원문

Dapr

Orchestration & Management2026년 3월 19일

Dapr v1.17.2는 Go 표준 라이브러리 CVE 3건 수정, CRD 수동 업데이트가 필요한 브레이킹 체인지, 대규모 액터 배포의 배치 장애 및 스트리밍 OOM 문제를 포함한 긴급 패치입니다.

  • securityGo 표준 라이브러리 CVE 3건 — 즉시 업그레이드 필요

    Go 1.24.x에서 net/url의 IPv6 SSRF(GO-2026-4601), os.Root 경로 탈출(GO-2026-4602), html/template XSS(GO-2026-4603)가 발견됐습니다. 사용자 입력 URL을 처리하거나 템플릿 렌더링이 관련된 서비스라면 실질적인 위험이 있습니다. Go 툴체인 업그레이드로 해결되므로 애플리케이션 코드 변경 없이 v1.17.2로 업그레이드하면 됩니다.

  • breakingHelm 업그레이드 전 CRD 수동 업데이트 — 안 하면 daprd 기동 실패

    Configuration CRD의 `stateRetentionPolicy` 필드 타입이 integer에서 string으로 바뀌었습니다. Helm은 CRD를 자동으로 업데이트하지 않으므로, CRD 업데이트 없이 `helm upgrade`를 실행하면 duration 문자열을 쓰는 Configuration 오브젝트가 Kubernetes 검증에서 거부되고 daprd가 설정을 불러오지 못할 수 있습니다. 공식 Kubernetes 업그레이드 가이드의 CRD 업데이트 절차를 먼저 수행하세요. 현재 워크플로우 상태 보존 정책을 사용하지 않더라도 CRD는 업데이트해두는 편이 좋습니다.

  • enhancement대규모 액터 배포 및 스트리밍 워크로드는 이번 패치를 우선 적용하세요

    보안 외에 두 가지 수정이 특히 중요합니다. 첫째, 1.17.x에서 50개 이상의 액터 레플리카 환경은 배치 전파 타임아웃이 연쇄적으로 발생하는 문제가 있었는데, 이번 릴리즈의 배치 처리 개선으로 해결됐습니다. 둘째, 파일 업로드·SSE·청크 데이터 같은 스트리밍 요청/응답이 사이드카 메모리에 통째로 버퍼링되어 OOM 킬이 발생하던 문제도 수정됐습니다. 두 패턴 중 하나라도 해당한다면 일반 정기 업그레이드가 아닌 긴급 패치로 취급하세요.

주요 변경 (5)
  • Go 1.25.8 업그레이드로 html/template XSS, os.Root 경로 탈출, net/url IPv6 파싱 등 CVE 3건 수정
  • 브레이킹 체인지: 워크플로우 상태 보존 정책 CRD 필드 타입이 integer에서 string으로 변경 — Helm 업그레이드 전 CRD 수동 업데이트 필수
  • 50개 이상 레플리카 환경에서 발생하던 액터 배치 전파 타임아웃 연쇄 장애 수정
  • 서비스 호출 시 스트리밍 요청/응답 전체를 메모리에 버퍼링하던 문제 수정 — 사이드카 OOM 방지
  • 그레이스풀 셧다운 중 DLQ 오라우팅 수정, 벌크 퍼블리시 네임스페이스 프리픽스 누락 수정
원문

Dapr

Orchestration & Management2026년 3월 9일

Dapr 1.17.1은 프로덕션 아키텍처에서 WASM 컴포넌트 등록 실패와 워크플로우 정리 문제 등 중요한 런타임 이슈를 수정했습니다.

  • breakingWASM 컴포넌트 사용 시 즉시 업그레이드 필요

    v1.16.0-v1.17.0에서 프로덕션 아키텍처의 WASM 바인딩과 미들웨어 컴포넌트가 완전히 작동하지 않았습니다. 이런 컴포넌트를 사용하는 애플리케이션은 시작에 실패했죠. 업그레이드 후 WASM 컴포넌트가 정상 등록되고 동작하는지 테스트하세요.

  • enhancement배치 서비스 성능 개선 효과 확인

    액터를 사용하지 않는 사이드카가 많은 대규모 클러스터에서 배치 오버헤드가 줄어듭니다. 배치 서비스 메트릭과 액터 호출 지연 시간을 모니터링하세요. 특히 사이드카 재시작 시 락 사이클이 줄고 성능이 개선되는 걸 확인할 수 있을 겁니다.

  • enhancement워크플로우 정리 설정 재검토

    이전에 중단되었다가 재개된 워크플로우를 이제 제대로 정리할 수 있습니다. 상태 보존 정책이 예상대로 작동하는지 확인하고, 퍼지되어야 했지만 남아있던 워크플로우 인스턴스가 있는지 점검하세요.

주요 변경 (4)
  • 파일명 빌드 제약 조건 수정으로 amd64/arm64/arm 아키텍처에서 WASM 바인딩과 미들웨어 컴포넌트가 정상 등록됨
  • 이전에 중단되었던 워크플로우를 상태 보존 정책과 퍼지 API로 정리 가능
  • 액터 타입이 없는 사이드카에 대해 배치 서비스가 불필요한 전파 사이클을 트리거하지 않음
  • 메시지 개수 제한으로 인한 조기 전송 후 벌크 구독 타이머가 올바르게 리셋됨
원문

Dapr

Orchestration & Management2026년 3월 6일

Dapr 1.16.10은 운영 아키텍처에서 WASM 컴포넌트 등록 실패 문제를 수정하고 Go 런타임 및 OpenTelemetry SDK의 보안 취약점을 패치했습니다.

  • securityGo 런타임 및 OpenTelemetry 보안 패치 업데이트

    이번 릴리스는 Go 1.25.7(crypto/tls, go 명령어)과 OpenTelemetry SDK(PATH 하이재킹을 통한 임의 코드 실행)의 취약점을 패치합니다. PATH 조작이 가능한 환경을 우선순위로 두고 일반적인 보안 패치 주기 내에서 업그레이드를 계획하세요.

  • breakingWASM 컴포넌트 사용 시 즉시 업그레이드 필요

    v1.16.0부터 WASM 바인딩 및 미들웨어 컴포넌트가 운영 아키텍처에서 완전히 작동하지 않았습니다. 이러한 컴포넌트를 사용하고 v1.16.0-v1.16.9를 실행 중이라면 WASM 컴포넌트가 조용히 등록되지 않고 있으므로 v1.16.10으로 즉시 업그레이드하세요.

  • enhancement조기 오류 탐지를 위한 Pulsar Avro 메시지 발행 검토

    Pulsar PubSub가 이제 발행 전에 JSON 메시지를 Avro 스키마에 대해 검증하여 잘못된 데이터를 더 일찍 잡아냅니다. Pulsar 발행 워크플로를 테스트하여 새로운 검증 오류를 적절히 처리하고 더 빨라진 코덱 성능의 혜택을 받도록 하세요.

주요 변경 (5)
  • Go 빌드 제약으로 인한 파일명 충돌로 amd64/arm64 아키텍처에서 WASM 바인딩 및 미들웨어 컴포넌트 등록 실패 수정
  • 잘못된 형식의 메시지가 오류 피드백 없이 발행되는 것을 방지하기 위한 Pulsar PubSub Avro 스키마 검증 추가
  • crypto/tls 및 go 명령어 취약점 보안 수정이 포함된 Go 런타임 1.25.7 업데이트
  • 임의 코드 실행 취약점(GO-2026-4394) 패치를 위한 OpenTelemetry SDK v1.40.0 업그레이드
  • 발행 성능 향상을 위한 Pulsar Avro 코덱 컴파일 초기화 시점 캐싱
원문

Dapr

Orchestration & Management2026년 2월 27일

Dapr 1.17은 버전 관리 지원, 상태 보존 정책, 41% 성능 향상으로 프로덕션 준비가 완료된 워크플로우에 중점을 두고, Bulk PubSub API를 안정화하고 Placement 서비스 안정성을 향상시켰습니다.

  • enhancement프로덕션 워크플로우에 워크플로우 버전 관리 구현

    프로덕션 환경에서 장기 실행 워크플로우를 운영한다면 새로운 버전 관리 기능을 도입하여 워크플로우 업데이트를 안전하게 배포하세요. 주요 변경에는 명명된 버전을, 사소한 업데이트에는 패치를 사용하고, 업그레이드 전에 기존 워크플로우에 대한 마이그레이션 전략을 계획하여 재생 문제를 방지하세요.

  • enhancement워크플로우 상태 보존 정책 구성

    워크플로우 저장소 증가 패턴을 검토하고 무제한 상태 저장소 증가를 방지하기 위해 보존 정책을 구성하세요. 완료된 워크플로우에는 짧은 보존 기간을, 실패한 워크플로우에는 긴 보존 기간을 설정하여 저장소 비용과 디버깅 요구사항 간의 균형을 맞추세요.

  • enhancement더 나은 액터 안정성을 위한 Placement 서비스 업그레이드

    개선된 Placement 서비스는 배포 및 스케일링 중에 더 안정적인 액터 라우팅을 제공합니다. 업그레이드 후 개선된 수렴 동작을 검증하기 위해 빈번한 스케일링 시나리오로 액터 기반 애플리케이션을 테스트하세요.

주요 변경 (5)
  • 장기 실행 워크플로우의 안전한 진화를 위한 명명된 버전과 패치 전략을 포함한 워크플로우 버전 관리 지원
  • 워크플로우 기록 저장소 증가 제어 및 종료 상태 정리 관리를 위한 상태 보존 정책
  • 더 엄격한 3단계 업데이트와 빠른 연결 끊김 감지를 통한 Placement 서비스 개선
  • 프로덕션 사용을 위한 Bulk PubSub API 안정화
  • 워크플로우 및 스케줄러 관리 작업을 위한 새로운 CLI 명령어
원문