v1.18.0은 버그픽스 중심 릴리스로, 운영자가 반드시 확인해야 할 변경 사항은 RFC 9110 준수를 위한 User-Agent 헤더 하이픈 추가 하나입니다. 나머지는 런타임 개선, 포매터 및 커버리지 도구 수정, Go 툴체인 버전 갱신입니다.
breakingUser-Agent 헤더 형식 변경 (RFC 9110 준수)
OPA가 HTTP 요청 시 전송하는 User-Agent 헤더가 'Open Policy Agent/<version> (<os>, <arch>)'에서 'Open-Policy-Agent/<version> (<os>, <arch>)'로 바뀌었습니다('Open'과 'Policy' 사이에 하이픈 추가). 이전 문자열을 정확히 일치시키는 서버 측 로그 필터, WAF 규칙, 접근 정책이 있다면 v1.18.0 업그레이드 후 반드시 수정해야 합니다.
주요 변경 (7)
- User-Agent 헤더가 'Open Policy Agent'에서 'Open-Policy-Agent'(하이픈 추가)로 변경됨 — 이전 문자열 정확 일치 필터나 WAF 규칙은 업그레이드 전 점검 필요
- 컨테이너 환경 리소스 제한 복원 및 확장: GOMAXPROCS 자동 설정 복구, GOMEMLIMIT 자동 설정 신규 지원
- opa fmt 교정 버그 다수 수정: 단일 항목 이터러블의 멀티라인 형식 유지, 주석 뒤 with 절 유실 문제 해결
- opa test --coverage 개선: 리포트에 범위 정보 추가, 인라인 규칙 헤드 추적, 논리곱(conjunction) 표현식 커버리지 지원
- future.keywords.not을 every 블록 내부에서 사용할 때 발생하던 부분 평가 회귀 버그 수정, every 내부 컴프리헨션의 변수 네임스페이싱 문제도 함께 수정
- 성능 개선: object.get 메모리 할당 감소, topdown dst.Compare(src) 숏컷 제거, format_int 10진수 경로에서 strconv.ParseInt 호출 생략
- Go 1.26.3 → 1.26.4 업데이트, 웹사이트 및 노드 의존성 일괄 갱신