Laravel 13.10.0 업데이트
릴리스: 2026년 5월 20일
평가: 2026년 8월 28일
13.10.0은 마이너 릴리스로 대부분 버그 수정, 문서(docblock) 오타 수정, 큐 워커 관련 기능 추가로 구성되어 있습니다. 보안 관련 항목으로 이메일 검증에서 줄바꿈 문자를 거부하도록 한 변경이 포함되어 있어, 이메일 주소를 검증하는 애플리케이션은 확인이 필요합니다. 나머지는 선택적으로 채택 가능한 새 기능이며 즉시 대응이 필요한 항목은 적습니다.
패키지 관리자가 확인할 것
- Http (illuminate/http)위험도 낮음
URL Encode Paths(#60137) 변경으로 URL 경로 인코딩 처리가 조정되었습니다. 커스텀 URL 생성이나 경로 처리 로직이 있다면 응답 URL 형식을 확인하세요.
대응 체크리스트
- email 유효성 검증 규칙 확인가까운 시일
'Validate against line breaks in emails' (#60151) 변경으로 email 검증 규칙이 줄바꿈 문자를 포함한 값을 거부하도록 강화되었습니다. 사용자 입력에 개행 문자가 포함된 이메일을 의도적으로 허용하던 경우가 있는지 확인하세요.
- starts_with/ends_with 검증 규칙 재확인선택
숫자 값에 대해 starts_with/ends_with 규칙이 잘못 거부되던 버그가 수정되었습니다(#60120). 해당 규칙을 숫자 필드에 사용 중이라면 동작이 달라질 수 있으니 테스트로 확인하세요.
- 큐 워커 커스텀 로직 점검 (선택)선택
WorkerIdle 이벤트 추가, WorkerOptions를 Pausing/Resuming/Interrupted/Looping 콜백에 전달하는 변경(#60134, #60135, #60153) 등 큐 워커 확장 지점이 늘었습니다. 커스텀 큐 워커 리스너나 확장을 사용 중이면 새 기능 활용을 검토하세요.
- Http 패키지 URL 경로 인코딩 변경 확인가까운 시일
'URL Encode Paths' (#60137) PR로 URL 경로 인코딩 방식이 조정되었습니다. 커스텀 라우트/URL 생성 로직이 있다면 생성된 URL을 스냅샷 테스트 등으로 확인하세요.
자동 생성상세 평가
요약
13.10.0은 마이너 릴리스로, 대부분의 변경 사항이 버그 수정, docblock 오타 수정, 테스트 개선, 큐 워커 관련 신규 기능(이벤트, 콜백 확장)입니다. 공개 API를 깨뜨리는 항목은 릴리스 노트상 확인되지 않습니다.
주요 변경
- 이메일 검증 규칙이 줄바꿈 문자를 거부하도록 강화됨 (#60151)
- URL 경로 인코딩 처리 변경 (#60137)
- starts_with/ends_with 검증 규칙이 숫자 값을 잘못 거부하던 버그 수정 (#60120)
- 큐 워커에 WorkerIdle 이벤트 추가 및 WorkerOptions를 Pausing/Resuming/Interrupted/Looping 콜백에 전달 (#60134, #60135, #60153)
- Schedule::group()에 생명주기/출력 콜백 허용, 콜백에 Event 인스턴스 전달 지원 (#60133, #60144)
- TestResponse에 assertPushedOnce() 추가, QueueFake에서 enum 큐 이름 지원, ListFailedCommand JSON 출력 옵션, 스키마 외래 키 존재 확인 헬퍼 추가 등 신규 편의 기능
하위 호환성
릴리스 노트에 공개 API를 깨뜨린다고 명시된 항목은 없습니다. 다만 이메일 검증 강화와 URL 경로 인코딩 변경은 특정 입력값에 대한 동작 변화를 유발할 수 있으므로 '변경'이 아닌 '동작 조정'으로 분류하되 확인을 권장합니다.
패키지 관리자가 확인할 것
- Http (illuminate/http): URL 경로 인코딩 처리 변경(#60137)으로 커스텀 URL/경로 생성 로직에 영향이 있을 수 있음.
- 등록된 다른 패키지(Sendgo, Core, Inertia Laravel, Scout, Socialite 계열 등)에 직접 영향을 주는 항목은 릴리스 노트에서 발견되지 않았습니다.
대응 체크리스트
- 이메일 검증 규칙을 사용하는 폼/API에서 개행 문자 포함 입력이 거부되는지 테스트
- URL 생성/라우팅 로직에서 경로 인코딩 결과가 기존과 동일한지 스냅샷 비교
- starts_with/ends_with 검증 규칙을 숫자 필드에 사용 중이면 재테스트
- 큐 워커 확장(리스너, 커스텀 워커)을 사용 중이면 새로 추가된 이벤트/콜백 옵션 검토 (선택)
GitHub 릴리스 노트를 근거로 언어 모델 (claude-sonnet-5)이 작성했으며, 사람이 검수하지 않았습니다. 실제 적용 전에는 공식 릴리스 노트와 업그레이드 가이드를 함께 확인하세요.
GitHub 원문 릴리스 노트 보기
- [13.x] Improve queue metric tests by @timacdonald in https://github.com/laravel/framework/pull/60124
- [13.x] Add tests for SeeInHtml constraint covering unicode whitespace by @scabarcas17 in https://github.com/laravel/framework/pull/60128
- [13.x] Fix starts_with/ends_with rules rejecting numeric values by @aydinfatih in https://github.com/laravel/framework/pull/60120
- Fix typo in docblock for listManagementOptions method in SesV2Transport by @daliendev in https://github.com/laravel/framework/pull/60115
- [13.x] Fix typo in mergeAttributeFromCachedCasts() PHPDoc comment by @mosabbirrakib in https://github.com/laravel/framework/pull/60112
- [13.x] Optimize Worker queue pause check by @jackbayliss in https://github.com/laravel/framework/pull/60109
- [13.x] Fix typo in preg_replace_array() PHPDoc comment by @mosabbirrakib in https://github.com/laravel/framework/pull/60111
- Add storage store by @taylorotwell in https://github.com/laravel/framework/pull/60131
- Fix typo in Builder::getRelation() comment by @rpsohag in https://github.com/laravel/framework/pull/60130
- URL Encode Paths by @taylorotwell in https://github.com/laravel/framework/pull/60137
- [13.x] Add WorkerIdle event by @jackbayliss in https://github.com/laravel/framework/pull/60134
- [13.x] Replace @return with @var on docblocks for properties in tests by @scabarcas17 in https://github.com/laravel/framework/pull/60132
- [13.x] Pass WorkerOptions to Pausing/Resuming/Interrupted by @jackbayliss in https://github.com/laravel/framework/pull/60135
- [13.x] Switch force check in Worker by @jackbayliss in https://github.com/laravel/framework/pull/60145
- [13.x] Skip delimiter filesystem tests on Windows by @jackbayliss in https://github.com/laravel/framework/pull/60143
- Delimit aggregate alias by @willrowe in https://github.com/laravel/framework/pull/60140
- [13.x] Allow lifecycle and output callbacks on Schedule::group() by @cosmastech in https://github.com/laravel/framework/pull/60133
- [13.x] Allow passing scheduled
Eventin callbacks by @cosmastech in https://github.com/laravel/framework/pull/60144 - Validate against line breaks in emails by @taylorotwell in https://github.com/laravel/framework/pull/60151
- [13.x] Add
assertPushedOnce()by @weshooper in https://github.com/laravel/framework/pull/60150 - [13.x] Fix callable usage in
Event@callEventCallback()by @cosmastech in https://github.com/laravel/framework/pull/60148 - [13.x] Fix numeric property names being cast to integers in JsonSchema requi… by @irabbi360 in https://github.com/laravel/framework/pull/60149
- [13.x] Pass worker options to Looping by @jackbayliss in https://github.com/laravel/framework/pull/60153
- [13.x] Support enum queue names in QueueFake by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60161
- [13.x] Remove obsolete @phpstan-ignore clauses by @jnoordsij in https://github.com/laravel/framework/pull/60164
- [13.x] Consistent test OS attributes by @jnoordsij in https://github.com/laravel/framework/pull/60162
- Output cloud request ID in logs by @jradtilbrook in https://github.com/laravel/framework/pull/60156
- [13.x] Optionally flush the SQS overflow store on queue:clear by @Orrison in https://github.com/laravel/framework/pull/60138
- [13.x] Add JSON output option to ListFailedCommand and corresponding tests by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60168
- [13.x] Add schema foreign key existence helper by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60169
- Stop when empty for by @taylorotwell in https://github.com/laravel/framework/pull/60176
- [13.x] Add initial value type to return of
reduceandreduceWithKeysby @jnoordsij in https://github.com/laravel/framework/pull/60178 - [13.x] Fix incorrect type hint in EncodedHtmlString::convert() docblock by @rpsohag in https://github.com/laravel/framework/pull/60186