Caddy v2.10.1 Release

요약

```html

Caddy v2.10.1 릴리스 정보

Caddy의 이번 릴리스는 많은 개선 사항, 버그 수정 및 종속성 업그레이드를 포함하는 대규모 패치 릴리스입니다. 특히 새로운 기여자들이 많이 참여하여 더욱 완성도를 높였습니다.

주요 변경 사항

  • quic-go v0.51.0 및 v0.53.0으로 업데이트
  • forwardproxy 모듈에서 필드 이름 참조 오류 수정
  • zapslog.NewHandler 호출에서 불필요한 nil 인자 제거
  • fileserver에 .avif 이미지 형식 지원 추가
  • reverseproxy에서 ServerName에 placeholder가 있을 경우 DialTLSContext 사용
  • admin 라우터 프로비저닝 문제 해결
  • 로그 설정에서 {in,ex}clude 옵션이 기본 로거에 적용되도록 수정
  • local admin server 교체 로직 개선
  • acme_server에서 Caddyfile 파싱 오류 수정
  • interceptedResponseHandler에 Unwrap 메서드 구현
  • fileserver에서 잘못된 경로 오류를 fs.ErrInvalid로 매핑하고 400 오류 반환
  • caddyhttp에서 와일드카드가 없는 경로 비교 시 문제 해결
  • maps.Copy 및 slices.Contains를 사용하여 코드 간결성 개선
  • golangci-lint 구성 및 워크플로우를 v2로 업그레이드
  • golangci/golangci-lint-action 버전 업데이트
  • 이벤트 발생 시 null 체크 추가하여 크래시 방지
  • 에러 핸들러가 서브 핸들러 매처를 덮어쓰는 문제 수정
  • client_auth에서 leaf verifier Caddyfile 연결
  • log_skip 지시문에서 블록 거부
  • github.com/cloudflare/circl 라이브러리 버전 업데이트
  • caddy adapt 명령이 stdin에서 읽을 수 있도록 개선
  • hash-password 명령에 bcrypt cost 파라미터 추가
  • httpcaddyfile에서 TLS DNS 챌린지 옵션 검증
  • http: KeepAliveInterval이 음수일 때 keepalive 비활성화
  • http: 리스너 바인딩 실패 시 리스너 정리
  • http: h1, h2, h2c 요청 처리를 위해 새로운 http.Protocols 사용
  • cmd: Commands 함수가 등록된 모든 명령을 반환하도록 수정
  • reverse proxy: http transport에서 버전 유효성 검사
  • fileserver: 내장 JavaScript에 대한 라이선스 명시
  • dead link 수정
  • ci: 종속성 검토 및 OSSF 스코어카드 액션 추가
  • core: 새 구성 실행 실패 시 정리
  • file_server: Content Length 헤더 강제 설정을 위해 precompressed 정적 파일에 Range 헤더 설정
  • go 버전 업데이트 (v1.25)

이번 릴리스에 기여해주신 모든 분들께 감사드립니다!

```

원문 내용

This is probably our biggest patch release ever -- not that lots of things were broken, but there's lots of refinement happening thanks to broader adoption and contributions from many more people. Just look at the New Contributors below!

Anyway, this release does contain some bug fixes and dependency upgrades which we hope will serve you well. Let us know if there's any issues! And thank you to all who contributed, especially our reliable maintainer team!

What's Changed

