Laravel 13.23.0 업데이트
릴리스: 2026년 7월 27일
평가: 2026년 8월 28일
이번 13.23.0 릴리스는 새로운 로그 채널(monthly), SES v2 테넌트 지원, 유지보수 모드 우회 시크릿 비교 방식 개선 등 소규모 기능 추가와 버그 수정으로 구성되어 있습니다. 문서화된 공개 API를 깨뜨리는 변경은 없으며, 대부분 애플리케이션은 별다른 조치 없이 업데이트해도 무방합니다.
대응 체크리스트
- 유지보수 모드 우회 시크릿 비교 방식 변경 확인선택
PR #60896에서 maintenance mode bypass secret 비교가 timing-safe 방식으로 변경되었습니다. 기능적으로는 동일하게 동작해야 하나, 유지보수 모드 우회 기능을 사용 중이라면 정상 동작하는지 한번 확인하는 것을 권장합니다.
- SES 발신 사용 시 신규 테넌트 옵션 검토선택
PR #60886에서 SES v2 transport에 테넌트 지정 기능이 추가되었습니다. AWS SES 멀티 테넌트 환경을 사용한다면 새 옵션을 활용할 수 있는지 문서를 확인하세요.
- monolog/monolog 제약 조건 상향 확인가까운 시일
PR #60894에서 monolog/monolog 버전 제약이 상향되었습니다. composer update 시 monolog 버전 충돌이 없는지 확인하세요.
자동 생성상세 평가
요약
13.23.0은 마이너 릴리스로, monthly 로그 드라이버 추가, SES v2 테넌트 지원, 유지보수 모드 우회 시크릿의 timing-safe 비교 적용, 여러 버그 수정(Arr::last, CookieJar::queued, schedule:list 타임존 처리 등)으로 구성되어 있습니다. 문서화된 공개 API를 깨는 변경 사항은 확인되지 않았습니다.
주요 변경
- 로깅 설정에
monthly채널 추가 (#60892, #60895) - SES v2 트랜스포트에 테넌트(tenant) 지정 기능 추가 (#60886)
- 유지보수 모드 우회 시크릿 비교를 timing-safe 방식으로 변경 (#60896) — 보안 강화 목적이나 동작 자체는 문서화된 API 변경이 아님
ImageManager::fromStorage가 디스크 인자로 enum을 허용하도록 개선 (#60889)- PostgreSQL 마이그레이션의
change()에서->using(...)허용 (#60901) Arr::last()의 null 처리 버그 수정 (#60887)CookieJar::queued()의 기본값 처리 버그 수정 (#60904)schedule:list의 타임존 변환 버그 수정 (#60877)ShouldBeUniqueUntilProcessing관련 이전 수정 되돌림 (#60905) — 이전 동작으로 복원됨
하위 호환성
릴리스 노트 상으로 문서화된 공개 API를 깨뜨리는 변경은 없습니다. 대부분 신규 기능 추가, 타입 개선, 버그 수정입니다. 다만 #60905에서 이전 PR을 되돌린 점은, 만약 그 사이 버전에서 ShouldBeUniqueUntilProcessing 관련 동작 변경에 의존한 코드가 있었다면 원래 동작으로 되돌아간다는 점을 유의해야 합니다.
패키지 관리자가 확인할 것
등록된 패키지 목록 중 이번 릴리스 노트 내용과 직접적으로 연관된 패키지는 없습니다. Http, Scout, Socialite 등 코어 관련 패키지에 영향을 주는 변경 사항은 언급되지 않았습니다.
대응 체크리스트
- SES 발송 시 멀티 테넌트 옵션 필요 여부 검토 (선택)
- 유지보수 모드 우회 기능 사용 중이라면 정상 동작 확인 (선택)
-
composer update후 monolog/monolog 버전 충돌 여부 확인 (권장) -
ShouldBeUniqueUntilProcessing관련 잡 동작에 의존하고 있었다면 되돌려진 동작 확인 (선택)
GitHub 릴리스 노트를 근거로 언어 모델 (claude-sonnet-5)이 작성했으며, 사람이 검수하지 않았습니다. 실제 적용 전에는 공식 릴리스 노트와 업그레이드 가이드를 함께 확인하세요.
GitHub 원문 릴리스 노트 보기
- Bump postcss from 8.5.15 to 8.5.23 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/60884
- [13.x] Add a monthly log driver by @SjorsO in https://github.com/laravel/framework/pull/60892
- [13.x] Improve types in
Imageclass by @shaedrich in https://github.com/laravel/framework/pull/60890 - Fix null handling in Arr::last() method by @AmadulHaque in https://github.com/laravel/framework/pull/60887
- [13.x] Allow ImageManager fromStorage disk to accept enums by @riesjart in https://github.com/laravel/framework/pull/60889
- [13.x] Add SES tenant support to the SES v2 transport by @atymic in https://github.com/laravel/framework/pull/60886
- Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in https://github.com/laravel/framework/pull/60900
- [13.x] Prevent fatal errors when logging deprecations fails by @GrahamCampbell in https://github.com/laravel/framework/pull/60893
- [13.x] Bump
monolog/monologconstraint by @jackbayliss in https://github.com/laravel/framework/pull/60894 - [13.x] Add monthly channel to logging config by @yazansalhi in https://github.com/laravel/framework/pull/60895
- [13.x] Use a timing-safe comparison for the maintenance mode bypass secret by @yazansalhi in https://github.com/laravel/framework/pull/60896
- [13.x] Improve
Collection::selectgeneric types by @timacdonald in https://github.com/laravel/framework/pull/60898 - [13.x] Allow ->using(...) in ->change() migrations for PostgreSQL compatibility by @shemgp in https://github.com/laravel/framework/pull/60901
- Revert "[13.x] Fix that retries of
ShouldBeUniqueUntilProcessingjobs are force-releasing locks they don't own" by @taylorotwell in https://github.com/laravel/framework/pull/60905 - [13.x] Fix default handling in
CookieJar::queued()by @alies-dev in https://github.com/laravel/framework/pull/60904 - [13.x] Fix schedule:list timezone conversion for range, step, and wildcard cron expressions by @xiCO2k in https://github.com/laravel/framework/pull/60877