변경 로그
SCF의 모든 주요 변경 사항이 이 파일에 문서화됩니다.
이 형식은 Keep a Changelog를 기반으로 하며, Semantic Versioning을 따릅니다.
[3.0.0] - 2025-12-10
호환성을 깨는 변경 (Breaking Changes)
- CloudFront 필수화:
cloudfront.enabled옵션 제거 - 보안을 위해 CloudFront가 항상 활성화됨 - S3 퍼블릭 액세스 제거: S3 버킷에 직접 접근 불가, CloudFront를 통해서만 접근 가능
- S3 웹사이트 호스팅 제거:
s3.websiteHosting옵션 제거
추가됨
- Origin Access Control (OAC): CloudFront에서 S3로의 안전한 접근을 위한 OAC 도입
- CloudFront Function: 디렉토리 요청에 대한 index.html 라우팅을 위한 CloudFront Function 자동 생성
- 보안 강화: S3 버킷 정책이 CloudFront OAC만 허용하도록 변경
변경됨
- CloudFront distribution이 OAC를 통해 S3에 접근
- 모든 요청이 CloudFront를 통해 처리되어 보안 및 성능 향상
마이그레이션 가이드
v2.x에서 업그레이드하는 경우:
cloudfront.enabled옵션 제거 (더 이상 필요 없음)s3.websiteHosting옵션 제거 (더 이상 지원 안 함)- S3 URL 직접 접근 코드가 있다면 CloudFront URL로 변경
typescript
// 이전 (v2.x)
cloudfront: {
enabled: true, // ❌ 제거
priceClass: 'PriceClass_100',
}
// 이후 (v3.0.0)
cloudfront: {
// enabled 옵션 불필요 - 항상 활성화됨
priceClass: 'PriceClass_100',
}[3.0.1] - 2025-12-10
수정됨
- S3 버킷 정책 마이그레이션: 기존 배포 업데이트 시에도 S3 버킷 정책이 CloudFront-only로 적용되도록 수정
- 자동 보안 마이그레이션: v2.x에서 업그레이드한 사용자의 S3 버킷이 첫 번째 deploy 시 자동으로 보안 설정됨
[2.1.0] - 2025-12-01
추가됨
- S3 파일 정리: 증분 배포 시 로컬에서 삭제된 파일을 S3에서도 자동으로 삭제
- 배포 롤백: CloudFront 배포 실패 시 새로 생성된 S3 버킷 자동 정리
- AWS API 재시도: 일시적인 네트워크 오류에 대한 지수 백오프 재시도 (최대 3회, 1초 → 2초 → 4초 지연)
- 타임아웃 연장: CloudFront 배포 타임아웃이 20분에서 30분으로 증가
- 즉시 상태 업데이트:
remove명령어가 각 리소스 삭제 후 즉시 상태 파일 업데이트
새 CLI 옵션
--no-rollback- CloudFront 배포가 실패해도 S3 버킷 유지--no-cleanup- 증분 배포 시 S3 파일 정리 건너뛰기
변경됨
- 자동 재시도 메커니즘으로 배포 안정성 향상
- 부분 배포 실패 시 오류 복구 기능 강화
[2.0.2] - 2025-11-28
수정됨
- Free Plan 호환성: Free pricing plan에서 distribution 업데이트 시 발생하던 에러 수정
- Free plan distribution에서
priceClass업데이트가 자동으로 스킵됨 - Free plan은 모든 엣지 로케이션 사용 (PriceClass_All과 동일)
[2.0.1] - 2025-11-28
수정됨
- Zod 스키마와 config 유틸리티에서 남아있던 TTL 참조 수정
- TTL 검증 테스트 케이스 제거
변경됨
- README에 v2.0.0 변경 로그 상세 내용 추가
[2.0.0] - 2025-11-28
호환성을 깨는 변경 (Breaking Changes)
- TTL 설정 제거: CloudFront 설정에서
defaultTTL,maxTTL,minTTL옵션이 제거되었습니다 - AWS Managed Cache Policy 도입: CloudFront가 레거시 ForwardedValues 대신 CachingOptimized 관리형 캐시 정책을 사용합니다
추가됨
- AWS Managed Cache Policy (CachingOptimized)를 통한 자동 캐시 관리
- 새 CloudFront distribution 생성 후 가격 정책 전환 안내 메시지
변경됨
- CloudFront distribution이 캐시 관리를 위해 CachePolicyId를 사용
- 최신 AWS 모범 사례에 따른 CloudFront distribution 생성 개선
마이그레이션 가이드
v1.x에서 업그레이드하는 경우 scf.config.ts에서 TTL 필드를 제거하세요:
typescript
// 이전 (v1.x) - 더 이상 지원되지 않는 옵션
cloudfront: {
enabled: true,
defaultTTL: 3600, // ❌ 제거
maxTTL: 86400, // ❌ 제거
minTTL: 0, // ❌ 제거
}
// 이후 (v2.0.0)
cloudfront: {
enabled: true,
// TTL은 이제 AWS에서 자동으로 관리됩니다
}참고: v2.0.0 이상에서 TTL 설정을 유지하면 무시됩니다.
[1.1.0] - 2025-11-26
추가됨
- SPA 모드: CloudFront에서 SPA(Single Page Application) 모드 기본 활성화
cloudfront.spa옵션 추가 (기본값:true)- 403/404 에러를 자동으로 index.html로 리다이렉트
- React Router, Vue Router 등 클라이언트 사이드 라우팅 지원
변경됨
- CloudFront 커스텀 에러 응답 관리 로직 개선
- 테스트에서 정규식 패턴 매칭으로 오류 메시지 개선
[1.0.0] - 2025-11-20
🎉 첫 번째 정식 릴리스
SCF가 프로덕션 환경에서 사용할 수 있게 되었습니다! 이번 릴리스에는 테스트, CI/CD, AWS 리소스 관리 기능이 크게 강화되었습니다.
추가됨
- CI/CD 통합: main 브랜치 및 PR 체크를 위한 GitHub Actions 워크플로우
- 테스트 강화: 단위, 통합, E2E 테스트 전체 구축
- E2E 테스트: ACM 인증서 및 Route53 리소스 관리 전체 테스트 커버리지
- 상태 관리 개선: ACM 및 Route53 상태 추적이 포함된 CloudFront 배포 강화
- 서브도메인 지원: 서브도메인 설정을 위한 호스팅 영역 검증 개선
- CODE_OF_CONDUCT.md: 커뮤니티 행동 강령
- CONTRIBUTING.md: 상세한 기여 가이드라인
변경됨
- S3 버킷 이름 생성 알고리즘 개선
- 테스트 시 정규식 패턴 매칭으로 오류 메시지 개선
- 프로덕션 환경 안정성 향상
인프라
- AWS 리소스 E2E 테스트 인프라 구축
- 코드 품질 검사를 위한 자동화된 CI 파이프라인
- 개발 워크플로우를 위한 Husky pre-push 훅
[0.6.0] - 2025-11-18
추가됨
.env파일을 통한 환경 변수 관리 기능- 배포 시 환경별 변수 로드 및 관리
변경됨
- import 문 표준화 및 코드 일관성 개선
[0.5.0] - 2025-11-07
추가됨
- 커스텀 도메인용 자동 SSL 인증서 생성
- 검증 프로세스에서 Route53 호스팅 영역 자동 생성
- CloudFront 배포용 DNS 별칭 레코드 생성
- 리소스 복구 프로세스 (검색 및 태깅 기능 포함)
- AWS 리소스 완전 삭제를 위한 remove 명령어 개선
- pre-push 체크를 위한 Husky 통합
- ESLint 설정 강화
변경됨
- CLI 명령어의 에러 처리 간소화 및 코드 명확성 개선
- 향상된 기능 및 설정 상세 정보로 README 업데이트
수정됨
- Route53Manager 단위 테스트에서 matchObject 사용하도록 업데이트
- 빌드 디렉토리 자동 감지를 위한 S3 설정 검증 업데이트
- 타입 안전한 설정을 위한 defineConfig 헬퍼 함수 추가
[0.4.1] - 2025-11-03
변경됨
- 버전 업데이트 릴리스
[0.4.0] - 2025-11-03
추가됨
- 배포 성능 향상을 위한 CloudFront 캐시 워밍 기능
- 타입 안전성이 강화된 init 명령어
변경됨
- config.ts에서 사용하지 않는 defineConfig 함수 제거
- 개선된 설정 상세 정보로 README 강화
[0.3.0] - 2025-10-30
추가됨
- Jest 테스트 프레임워크 및 초기 테스트 설정
- 배포 프로세스에 자동 빌드 기능
- 실패한 배포를 위한 복구 기능
- SCF 설정 파일 지원
- post-install 스크립트 강화
변경됨
- CLI 프로그램에서 버전 선언 제거
- 오래된 문서 파일 제거
- 새로운 기능 및 빌드 프로세스 개선으로 README 강화
[0.2.0] - 2025-10-25
추가됨
- 프로젝트 초기화를 위한
init명령어 - 더 나은 사용성을 위한 CLI 명령어 이름 변경
변경됨
- 버전을 0.1.0으로 업데이트하고 CLI 명령어 이름 변경
[0.1.2] - 2025-10-20
변경됨
- 버전 업데이트 릴리스
[0.1.1] - 2025-10-18
변경됨
- 프로젝트 이름을 scf-deploy로 변경
- 새 프로젝트 이름을 반영하도록 문서 업데이트
제거됨
- 오래된 DEPLOYMENT_GUIDE.md 파일
[0.1.0] - 2025-10-15
추가됨
- SCF 초기 릴리스
- 증분 업로드가 포함된 S3 버킷 배포
- CloudFront 배포 관리
- 캐시 무효화 지원
- 배포 추적을 위한 상태 관리
- AWS 자격 증명 통합
- Zod 검증이 포함된 TypeScript 설정
- CLI 명령어: deploy, remove, status
- ESLint 설정
- 종합 배포 가이드
버전 관리
- Major 버전 (X.0.0): 호환성을 깨는 변경
- Minor 버전 (0.X.0): 새로운 기능 (하위 호환)
- Patch 버전 (0.0.X): 버그 수정
릴리스 노트
자세한 릴리스 노트는 GitHub Releases를 참조하세요.
향후 로드맵
- 고급 캐싱 전략
- Lambda@Edge 지원
- 향상된 모니터링
- 성능 분석
- 비용 최적화 기능
지원
특정 버전에 대한 질문은 다음을 참조하세요: