
【2026년 5월】 Laravel/PHP 이달의 요약|공식 패스키 인증/AI SDK 서브 에이전트/13.8~13.12
요약
Laravel 5월 업데이트 요약으로, 공식 패스키(Passkey) 인증 패키지 도입과 AI SDK의 서브 에이전트 지원 기능이 핵심입니다. 또한 코어 버전 13.8~13.12 릴리스를 통해 큐(Queue) 관리 및 스토리지 캐시 등 운영 효율성을 높이는 개선 사항이 포함되었습니다.
핵심 포인트
- 공식 패스키 인증 패키지(서버, 클라이언트, Fortify) 출시
- AI SDK 내 서브 에이전트 지원 및 오케스트레이션 기능 강화
- 모든 큐를 통합 검사할 수 있는 Queue API 개선
- ClickHouse, Google Sheets 등 다양한 DB 드라이버 지원
5월의 Laravel은 인증 관련하여 큰 변화가 있었다. 공식(First-party) 패스키(Passkey) 인증 패키지가 등장했고, AI SDK는 서브 에이전트(Sub-agent)를 지원하며 오케스트레이션(Orchestration) 계층이 되었다. 코어는 13.8부터 13.12까지 5번의 릴리스가 있었다 (13.11은 Laravel News에 미게재). 큐(Queue) 검사나 스토리지 캐시(Storage Cache) 등 운영 계통의 개선이 중심이었다.
출처는 모두 Laravel News의 각 기사이다. 버전 번호나 메서드 명은 원문에 맞추었다.
공식 패스키 인증 (WebAuthn) 등장. 서버 (laravel/passkeys) + 클라이언트 (@laravel/passkeys) + Fortify의 3종 세트. -
AI SDK에 서브 에이전트 추가. 에이전트를 다른 에이전트의 도구(Tool)로 위임할 수 있으며, 서브 에이전트마다 프로바이더(Provider)를 변경할 수 있다. - 코어는 13.8~13.12. 전체 큐를 가로지르는 잡(Job) 검사, storage 캐시 드라이버, 스케줄러(Scheduler) 속성, ShouldBeDiscovered 등이 눈에 띈다. - DB 드라이버가 풍성함 (ClickHouse, Google Sheets, 플랫 파일 기반의 Laravel Paper).
- 보안은 PHP Foundation의 보안 팀 발족, Composer 2.10의 멀웨어(Malware) 차단, 변조 탐지 서비스인 Chronicle.
Laravel이 공식 패키지로서 패스키 인증을 도입했다. Face ID / Touch ID / Windows Hello / 보안 키에 대응하는, 피싱 내성이 높은 패스워드리스(Passwordless) 인증이다. 구성은 서버, 클라이언트, Fortify의 3종 세트다.
서버 측은 laravel/passkeys이다. User 모델에 트레이트(Trait)와 컨트랙트(Contract)를 추가한다.
use Laravel\
Passkeys\\Contracts\\PasskeyUser;
use Laravel\Passkeys\\PasskeyAuthenticatable;
class User extends Authenticatable implements PasskeyUser
...
클라이언트 측은 @laravel/passkeys이다. 브라우저의 세리머니(Ceremony, 등록 및 검증)를 처리하며, React / Vue / Svelte를 위한 SSR 세이프(SSR-safe)한 훅(Hook)을 갖추고 있다.
import { Passkeys } from '@laravel/passkeys'
// 등록 (인증된 사용자)
await Passkeys.register({ name: 'My MacBook' })
...
Fortify는 Features::passkeys()와 config/fortify.php의 passkeys 섹션에서 이 스택을 통합한다. 서버 패키지, npm 클라이언트, Fortify가 루트(Route)와 컨트랙트로 정렬되어 있어, 글루 코드(Glue code)를 작성하지 않고도 패스워드리스 인증을 구축할 수 있다.
특정 큐 이름이 필요한 Queue::reservedJobs('queue1')를 연쇄(Chaining)시키는 대신, 모든 큐를 한 번에 가져오는 allReservedJobs() / allDelayedJobs() / allPendingJobs()가 추가되었다. 배포 전에 "가동 중인 잡이 남아있지 않은지"를 통합적으로 확인할 수 있다.
// Before: 큐마다 1번의 쿼리
Queue::reservedJobs('queue1')
->merge(Queue::reservedJobs('queue2'));
...
반환되는 값은 uuid / name / attempts / createdAt을 가진 InspectedJob의 컬렉션(Collection)이다. 그 외에도 워커(Worker)의 WorkerPausing / WorkerResuming 이벤트, orderBy()에서의 SortDirection enum 대응도 포함된다.
Password::toPasswordRulesString()은 유효성 검사 규칙(Validation rule)으로부터 HTML의 passwordrules 속성을 생성한다. Apple에서 시작된 사양으로, Safari / 1Password / Bitwarden이 규칙에 맞는 비밀번호를 자동으로 제안할 수 있다. 패스키와 더불어 등록 폼의 UX 개선에 효과적이다.
// app/Providers/AppServiceProvider.php
Password::defaults(fn () => Password::min(12)->max(64)->mixedCase()->numbers()->symbols());
<input
type="password"
autocomplete="new-password"
...
그 외에 큰 SQS 페이로드의 디스크 퇴피(overflow 설정), Concurrency::run()의 타임아웃 지정, PendingDispatch의 when() / unless() 등 큐(Queue) 주변의 추가 사항이 많다.
파일 시스템 추상화를 백엔드로 가지는 storage 캐시 드라이버(Cache Driver)가 추가되었다. Redis나 Memcached 없이도 S3 등 임의의 디스크를 키/밸류(Key/Value) 캐시 스토어로 사용할 수 있다.
// config/cache.php
'storage' => [
'driver' => 'storage',
...
queue:work --stop-when-empty-for=60 (지정된 초 동안 작업이 없으면 중지), WorkerIdle 이벤트, Schema::hasForeignKey(), queue:failed --json 등 오토스케일(Autoscale) 운영에 유용한 세세한 추가 사항들도 갖춰졌다.
스케줄링된 이벤트에 withAttributes()로 메타데이터를 추가하여 라이프사이클 콜백(Lifecycle Callback)에서 참조할 수 있다. 커맨드 문자열을 파싱하지 않고도 모니터링이나 메트릭(Metrics) 태깅이 가능하다.
$schedule->command('audio:import-podcasts --only-premium')
->withoutOverlapping()
->withAttributes(['tag' => 'import-premium-podcasts']);
자동 감지 리스너(Automatic Discovery Listener)가 자신의 등록 가능 여부를 결정하는 ShouldBeDiscovered도 실용적이다. ShouldQueue인 리스너의 경우, 환경에 따라 디스패치(Dispatch) 자체를 하지 않도록 제어할 수 있다.
class NotifyExternalCrm implements ShouldBeDiscovered, ShouldQueue
{
public static function shouldBeDiscovered(): bool
...
레플리카(Replica) 운영 시의 기동 루프를 방지하는 Worker::$stopOnLostConnection = false, SQLite의 file: URI 연결 등도 포함되었다.
| 버전 | 주요 내용 | 유형 |
|---|---|---|
| 13.8 | 모든 큐를 가로지르는 allReservedJobs() 외 / SortDirection enum | 기능 추가 |
| 13.9 | Password::toPasswordRulesString() / SQS 오버플로 퇴피 | 기능 추가 |
| 13.10 | storage 캐시 드라이버 / --stop-when-empty-for | 기능 추가 |
| 13.12 | 스케줄러 withAttributes() / ShouldBeDiscovered | 기능 추가 |
이 외에도, AI 에이전트 내에서 실행될 경우 대화 프롬프트 대신 JSON을 반환하는 Laravel Installer v5.27.0, Tailwind CSS v4.3.0(스크롤바 스타일링 및 컨테이너 크기 유틸리티)도 출시되었다.
AI SDK에 서브 에이전트(Sub-agent): 다른 에이전트의 tools()에서 에이전트를 반환하는 것만으로 위임할 수 있다. 서브 에이전트마다 지시 사항이나 도구, 프로바이더(Provider)를 변경할 수 있으며, #[Provider(Lab::Anthropic)]를 통해 부모는 OpenAI, 서브는 Anthropic과 같이 나눌 수 있다. 각 호출은 독립적으로 실행되며 부모의 대화 이력을 이어받지 않는다는 점에 주의해야 한다.
public function tools(): iterable
{
return [
...
Larapanda: 타입 안전(Type-safe)한 Lightpanda 브라우저 SDK. AI 에이전트의 브라우저 조작이나 스크레이핑(Scraping)에 사용할 수 있다.
구현 중심의 튜토리얼도 2개가 출시되었다. Laravel × MongoDB의 AI 추천 엔진 구축(벡터 검색(Vector Search) + Hugging Face 임베딩(Embedding))과 MongoDB 전체 텍스트 검색(Full-text Search)의 관련도 튜닝에 관한 내용이다.
Laravel Chronicle: SHA-256 해시 체인(Hash Chain)으로 변조를 감지할 수 있는 추가 전용 감사 로그(Audit Log).
Moat: GitHub 계정의 보안을 리뷰하는 도구.
Composer 2.10: 멀웨어 차단 및 의존성 정책(Dependency Policy). 공급망(Supply Chain) 대책이 한 단계 진보했다.
Laravel ClickHouse: Eloquent나 Query Builder로 열 지향 DB인 ClickHouse를 다룰 수 있는 풀 기능 드라이버.
Google Sheets 드라이버: Google 스프레드시트를 데이터베이스로 사용.
Laravel Paper: 플랫 파일(Flat File) 대응 Eloquent 드라이버.
Laravel Addressable: 임의의 모델에 다형성(Polymorphic) 주소와 지리 공간 쿼리(Geospatial Query)를 부여.
Reorderable: Eloquent 모델에 드래그 앤 드롭 정렬 기능을 추가.
Expressive: Eloquent를 타입이 지정된 객체(Typed Object)로 취급.
Cadence: cron/RRULE 스케줄을 Eloquent 모델에 직접 연결.
Laravel Schema Sentinel: 마이그레이션(Migration)과 실제 DB를 비교하여 스키마 불일치(Drift)를 감지하고, 수정 마이그레이션을 생성.
Chevere Workflow: 작업(Job)과 의존 관계를 선언하여 병렬 실행을 자동화하는 선언적 PHP 워크플로우 엔진.
Laravel Brain: 요청 라이프사이클(Request Lifecycle)을 인터랙티브 그래프로 시각화.
Wirebones: 렌더링 결과로부터 Livewire 지연 로딩(Lazy Loading)용 스켈레톤(Skeleton)을 자동 생성.
Piper: PHP의 파이프 연산자(Pipe Operator)를 위해 배열이나 문자열을 다루는 Laravel 스타일의 헬퍼(Helper).
Laravel Fluent Validation: 객체 지향 규칙 빌더.
Laravel Toggle: 심플한 피처 플래그(Feature Flag).
Aegis: 값 객체(Value Object)의 스캐폴딩(Scaffolding) 및 유효성 검사 헬퍼.
Laravel Entitlements: 구독 플랜과 이용 권한을 관리.
Laravel Shopper: TALL 스택 기반의 헤드리스(Headless) 이커머스 관리 패널.
Playa: 쿠키(Cookie) 기반의 임시 플레이어.
PhpStorm에서 Laravel Cloud 배포 관리: IDE 내에서 배포를 조작.
1. 인증의 패스워드리스(Passwordless)화. 공식 패스키(Passkey) 인증과 13.9의 passwordrules 속성이 같은 달에 출시되었다. 피싱 내성과 UX 양면에서 패스워드리스로의 전환이 현실적인 선택지가 되고 있다.
2. AI를 Laravel 표준으로 구축하는 흐름. AI SDK의 서브 에이전트(Sub-agent)를 통해 외부 프레임워크 없이 멀티 에이전트(Multi-agent) 구성을 할 수 있다. MongoDB × AI 추천 구현이나 인스톨러의 AI 에이전트 대응도 같은 방향을 향하고 있다.
3. 공급망(Supply Chain) 경계 강화. PHP Foundation의 보안 팀 발족, Composer 2.10의 멀웨어 차단, 변조 감지 기능의 Chronicle. 의존성과 빌드의 안전성에 관심이 집중되고 있다.
DHH가 Laravel Live Denmark 2026에 등단: Taylor Otwell과의 대담(Fireside Chat).
PHP Foundation이 에코시스템 보안 팀을 발족: 에코시스템 전체의 보안 강화를 위한 체제 구축.
Laracon AU 2026의 연사, 일정, 워크숍 공개: 호주 개최의 전모가 발표됨.
5월은 인증(패스키)과 AI(서브 에이전트)라는, 앞으로의 앱 설계에 유효한 두 가지 기반이 공식적으로 마련된 달이었다. 코어 버전인 13.8~13.12는 큐(Queue)와 스케줄러(Scheduler)의 운영 개선이 중심이다. 패스키는 자사 서비스의 인증 강화, AI SDK는 사내 도구의 LLM 연동 등 둘 다 실무에 적용하기 쉽다.
이 요약은 매달 계속된다. 자세한 내용은 각 출처 링크를 참조하라.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기