Laravel Framework
Bus::bulk() — 벌크 잡 디스패치
대량의 잡을 1회의 데이터베이스 INSERT로 등록할 수 있게 되었습니다. 큐 · 커넥션별로 벌크 INSERT가 이루어지므로, 1건씩 INSERT하는 비용이 불필요해집니다.Postgres 트랜잭션 풀러 지원
PgBouncer, AWS RDS Proxy, Neon 등 트랜잭션 모드의 Postgres 접속 풀러를 프레임워크 레벨에서 지원했습니다.스키마 조작이나 DDL 문 등 직접 접속이 필요한 경우, 커넥션 이름에
::direct를 추가하면 풀러를 바이패스합니다.
DB::connection('pgsql::direct')->statement('CREATE INDEX ...')MCP 클라이언트 · 서버 툴 지원
Laravel AI 에이전트가 원격 MCP 서버(HTTP 경유)와 로컬 MCP 서버 클래스의 툴을 이용할 수 있게 되었습니다. 스키마 변환, 래핑, 호출이 모두 자동으로 처리됩니다.artisan dev 명령
모든 개발 프로세스를 하나의 명령으로 시작할 수 있는artisan dev가 추가되었습니다. 서버, 큐 워커, 로그 테일링, Vite가 각각 색상 코드가 있는 출력으로 동시에 동작합니다.
라우트 메타데이터 지원
라우트에 임의의 메타데이터를 부여할 수 있는->metadata() 메서드가 추가되었습니다. 라우트 캐시와도 완전 호환이며, 그룹에 설정된 메타데이터는 자식 라우트에 병합됩니다.
재시도하지 않는 예외 핸들러
재시도해도 의미가 없는 예외(잘못된 입력, 영구적인 외부 장애 등)에 대해 재시도를 억제할 수 있게 되었습니다.schema:dump의 —without-migration-data 플래그
schema:dump에서 마이그레이션 테이블의 행을 생략한 순수한 구조 덤프를 생성할 수 있게 되었습니다.
between()/unlessBetween()의 타임존 수정
between()이나 unlessBetween() 앞에 timezone()을 호출하는 순서와 무관하게, 올바른 타임존으로 스케줄이 동작하도록 되었습니다.
그 외 프레임워크 변경
Bus::bulk()의 트레이트 대응: 트레이트에 큐 어트리뷰트 정의 가능- MariaDB 벡터 인덱스: MariaDB에서 벡터 인덱스 지원
attachFromStorage()헬퍼: 알림의MailMessage에 스토리지에서 첨부 파일 추가Cache::rememberWithState(): 상태를 가진 캐시 지원- 병렬 테스트용 메인터넌스 모드 드라이버:
array드라이버로 각 프로세스가 독립된 메인터넌스 상태를 가질 수 있음 whenFilledEnum(): Enum을 사용한 필드의 조건부 처리- JSON Schema의 anyOf 지원: 유효성 검증에서 JSON Schema의
anyOf사용 가능
Inertia
Client\Request::uri(): 클라이언트 요청 URI 취득- 앵커의
target속성 지원:<Link>컴포넌트에서target="_blank"등 사용 가능 - 폼의
async옵션: 폼 컴포넌트에서 비동기 송신 지원 titleCallback에 페이지 정보: 타이틀 콜백에 페이지 데이터가 전달됨
Laravel Cloud · Laravel Forge
| 제품 | 주요 업데이트 |
|---|---|
| Laravel Cloud | Symfony 앱 완전 지원 (Symfony 7.4 LTS · 8.x, PHP 8.2~8.5 대응), Stripe Projects로부터의 배포 · 결제 대응, 팀 멤버별 Slack/메일 알림 설정 |
| Laravel Forge | 관리형 Valkey 캐시 (대시보드에서 생성 · 관리), 관리형 오브젝트 스토리지, 알림 메일 리디자인 |