ORBIT ORIGINAL GUIDE
버전 히스토리와 업그레이드
CMS Orbit 4.x 패키지별 현재 버전, 지원 환경(PHP 8.4·Laravel 13), 호환성이 깨진 변경 타임라인, 업그레이드 절차와 릴리스 검증 규칙.
최종 수정 2026년 10월 10일
이 페이지는 CMS Orbit 4.x 패키지 전체의 버전 상태를 한 곳에서 보여줍니다. 패키지별 상세 변경 내역은 core, saas, 번들 패키지, LMS 릴리스 노트에 있습니다. 기준일은 2026년 10월 10일입니다.
현재 버전
| 패키지 | 최신 버전 | 릴리스일 | 라이선스 | 요구 의존 |
|---|---|---|---|---|
cms-orbit/core | 4.7.5 | 2026-10-10 | MIT | PHP ^8.4, Laravel ^13.0 |
cms-orbit/saas | 4.3.3 | 2026-10-07 | Proprietary (사설 저장소) | core ^4.6 |
cms-orbit/blog | 4.3.1 | 2026-09-08 | Proprietary | core ^4.6.1, saas ^4.3.1 |
cms-orbit/announcement | 4.3.1 | 2026-09-08 | MIT | core ^4.6, inertia-laravel ^3.0 |
cms-orbit/popup | 4.3.0 | 2026-09-08 | MIT | core ^4.6 |
cms-orbit/sendgo | 4.3.2 | 2026-09-22 | MIT | core ^4.6, techigh/sendgo-notification ^1.2 |
cms-orbit/lms | 4.6.1 | 2026-09-22 | MIT | core ^4.6 |
위성 패키지(saas·blog·announcement·popup·sendgo·lms)의 버전 번호는 core와 독립적으로 올라갑니다. 예를 들어 lms 4.6.1은 core 4.6.1과 같은 릴리스가 아니라, core ^4.6을 요구하는 lms의 자체 버전입니다. "함께 설치 가능한가"는 버전 번호가 아니라 위 표의 요구 의존 열로 판단하세요.
지원 환경의 변화
| 조건 | 4.0.x ~ 4.3.x | 4.4.0 이후 | 4.5.0 이후 |
|---|---|---|---|
| PHP | ^8.3 | ^8.4 | ^8.4 |
| Laravel | ^11 ‖ ^12 ‖ ^13 | ^11 ‖ ^12 ‖ ^13 | ^13.0 전용 |
| 테스트 도구 | Pest 4 | Pest 5, PHPUnit 13 | Pest 5, Testbench 11 |
- PHP 8.4 하한(4.4.0, 2026-08-31): Pest 5가 PHP ^8.4를 요구해 개발 의존을 올리면서 함께 올렸습니다. 운영 의존은 하나도 바뀌지 않았으므로, PHP 8.4 환경이라면 업그레이드에 코드 변경이 필요하지 않습니다.
- Laravel 13 전용(4.5.0, 2026-08-31):
pest-plugin-laravel5가 Laravel ^13.23을 요구해 패키지 테스트가 Laravel 13으로만 해석됩니다. 검증할 수 없는 Laravel 11·12 지원 범위를 제약에 남기지 않기로 했습니다. Laravel 11·12 호스트는 4.4.x에 머물거나 Laravel 13으로 올려야 합니다. 위성 패키지도 같은 날 같은 정책(각 4.2.0, lms는 4.5.0)을 적용했습니다. - 함께 검토했지만 좁히지 않은 의존:
laravel/scout ^10 ‖ ^11,inertiajs/inertia-laravel ^3.0,tabuna/breadcrumbs ^5.0,watson/active ^7.0. 모두 Laravel 13에서 정상 해석됩니다.
호환성이 깨진 변경 타임라인
업그레이드 전에 자신의 호스트가 아래 항목 중 어디에 해당하는지 확인하세요.
| 버전 | 날짜 | 변경 | 호스트가 할 일 |
|---|---|---|---|
| core 4.0.0 | 07-05 | 마이그레이션을 테이블당 단일 create 파일로 통합 | v3에서 올릴 때는 백업 후 migrate:fresh 기준으로 재구성 |
| core 4.0.1 | 07-05 | Quill 필드·React 컴포넌트 제거, RichText(BlockNote)로 대체 | Quill::make() → RichText::make(), npm quill 제거 |
| core 4.2.0 | 08-28 | Socialite를 require에서 suggest로 전환 | 소셜 로그인을 쓰면 laravel/socialite와 provider를 직접 선언 |
| core 4.3.0 | 08-28 | intervention/image ^3 → ^4 | 호스트 코드에서 v3 API를 직접 쓰면 함께 마이그레이션 |
| core 4.4.0 | 08-31 | PHP ^8.4 | PHP 8.3 환경은 설치 불가 |
| core 4.5.0 | 08-31 | Laravel ^13.0 전용 | Laravel 11·12 호스트는 업그레이드 필요 |
| core 4.6.0 | 09-08 | OrbitAccess 라우팅 리졸버 도입, orbit.host_routes.name_prefix 옵션 | 패널 마운트 지점을 커스터마이즈했다면 리졸버로 이전 |
| saas 4.3.0 | 09-08 | 인스턴스별 관리자 콘솔, core ^4.6 요구, 인스턴스 식별 미들웨어를 web 뒤에 배치 | 미들웨어 순서를 직접 조정한 호스트는 확인 |
| core 4.7.0 | 10-05 | Apple 로그인 provider 6.1 POST 콜백(HTTPS 필수), BlockNote 0.55, TypeScript 7 | socialiteproviders/apple:^6.1, HTTPS 환경 확인 |
업그레이드 절차
같은 마이너 라인 안의 패치 업데이트는 Composer 업데이트와 프런트엔드 동기화로 끝납니다.
composer update "cms-orbit/*" -W
php artisan migrate
php artisan orbit:frontend-sync
npm install && npm run build마이너 버전이 올라갈 때는 다음 순서를 권장합니다.
- 위 타임라인에서 건너뛰는 버전들의 "호스트가 할 일"을 모두 확인합니다.
- 스테이징에서
composer update를 실행하고, 해석 실패가 나면 요구 의존 표를 기준으로 어떤 위성 패키지가 발목을 잡는지 찾습니다. 위성 패키지의 core 요구 범위가 핵심입니다. php artisan orbit:upgrade로 패키지가 요구하는 호스트 측 정리 작업을 실행합니다.php artisan orbit:frontend-sync로 Vite alias, Inertia 페이지 브리지,tsconfigpaths, npm 의존을 동기화합니다. 4.6.0부터tsconfig.json의@cms-orbit/*paths도 함께 관리됩니다.npm run build와 호스트의tsc --noEmit을 돌립니다. 빌드는 통과하는데 타입 검사만 실패하면 대부분 4번 단계의 alias 누락입니다.- 관리자 화면에 로그인해 메뉴·설정 허브·미디어 업로드를 한 번씩 확인합니다.
v3에서 v4로 올릴 때는 스키마가 크게 바뀝니다. 4.0.0 이후 패키지는 증분 마이그레이션을 제공하지 않으므로 운영 환경에서는 백업 후 단계적으로 진행하세요.
릴리스 검증 규칙
2026년 7월 core 4.0.8 태그의 composer.json version이 4.0.7로 남은 채 푸시되어, Packagist가 아무 오류 없이 그 태그를 무시하고 4.0.8이 게시되지 않은 일이 있었습니다. 같은 사고를 막기 위해 모든 패키지에 세 겹의 검증이 있습니다.
.githooks/pre-push:version필드와 태그명이 다른 태그의 푸시를 로컬에서 차단합니다. 클론 후composer install시core.hooksPath가 자동 설정됩니다.bin/release <버전>: version 갱신·검증·커밋·태그·푸시를 한 동작으로 묶고,cms-orbit/*의존이 실제로 Packagist에 게시되어 있는지 Composer 리졸버로 확인합니다.release-guard.yml(GitHub Actions):--no-verify나 GitHub UI 태깅으로 훅을 우회한 경우를 CI에서 다시 봅니다.ci.yml은 PHP 8.4·8.5에서composer validate,pint --test, 테스트를 실행합니다.
core 4.7.x부터는 각 릴리스 노트에 검증(Validation) 절을 두어 어떤 Laravel 버전, 몇 개의 테스트, 어떤 브라우저 회귀로 확인했는지 적습니다. 릴리스 노트에 검증 절이 없는 버전은 그 검증이 없었다는 뜻이지, 생략한 것이 아닙니다.