RATATOSKRATATOSK
로그인

릴리즈

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

프로젝트: gRPC해제 ×

gRPC

Networking & Messaging2026년 6월 8일

gRPC v1.81.1은 Windows·ARM 메모리 안전성 버그를 수정한 패치 릴리스입니다. API 호환성을 깨는 변경은 없습니다.

  • breakingPython 3.9, Ruby 3.1 지원 종료 — 런타임 버전 확인 필요

    Python 3.9 또는 Ruby 3.1에서 gRPC를 쓰고 있다면 v1.81.1로 업그레이드 시 빌드가 깨집니다. 업그레이드 전에 서비스 런타임 버전을 확인하고, Python 3.10+, Ruby 3.2+로 먼저 올리세요.

  • enhancementWindows·ARM 배포 환경은 이번 패치 적용 권장

    Windows EventEngine race 2건과 ARM completion queue 종료 race가 수정됐습니다. use-after-free나 assertion crash는 재현이 어렵지만 서비스를 간헐적으로 죽이는 유형입니다. Windows 서버나 Graviton 같은 ARM 호스트에서 gRPC를 운영 중이라면 패치를 적용하세요.

  • enhancementgrpc-status에서 protobuf 7.x 사용 가능

    grpc-status 패키지의 protobuf 상한이 7.x까지 풀렸습니다. protobuf 최신 버전을 요구하는 다른 라이브러리와 함께 쓸 때 버전 충돌로 고생했다면, 이제 상한 고정을 제거해도 됩니다.

주요 변경 (5)
  • EventEngine: Windows use-after-free 및 assertion 오류 유발 race condition 2건 수정
  • Core: ARM 등 약한 메모리 모델 아키텍처에서 completion queue 종료 race 수정
  • Python: Python 3.9 지원 종료, protobuf 의존성 상한을 7.x까지 허용
  • Ruby: EOL 상태인 Ruby 3.1 지원 종료, CallCredentials 참조 누락 버그 수정
  • Python: AsyncIO 스택에 observability 지원 추가
원문

gRPC

Networking & Messaging2026년 5월 29일

gRPC v1.81.0은 Python 3.9와 Ruby 3.1 지원을 종료하고, Windows·ARM에서의 크래시급 레이스 컨디션을 수정하며, Python AsyncIO observability를 추가했습니다.

  • breakingPython 3.9 지원 종료 — 런타임 버전 확인 필요

    gRPC 1.81.0부터 Python 3.9를 지원하지 않습니다. Python 3.9 환경에서 gRPC를 운영 중이라면 런타임을 3.10 이상으로 올리기 전까지는 이전 버전을 유지하세요. 이 릴리스로 업그레이드하기 전에 Python 버전 계획을 먼저 잡아야 합니다.

  • breakingRuby 3.1 지원 종료 — Ruby 런타임 업그레이드 필요

    Ruby 3.1이 EOL에 도달하면서 gRPC 1.81.0에서 지원이 끊겼습니다. Ruby 3.1로 gRPC를 운영 중이라면 이 릴리스를 적용하기 전에 Ruby 3.2 이상으로 업그레이드해야 합니다.

  • enhancementWindows·ARM 안정성 버그 수정 — 운영 중이라면 업그레이드 고려

    Windows에서 use-after-free와 assertion 오류를 유발하는 레이스 컨디션 두 건, ARM 환경(weak memory model)에서 completion queue 셧다운 레이스가 수정됐습니다. Windows나 ARM 기반 인프라에서 gRPC를 운영 중이라면 크래시로 이어질 수 있는 문제들이 이번에 해결된 것이므로, 안정성 확인 후 업그레이드를 검토하세요.

주요 변경 (6)
  • Python 3.9 지원 제거 — 이후로는 Python 3.10 이상 필요
  • Ruby 3.1(EOL) 지원 제거 — Ruby 3.2 이상 필요
  • EventEngine: Windows에서 use-after-free 및 assertion 오류 레이스 수정
  • ARM(weak memory model)에서 completion queue 셧다운 레이스 수정
  • gRPC Python AsyncIO 스택에서 observability 지원 추가
  • grpc-status 패키지: protobuf 의존성 상한을 7.x까지 허용하도록 완화
원문

gRPC

Networking & Messaging2026년 3월 26일

gRPC v1.80.0은 TLS 개인 키 오프로드, Python EventEngine 기본 활성화, 그리고 운영 안정성에 영향을 주는 Python AsyncIO 버그 수정을 중심으로 한 릴리스입니다.

  • security프로세스 메모리 내 개인 키 노출 제거 가능

    개인 키 오프로드 기능 덕분에 TLS 서명 연산을 외부에 위임할 수 있게 됐습니다. 규제 환경에서 운영 중이라면 v1.80.0으로 업그레이드하고, Python 서명자 구현 및 C++ 오프로드 경로를 활용해 인프로세스 키 저장 방식을 제거하세요.

  • breakingPython EventEngine 기본 활성화 — 반드시 스테이징에서 검증 필요

    EventEngine이 기본 I/O 백엔드로 전환되면서 Python gRPC의 I/O 처리, 스레딩, fork 동작 방식이 바뀝니다. 같은 릴리스에서 fork 지원 환경 변수 기본값이 한 차례 revert(PR #41769)된 점도 눈여겨봐야 합니다. 아직 안정화 중인 영역입니다. gunicorn pre-fork 같은 패턴을 쓰는 서버라면 프로덕션 배포 전 반드시 스테이징에서 충분히 검증하세요.

  • enhancementTLS 개인 키 오프로드로 보안 강화

    개인 키 오프로드 기능과 InMemoryCertificateProvider를 활용하면 개인 키를 HSM이나 KMS에 두고, 런타임 중 인증서를 교체할 수 있습니다. 컴플라이언스 요건이 있는 환경이라면 파일 기반 자격증명 로딩 방식을 새 서명자 인터페이스로 교체하는 것을 우선순위에 두세요.

주요 변경 (5)
  • TLS 개인 키 오프로드: 서명 연산을 외부 제공자(HSM, KMS 등)에 위임할 수 있어 프로세스 메모리에 개인 키를 노출하지 않아도 됨
  • InMemoryCertificateProvider 추가 — 서버 재시작 없이 런타임 중 인증서 동적 교체 가능
  • Python에서 EventEngine이 기본값으로 활성화되고, Python과 Ruby에서 fork 지원 추가
  • Python AsyncIO 버그 3건 수정: 비동기 클라이언트 멀티스레드 예외 처리, active_rpcs 음수 카운터, AIO Metadata 이터레이터 크래시
  • Ruby 4.0 네이티브 젬 빌드 지원 추가, C# Grpc.Tools의 ARM64 회귀 버그 수정
원문