Laravel 13.4.0 업데이트
릴리스: 2026년 4월 7일
평가: 2026년 8월 28일
Laravel 13.4.0은 큐/알림 관련 어트리뷰트 버그 수정, 몇 가지 널(null) 입력 처리 크래시 수정, 큐 작업 조회용 신규 메서드 및 FormRequest strict mode 기능 추가를 포함하는 통상적인 마이너 릴리스입니다. 대부분 버그 수정이며 하위 호환성을 깨는 변경은 명시되어 있지 않아, 즉시 조치가 필요한 항목은 없습니다.
패키지 관리자가 확인할 것
- Http (illuminate/http)위험도 낮음
`$request->interval()`이 매우 작은 float 값에서 실패하던 버그가 수정되었습니다(#59502). Interval 관련 요청 검증 로직을 사용 중이면 정상 동작 확인 권장.
대응 체크리스트
- 큐/알림 어트리뷰트(#[Delay], #[WithoutRelations], #[CollectedBy]) 사용 시 동작 재확인가까운 시일
이번 릴리스에서 이들 어트리뷰트의 상속·해석 관련 버그가 여러 건 수정되었습니다(#59504, #59488, #59568, #59514, #59513). 해당 어트리뷰트를 큐 작업/알림 클래스에서 사용 중이면 업그레이드 후 지연(delay), 큐 이름(onQueue) 등이 의도대로 동작하는지 테스트하세요.
- FormRequest strict mode 신규 기능 검토선택
#59430에서 FormRequest strict mode가 추가되었고, #59574에서 테스트 간 전역 strict mode 초기화를 위한 flushState가 추가되었습니다. 필요 시 도입 검토, 필수 적용 대상은 아님.
- starts_with/ends_with, in/not_in, contains 검증 규칙에 null 값을 넘기는 코드 확인선택
비문자열/null 값 전달 시 TypeError나 deprecation 경고가 발생하던 버그들이 수정되었습니다(#59541, #59561, #59576). 해당 규칙을 사용하는 검증 로직이 있다면 업그레이드 후 경고가 사라지는지 확인하세요.
자동 생성상세 평가
요약
Laravel 13.4.0은 큐 어트리뷰트, 알림, 검증 규칙, 문자열/날짜 헬퍼 등에 대한 다수의 버그 수정과 소규모 기능 추가(큐 작업 조회 메서드, FormRequest strict mode)를 포함하는 마이너 릴리스입니다. 릴리스 노트 전반이 버그 수정과 내부 개선 위주이며, 공개 API를 깨뜨리는 변경은 명시되어 있지 않습니다.
주요 변경
#[Delay]큐 어트리뷰트가 누락되던 문제 수정 및 Bus Dispatcher·NotificationSender에서 실제 반영(#59504, #59514, #59513)#[CollectedBy]가 abstract 부모 클래스를 통해 해석되지 않던 문제 수정(#59488)#[WithoutRelations]가 자식 클래스에 상속되지 않던 문제 수정(#59568)- 런타임
onQueue()등 속성 오버라이드가 클래스 어트리뷰트보다 우선하도록 수정(#59468) $request->interval()이 매우 작은 float 값에서 실패하던 버그 수정(#59502)Str::markdown()/Str::inlineMarkdown()이 null 입력 시 크래시하던 문제 수정(#59554)starts_with/ends_with,Contains/DoesntContain,In/NotIn검증 규칙의 null/비문자열 값 처리 시 TypeError 및 deprecation 경고 수정(#59541, #59561, #59576)- 인증 실패 시 리다이렉트 처리에서 null을 명시적으로 허용(unauthenticated 핸들러,
redirectGuestsTo())(#59505, #59526) - Carbon
plus/minus에overflow옵션 추가(#59509) - 큐 작업 조회용 신규 메서드 추가(#59511)
- FormRequest strict mode 기능 추가 및 테스트 간 상태 초기화용
flushState추가(#59430, #59574) SessionManager의 clone 제거 변경을 되돌려 중복 Redis 커넥션 방지 로직 복원(#59542)
하위 호환성
릴리스 노트에 공개 API의 시그니처나 동작이 이전과 달라졌다는 명시적 언급은 없습니다. 모두 버그 수정, 기존 동작 복원(revert), 신규 기능 추가로 설명되어 있어 별도의 breaking change로 분류할 근거가 없습니다.
패키지 관리자가 확인할 것
- Http (illuminate/http):
$request->interval()관련 버그 수정이 있었으므로, 이 메서드를 사용하는 코드가 있다면 동작 확인 권장. - 목록의 나머지 등록 패키지(Scout, Socialite, Inertia Laravel 등)에는 이번 릴리스 노트에서 직접 관련된 변경 사항이 언급되지 않았습니다.
대응 체크리스트
- 큐 작업/알림 클래스에서
#[Delay],#[WithoutRelations],#[CollectedBy]어트리뷰트를 사용 중이면 업그레이드 후 동작 재확인 -
starts_with/ends_with,in/not_in,contains검증 규칙에 null 값이 전달될 수 있는 폼이 있다면 경고/에러가 해소됐는지 확인 -
$request->interval()을 사용 중이면 정상 동작 확인 - 필요 시 FormRequest strict mode 도입 검토 (선택 사항)
- 그 외 일반적인 마이너 업그레이드 절차(테스트 스위트 실행)만 수행하면 충분
GitHub 릴리스 노트를 근거로 언어 모델 (claude-sonnet-5)이 작성했으며, 사람이 검수하지 않았습니다. 실제 적용 전에는 공식 릴리스 노트와 업그레이드 가이드를 함께 확인하세요.
GitHub 원문 릴리스 노트 보기
- [13.x] Fix missing
Illuminate\Queue\Attributes\Delayattribute by @fadez in https://github.com/laravel/framework/pull/59504 - [13.x] Fix
$request->interval()failing with very small float values by @SanderMuller in https://github.com/laravel/framework/pull/59502 - [13.x] Add pint.json to export-ignore by @axlon in https://github.com/laravel/framework/pull/59497
- [13.x] Add --ignore-scripts to yarn in BroadcastingInstallCommand by @sumaiazaman in https://github.com/laravel/framework/pull/59494
- [13.x] Fix static closure binding in remaining manager classes by @sumaiazaman in https://github.com/laravel/framework/pull/59493
- [13.x] Fix CollectedBy attribute not resolving through abstract parent classes by @jackbayliss in https://github.com/laravel/framework/pull/59488
- [13.x] Fix: Allow runtime property overrides (onQueue) to take precedence over class attributes by @niduranga in https://github.com/laravel/framework/pull/59468
- [13.x] Use #[Delay] attribute in Bus Dispatcher by @sumaiazaman in https://github.com/laravel/framework/pull/59514
- [13.x] Use #[Delay] attribute in NotificationSender by @sumaiazaman in https://github.com/laravel/framework/pull/59513
- [13.x] Add
overflowoption to Carbon plus and minus by @lucasmichot in https://github.com/laravel/framework/pull/59509 - [13.x] Fix: respect null redirect in unauthenticated exception handler by @timmylindh in https://github.com/laravel/framework/pull/59505
- [13.x] Fix TypeError in starts_with/ends_with validation rules on non-string values by @sumaiazaman in https://github.com/laravel/framework/pull/59541
- [13.x] allow null to be passed directly to redirectGuestsTo() by @timmylindh in https://github.com/laravel/framework/pull/59526
- Revert "[13.x] Remove unnecessary clone in SessionManager to prevent duplicate Redis connections" by @taylorotwell in https://github.com/laravel/framework/pull/59542
- [13.x] Fix deprecation warning in Contains and DoesntContain rules when values contain null by @sumaiazaman in https://github.com/laravel/framework/pull/59561
- [13.x] Fix Str::markdown() and Str::inlineMarkdown() crash on null input by @sumaiazaman in https://github.com/laravel/framework/pull/59554
- [13.x] Add queue methods to inspect jobs by @jackbayliss in https://github.com/laravel/framework/pull/59511
- Feature/form request strict mode by @NurullahDemirel in https://github.com/laravel/framework/pull/59430
- Bump vite from 7.3.1 to 7.3.2 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/59571
- [13.x] Fix deprecation warning in In and NotIn rules when values contain null by @sumaiazaman in https://github.com/laravel/framework/pull/59576
- [13.x] Add flushState to FormRequest to reset global strict mode between tests by @sumaiazaman in https://github.com/laravel/framework/pull/59574
- [13.x] Fix
#[WithoutRelations]queue attribute not being inherited by child classes by @stevebauman in https://github.com/laravel/framework/pull/59568