Laravel 13.17.0 업데이트
릴리스: 2026년 6월 24일
평가: 2026년 8월 28일
이번 13.17.0은 마이너 릴리스로 새 기능(캐시 락 리프레시, 라우트 메타데이터, dev:list 명령, DumpCommand 옵션 등)과 다수의 버그 수정, 타입힌트 개선이 포함되어 있습니다. 문서화된 공개 API를 깨는 변경은 노트에 명시되어 있지 않아 대부분의 애플리케이션은 즉시 대응할 필요가 없습니다.
대응 체크리스트
- Postgres 사용 시 whereDate/whereTime 및 트랜잭션 풀러 관련 수정 확인선택
PR #60540(Expression 컬럼에서 whereDate/whereTime 크래시 수정)과 #60425(Postgres transaction pooler 지원) 변경 사항이 실제 환경에 영향을 주는지 changelog 기준으로 확인하세요.
- 커스텀 재시도 로직이 있다면 Exception Handler 변경 확인선택
PR #60552 'Should Not Retry Exception Handler' 변경이 큐 작업 재시도 판단 로직에 영향을 주는지 확인하세요.
- composer.json의 brick/math 제약 조건 확인선택
PR #60560에서 brick/math 0.18 허용이 추가되었으므로, 의존성 충돌이 있었다면 composer update로 해결 가능한지 확인하세요.
자동 생성상세 평가
요약
13.17.0은 마이너 릴리스로, 캐시 락 리프레시, 라우트 메타데이터 지원, dev:list 명령 추가, DumpCommand --without-migration-data 옵션 등 새로운 기능과 다수의 버그 수정이 포함되어 있습니다. 릴리스 노트상 문서화된 공개 API를 깨뜨리는 변경은 확인되지 않았습니다.
주요 변경
- 캐시 락(lock)을 갱신(refresh)할 수 있는 기능 추가 (#58349)
- 라우트에 메타데이터를 부여할 수 있는 기능 추가 (#60530)
- 새 아티즌 명령
dev:list추가 및 dev 명령 출처 추적 (#60573) DumpCommand에--without-migration-data플래그 추가 (#60570)- Postgres에서
whereDate/whereTime이 Expression 컬럼일 때 크래시하던 버그 수정 (#60540) - Postgres 트랜잭션 풀러 지원 추가 (#60425)
between()/unlessBetween()이timezone()호출 순서에 무관하게 동작하도록 수정 (#60518)- FileStore 캐시의 짧은 타임스탬프 역직렬화 버그 수정 (#60543)
- 연결 끊김 시 트랜잭션 매니저 상태 초기화 (#60574)
- JsonSchema에 유니온 타입 지원 추가, 그리고
$ref무한 확장 방지 가드 추가 (#60462, #60524)
하위 호환성
릴리스 노트 어디에도 동작 변경(behaviour change)으로 인해 기존 코드가 깨진다는 명시적 언급은 없습니다. 대부분 버그 수정, 타입힌트/애너테이션 보강, 신규 기능 추가이며 breaking change로 분류할 근거가 없습니다.
패키지 관리자가 확인할 것
제공된 등록 패키지 목록 중 이번 릴리스 노트에서 직접적으로 언급되거나 영향받는다고 판단할 근거가 있는 패키지는 없습니다. illuminate/http를 포함한 목록 내 패키지들에 대한 구체적 변경 사항은 노트에 없습니다.
대응 체크리스트
- Postgres를 사용 중이라면
whereDate/whereTime및 트랜잭션 풀러 관련 변경(#60540, #60425) 검토 - 큐 작업에 커스텀 재시도 판단 로직이 있다면 Exception Handler 변경(#60552) 검토
-
brick/math버전 제약이 있는 경우 0.18 허용 변경(#60560) 확인 - 특별한 이슈가 없다면 통상적인
composer update만으로 충분함
GitHub 릴리스 노트를 근거로 언어 모델 (claude-sonnet-5)이 작성했으며, 사람이 검수하지 않았습니다. 실제 적용 전에는 공식 릴리스 노트와 업그레이드 가이드를 함께 확인하세요.
GitHub 원문 릴리스 노트 보기
- [12.x] Add multi-type union support to Illuminate JsonSchema by @pushpak1300 in https://github.com/laravel/framework/pull/60462
- [12.x] Add new error messages for detecting lost connections by @mfn in https://github.com/laravel/framework/pull/60472
- [12.x] Ability to refresh cache locks by @bytestream in https://github.com/laravel/framework/pull/58349
- [12.x] Guard JsonSchema deserializer against unbounded $ref expansion by @pushpak1300 in https://github.com/laravel/framework/pull/60524
- [13.x] Improve types of InteractsWithData when* helpers by @dfinchenko in https://github.com/laravel/framework/pull/60536
- [13.x] Add missing @throws \ReflectionException annotations by @dfinchenko in https://github.com/laravel/framework/pull/60535
- [13.x] Add nightly workflow to verify framework install by @jackbayliss in https://github.com/laravel/framework/pull/60532
- [13.x] Fix DevCommands vendor registration check skipping userland frames by @joetannenbaum in https://github.com/laravel/framework/pull/60538
- [13.x] Fix FileStore cache deserialization with short timestamps by @hamdyelbatal122 in https://github.com/laravel/framework/pull/60543
- [13.x] Add missing @throws \InvalidArgumentException annotations by @maiobarbero in https://github.com/laravel/framework/pull/60546
- [12.x] Fix Postgres whereDate/whereTime crash when column is Expression by @irabbi360 in https://github.com/laravel/framework/pull/60540
- [13.x] Add route metadata support by @benbjurstrom in https://github.com/laravel/framework/pull/60530
- [13.x] Make between()/unlessBetween() independent of timezone() call order by @ManicardiFrancesco in https://github.com/laravel/framework/pull/60518
- [13.X] Fix too narrow typehint for validateBoolean and validateNumeric by @chippisc in https://github.com/laravel/framework/pull/60549
- [13.x] Fix: typo by @alipowerful7 in https://github.com/laravel/framework/pull/60556
- [13.x] Fix too narrow array-shape typehints where the first parameter is optional by @dfinchenko in https://github.com/laravel/framework/pull/60553
- [13.x] Add Postgres transaction pooler support by @DGarbs51 in https://github.com/laravel/framework/pull/60425
- [13.x] Should Not Retry Exception Handler by @alexbowers in https://github.com/laravel/framework/pull/60552
- Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in https://github.com/laravel/framework/pull/60562
- [13.x] Allow brick/math 0.18 by @jackbayliss in https://github.com/laravel/framework/pull/60560
- [13.x] Reduce cache hits when debouncing with maxWait by @jackbayliss in https://github.com/laravel/framework/pull/60559
- Merge branch
12.xby @crynobone in https://github.com/laravel/framework/pull/60568 - Clear transaction manager state on disconnect by @lazerg in https://github.com/laravel/framework/pull/60574
- [13.x] Add
without-migration-dataflag to DumpCommand by @jackbayliss in https://github.com/laravel/framework/pull/60570 - Add
dev:listcommand and track dev command source by @joetannenbaum in https://github.com/laravel/framework/pull/60573