Laravel 13.6.0영향도 보통마이너13.x

Laravel 13.6.0 업데이트

릴리스: 2026년 4월 21일

평가: 2026년 8월 28일

13.6.0은 마이너 릴리스로 다수의 버그 수정과 소규모 기능 추가를 포함합니다. 대부분은 하위 호환되지만, 암호화 MAC 검증 방식 변경과 일부 유효성 검사 규칙 동작 수정은 특정 설정을 사용하는 앱에서 실제 동작 차이를 유발할 수 있어 확인이 필요합니다.

예상되는 하위 호환성 문제

  • 암호화 시 모든 키에 대해 MAC 검증심각도 보통

    PR #59742에서 'Validate MAC across all decryption keys'로 변경되어, 이전에는 특정 키 하나만으로 통과하던 검증 로직이 여러 키(previousKeys 등)를 모두 대상으로 MAC을 검사하도록 바뀌었습니다. 키 로테이션을 사용 중인 앱에서 복호화 성공/실패 여부가 달라질 수 있습니다.

    영향 범위: APP_KEY/APP_PREVIOUS_KEYS를 통한 암호화 키 로테이션을 사용하는 애플리케이션

  • digits_between, decimal, max_digits, min_digits 검증 규칙의 타입 처리 변경심각도 낮음

    PR #59717, #59739에서 문자열이 아닌 값이 들어올 때 TypeError가 발생하던 것을 수정하고 preg_match 호출 전 문자열로 캐스팅하도록 변경했습니다. 기존에 예외로 실패 처리되던 입력이 이제 정상적으로 검증을 통과하거나 다른 결과를 낼 수 있습니다.

    영향 범위: digits_between/decimal/max_digits/min_digits 검증 규칙을 숫자가 아닌 값(배열, 객체 등)에 적용하는 폼 요청/유효성 검사 로직

  • Cursor::fromEncoded가 잘못된 페이로드에 대해 null 반환심각도 낮음

    PR #59699에 따라 malformed 커서 문자열을 넘겼을 때 예외 대신 null을 반환하도록 변경되었습니다. 이전에 예외를 캐치해 처리하던 코드가 있다면 null 체크로 바꿔야 합니다.

    영향 범위: 커스텀 페이지네이션/커서 처리 로직에서 Cursor::fromEncoded를 직접 사용하는 코드

대응 체크리스트

  • 암호화 키 로테이션 사용 여부 확인가까운 시일

    config/app.php의 previous_keys(APP_PREVIOUS_KEYS)를 사용 중이라면, 업그레이드 후 기존 암호화된 데이터의 복호화가 정상 동작하는지 테스트하세요.

  • 숫자 관련 커스텀 유효성 검사 재확인선택

    digits_between, decimal, max_digits, min_digits 규칙에 문자열이 아닌 값(예: 배열, null이 아닌 객체)을 전달하는 폼이 있다면 동작이 바뀌었는지 테스트 스위트로 확인하세요.

  • Cursor::fromEncoded 직접 사용 코드 점검선택

    커스텀 페이지네이션에서 Cursor::fromEncoded 호출 후 예외 처리를 하고 있었다면 null 반환에 대응하도록 코드를 점검하세요.

자동 생성상세 평가

요약

13.6.0은 마이너 버전으로, 다수의 버그 수정(number abbreviation, Cursor, rate limiter, Vite CSS 로딩 등)과 소규모 신기능(디바운스 큐 작업, health 라우트 JSON 응답, enum 지원 확대, Cloudflare Email Service 지원 등)을 포함합니다. 대부분 하위 호환되며 즉시 대응이 필요한 치명적 변경은 없습니다.

주요 변경

  • 암호화 MAC 검증이 모든 복호화 키(이전 키 포함)에 대해 수행되도록 변경 (#59742)
  • digits_between/decimal/max_digits/min_digits 검증 규칙에서 비문자열 값 처리 방식 수정 (#59717, #59739)
  • Cursor::fromEncoded가 잘못된 페이로드에 대해 예외 대신 null 반환 (#59699)
  • 큐 디바운스 작업(debounceable queued jobs) 신규 지원 (#59507)
  • health 라우트에서 JSON 응답 지원 (#59710)
  • PasswordBrokerManager, BroadcastManager, NotificationChannelManager에 enum 지원 추가
  • SQS 큐 연결에서 named credential provider 지원 추가 (#59733)
  • Vite에서 중첩 청크 임포트 시 CSS 미로딩 문제 수정 (#59662)

하위 호환성

제공된 릴리스 노트 기준으로 공개 API를 깨뜨리는 변경은 명시되어 있지 않습니다. 다만 암호화 키 로테이션 사용 시 MAC 검증 대상 확대로 인해 동작 차이가 발생할 수 있고, 일부 유효성 검사 규칙의 타입 처리 변경으로 예외 발생 여부가 달라질 수 있습니다.

패키지 관리자가 확인할 것

등록된 패키지 목록 중 이번 릴리스 노트에서 직접 영향을 받는 항목은 확인되지 않았습니다. Http(illuminate/http), Socialite(laravel/socialite), Scout(laravel/scout) 등은 이번 변경 사항과 직접적인 연관이 없습니다.

대응 체크리스트

  • APP_PREVIOUS_KEYS(암호화 키 로테이션) 사용 여부 확인 및 복호화 테스트
  • digits_between/decimal/max_digits/min_digits 규칙에 비문자열 입력을 사용하는 폼이 있는지 점검
  • Cursor::fromEncoded를 직접 호출하는 커스텀 페이지네이션 코드가 있다면 null 반환 처리 확인
  • (선택) 디바운스 큐 작업, health 라우트 JSON 응답 등 신규 기능 도입 검토

GitHub 릴리스 노트를 근거로 언어 모델 (claude-sonnet-5)이 작성했으며, 사람이 검수하지 않았습니다. 실제 적용 전에는 공식 릴리스 노트와 업그레이드 가이드를 함께 확인하세요.

GitHub 원문 릴리스 노트 보기
GitHub 공식 릴리스 노트 보기 →