본문 바로가기

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/core4.7.52026-10-10MITPHP ^8.4, Laravel ^13.0
cms-orbit/saas4.3.32026-10-07Proprietary (사설 저장소)core ^4.6
cms-orbit/blog4.3.12026-09-08Proprietarycore ^4.6.1, saas ^4.3.1
cms-orbit/announcement4.3.12026-09-08MITcore ^4.6, inertia-laravel ^3.0
cms-orbit/popup4.3.02026-09-08MITcore ^4.6
cms-orbit/sendgo4.3.22026-09-22MITcore ^4.6, techigh/sendgo-notification ^1.2
cms-orbit/lms4.6.12026-09-22MITcore ^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.x4.4.0 이후4.5.0 이후
PHP^8.3^8.4^8.4
Laravel^11 ‖ ^12 ‖ ^13^11 ‖ ^12 ‖ ^13^13.0 전용
테스트 도구Pest 4Pest 5, PHPUnit 13Pest 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-laravel 5가 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.007-05마이그레이션을 테이블당 단일 create 파일로 통합v3에서 올릴 때는 백업 후 migrate:fresh 기준으로 재구성
core 4.0.107-05Quill 필드·React 컴포넌트 제거, RichText(BlockNote)로 대체Quill::make() → RichText::make(), npm quill 제거
core 4.2.008-28Socialite를 require에서 suggest로 전환소셜 로그인을 쓰면 laravel/socialite와 provider를 직접 선언
core 4.3.008-28intervention/image ^3 → ^4호스트 코드에서 v3 API를 직접 쓰면 함께 마이그레이션
core 4.4.008-31PHP ^8.4PHP 8.3 환경은 설치 불가
core 4.5.008-31Laravel ^13.0 전용Laravel 11·12 호스트는 업그레이드 필요
core 4.6.009-08OrbitAccess 라우팅 리졸버 도입, orbit.host_routes.name_prefix 옵션패널 마운트 지점을 커스터마이즈했다면 리졸버로 이전
saas 4.3.009-08인스턴스별 관리자 콘솔, core ^4.6 요구, 인스턴스 식별 미들웨어를 web 뒤에 배치미들웨어 순서를 직접 조정한 호스트는 확인
core 4.7.010-05Apple 로그인 provider 6.1 POST 콜백(HTTPS 필수), BlockNote 0.55, TypeScript 7socialiteproviders/apple:^6.1, HTTPS 환경 확인

업그레이드 절차

같은 마이너 라인 안의 패치 업데이트는 Composer 업데이트와 프런트엔드 동기화로 끝납니다.

composer update "cms-orbit/*" -W php artisan migrate php artisan orbit:frontend-sync npm install && npm run build

마이너 버전이 올라갈 때는 다음 순서를 권장합니다.

  1. 위 타임라인에서 건너뛰는 버전들의 "호스트가 할 일"을 모두 확인합니다.
  2. 스테이징에서 composer update를 실행하고, 해석 실패가 나면 요구 의존 표를 기준으로 어떤 위성 패키지가 발목을 잡는지 찾습니다. 위성 패키지의 core 요구 범위가 핵심입니다.
  3. php artisan orbit:upgrade로 패키지가 요구하는 호스트 측 정리 작업을 실행합니다.
  4. php artisan orbit:frontend-sync로 Vite alias, Inertia 페이지 브리지, tsconfig paths, npm 의존을 동기화합니다. 4.6.0부터 tsconfig.json의 @cms-orbit/* paths도 함께 관리됩니다.
  5. npm run build와 호스트의 tsc --noEmit을 돌립니다. 빌드는 통과하는데 타입 검사만 실패하면 대부분 4번 단계의 alias 누락입니다.
  6. 관리자 화면에 로그인해 메뉴·설정 허브·미디어 업로드를 한 번씩 확인합니다.

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 버전, 몇 개의 테스트, 어떤 브라우저 회귀로 확인했는지 적습니다. 릴리스 노트에 검증 절이 없는 버전은 그 검증이 없었다는 뜻이지, 생략한 것이 아닙니다.