RATATOSKRATATOSK
로그인

릴리즈

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

프로젝트: gRPC해제 ×

gRPC

Networking & Messaging2026년 7월 2일

gRPC 1.82.0은 Core, PHP, Python, Ruby 전반의 자잘한 수정을 모은 루틴 릴리스이며 보안 이슈나 파괴적 변경은 없습니다. 눈에 띄는 부분은 xDS의 프로토콜 추가 두 가지(A85 ORCA-to-LRS, A114 가중 라운드로빈)와 다수의 소소한 버그 수정입니다.

주요 변경 (8)
  • CVE, 破壊的 API 제거, deprecation 없음
  • xDS에 ORCA-to-LRS 전파(gRFC A85)와 커스텀 백엔드 메트릭 기반 가중 라운드로빈(A114) 지원 추가
  • 호출 자격 증명이 리전별 액세스 경계 정책 메타데이터를 조회하고 첨부할 수 있게 됨
  • Python aio 수정: -O 플래그 실행 시 CPU 100% 점유 문제 해결, fork된 자식 프로세스에서 채널을 닫지 않고 호출만 취소 가능
  • Ruby에 순수 Ruby 구현 호출 자격 증명 추가, 인터셉터가 의도대로 FIFO 순서로 실행되도록 수정
  • POSIX 소켓 코드에서 파일 디스크립터 0이 잘못 무효로 처리되던 문제 수정, 엔드포인트 종료 시 CFStream 콜백 등록 해제
  • PHP 확장 백포트에 PIE 지원 추가, Python aio call/metadata 모듈에 Pyright·Typeguard 타입 체크 적용
  • 그 외 abseil nullopt assertion을 잘못 발생시키던 RetryFilter 버그도 수정
원문

gRPC

Networking & Messaging2026년 6월 9일

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월 30일

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월 27일

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 회귀 버그 수정
원문

gRPC

Networking & Messaging2026년 2월 20일

gRPC v1.78.1은 Python 포크 처리 이슈와 Ruby 4.0 호환성을 해결한 유지보수 릴리스로, 대부분의 사용자에게는 중단 변경사항이 없습니다.

  • enhancementPython 멀티스레딩 이슈 해결을 위한 업그레이드

    이번 릴리스는 fork()를 사용하는 멀티스레드 환경에서 Python 애플리케이션이 'Other threads are currently calling into gRPC, skipping fork() handlers' 오류와 함께 중단되던 중대한 버그를 수정했습니다. 유사한 문제를 겪고 있다면 즉시 업그레이드하고 포크가 많은 워크로드를 테스트하세요.

  • enhancementRuby 4.0 마이그레이션 경로 계획

    Ruby 4.0 지원이 제공되므로, Ruby 기반 gRPC 서비스의 호환성 테스트를 검토하세요. 네이티브 gem이 더 나은 성능을 제공할 수 있지만, 프로덕션 시스템을 업그레이드하기 전에 배포 파이프라인이 새로운 Ruby 버전을 지원하는지 확인하세요.

주요 변경 (4)
  • 멀티스레드 환경에서 요청 처리 중단을 일으키던 Python 포크 지원 불일치 문제 해결
  • Python 구현에서 의도하지 않은 경고 로그 메시지 제거
  • 네이티브 gem 빌드와 함께 Ruby 4.0 지원 추가
  • 최신 디자인으로 Python API 문서 사이트 업데이트
원문