Changelog

  • 44d078b acme_server: fix policy parsing in caddyfile (#7006)
  • 320c572 admin: Make sure that any admin routers are provisioned when local/re… (#6997)
  • 49dac61 bcrypt: add cost parameter to hash-password (#7149)
  • 4bfc3b9 bcrypt: wrong cost flag name (#7168)
  • 4b01d77 build(deps): bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 (#7058)
  • 45c9341 build(deps): bump golangci/golangci-lint-action from 6 to 8 (#7044)
  • 5bc2afb build(deps): bump the actions-deps group with 6 updates (#7142)
  • 007f406 build(deps): bump the all-updates group across 1 directory with 17 updates (#7155)
  • 8524386 caddyhttp: Compare paths w/o wildcard if prefixes differ (#7015)
  • 7590c9c caddyhttp: Free up quic listener when stopping (#7177)
  • b15ed9b caddyhttp: refactor to use reflect.TypeFor (#7187)
  • 14a63a2 caddyhttp: use the new http.Protocols to handle h1, h2 and h2c requests (#6961)
  • 731e6c2 caddytls: Improve ECH error logging (close #7152)
  • 105eee6 caddytls: Set local_ip, not remote_ip (#6952)
  • b898873 caddytls: fix regression in external certificate manager support (#7179)
  • 1481c04 caddytls: wire up client_auth leaf verifier Caddyfile (#6772)
  • 19ff47a cmd: Allow caddy adapt to read from stdin (#7163)
  • e633d01 cmd: fix Commands function not returning all registered commands (#7059)
  • 7099892 core: Check for nil event origin (#7047)
  • 3d0b4fa core: Clean up new config if it failed to run (#7068)
  • 051e73a core: Replace admin server later in provisionContext (#7004)
  • fe41ff3 core: Save app provisioning errors with context (#7070)
  • e4447c4 core: Use KeepAliveConfig to pass keepalive_interval to listener's accepted sockets (#7151)
  • b9710c6 fileserver: Add a few doc lines about Etag file content (#7173)
  • 3b4d966 fileserver: Add sort buttons in grid mode (#7089)
  • 54d03ce fileserver: Add support for .avif image format (#6988)
  • 790f3e0 fileserver: denote license for embedded JavaScript for LibreJS (#7127)
  • 94147ca fileserver: map invalid path errors to fs.ErrInvalid, and return 400 for any invalid path errors. (close #7008) (#7017)
  • 67debd0 fileserver: set Range header for precompressed static files to force Content Length header to appear (#7042)
  • 89ed5f4 fix: Remove nil arg from zapslog.NewHandler call (#6984)
  • 3723e89 go.mod: Upgrade CertMagic to v0.24.0
  • 3bd4135 go.mod: Upgrade dependencies
  • a6d488a go.mod: update quic-go to v0.51.0 (#6972)
  • 11c6dae go.mod: update quic-go to v0.53.0 (#7094)
  • bbf1dfc headers: Support placeholders in replacement search patterns (#7117)
  • f11c780 http: clean up listeners if some of the listeners fail to bind (#7176)
  • fdf6108 http: disable keepalive when KeepAliveInterval is negative (#7158)
  • 5b727bd httpcaddyfile: Allow naked acme_dns if dns is set (fix #7091)
  • 0badb07 httpcaddyfile: Fix generated config related to ACME global options
  • 092913a httpcaddyfile: Prevent error handler from overriding sub-handler matchers (#6999)
  • 77dd12c httpcaddyfile: Validates TLS DNS challenge options (#7099)
  • 0f209f6 httpcaddyfile: reject blocks in log_skip directive (#7056)
  • 716d72e intercept: implement Unwrap for interceptedResponseHandler (#7016)
  • 9f71483 log: default logger should respect {in,ex}clude (#6995)
  • 33c88bd refactor: replace HasPrefix+TrimPrefix with CutPrefix (#7095)
  • ab3b2d6 refactor: use slices.Equal to simplify code (#7141)
  • 1c596e3 reverse_proxy: use the new KeepAliveConfig to set probe interval (#7157)
  • aa3d20b reverseproxy: Use DialTLSContext if ServerName has placeholder (#6955)
  • 737936c reverseproxy: reference correct field name in LoadModule (#6978)
  • 1209b5c reverseproxy: validate versions in http transport (#7112)

New Contributors

Full Changelog: v2.10.0...v2.10.1

링크 : https://github.com/caddyserver/caddy/releases/tag/v2.10.1