docs: 릴리즈 노트 정리 (2026-03-18) #27

병합
htlee chore/release-prep-6 에서 develop 로 1 commits 를 머지했습니다 2026-03-18 04:17:23 +09:00

파일 보기

@ -4,6 +4,8 @@
## [Unreleased]
## [2026-03-18]
### 추가
- OSINT 수집기: GDELT + Google News RSS 백엔드 수집 (@Scheduled 2분)
- Satellite 수집기: CelesTrak TLE 백엔드 수집 (@Scheduled 10분)
@ -15,52 +17,6 @@
### 수정
- 002 마이그레이션 search_path에 public 추가 (PostGIS 타입 참조)
## [2026-03-17.5]
### 추가
- 백엔드 항공기 수집기 (Airplanes.live + OpenSky, @Scheduled 60초 주기)
- 인메모리 캐시 + PostGIS DB 적재 (향후 리플레이 지원)
- `GET /api/aircraft?region=iran|korea` REST API
- 프론트엔드 LIVE 모드 백엔드 API 전환 (`aircraftApi.ts`)
- DB 마이그레이션: `aircraft_positions` 테이블 (geometry + GiST 인덱스)
### 변경
- JDK 17 → 21 업그레이드 (pom.xml, sdkmanrc, CI/CD, systemd)
- 프론트엔드 REPLAY 모드: 외부 API 호출 제거, 샘플 데이터 전용
- 프론트엔드 airplaneslive.ts / opensky.ts 삭제 (백엔드로 대체)
- Vite 프록시에서 airplaneslive / opensky 항목 제거
## [2026-03-17.4]
### 추가
- 헤더 우측 사용자 프로필/이름 + 로그아웃 버튼
- 로그인 화면 KCG 로고 적용 (kcg.svg)
- 브라우저 탭 favicon/제목 변경 (kcg-dashboard-demo)
### 수정
- 항공기 API 폴링 주기 15초/25초 → 60초 (Rate Limit 대응)
- CORS: CorsFilter 최우선 순위 등록 (프로덕션 도메인 허용)
- 프로덕션 빌드 시 console/debugger 자동 제거
### 변경
- deploy.yml: Gitea secrets → .env 파일로 백엔드 환경변수 배포
- systemd/nginx: 배포 경로 /devdata/services/kcg/ 반영
## [2026-03-17.3]
### 수정
- CI/CD 워크플로우 전면 재구성: act 컨테이너(node:24) 환경 대응
- `sudo` 제거, `apt-get`으로 JDK/Maven 직접 설치
- `systemctl``.deploy-trigger` + systemd path unit 패턴 전환
- act-runner 볼륨 마운트 추가 (`/deploy/kcg`, `/deploy/kcg-backend`)
## [2026-03-17.2]
### 수정
- CI 빌드 실패 해결: `@rollup/rollup-darwin-arm64` 직접 의존성 제거 (플랫폼별 optional 자동 관리)
- CI 워크플로우 `npm ci` 복원 (lockfile 기반 정확한 설치)
- 모노레포 pre-commit hook `frontend/` 디렉토리 기준 실행
## [2026-03-17]
### 추가
@ -71,18 +27,37 @@
- 레이어 패널 트리 구조 재설계 (카테고리별 온/오프, 접이식 범례)
- Google OAuth 로그인 + DEV LOGIN 인증 우회 (개발 모드)
- 선박 이미지 탭 전환 UI (signal-batch / MarineTraffic)
- 백엔드 Spring Boot 3.2 스켈레톤 (Java 17)
- 백엔드 Spring Boot 3.2 스켈레톤 (JDK 21)
- Google OAuth + JWT 인증 API (`@gcsc.co.kr` 도메인 제한)
- 데이터 수집기 placeholder (GDELT, Google News, CENTCOM)
- 백엔드 항공기 수집기 (Airplanes.live + OpenSky, @Scheduled 60초 주기)
- 인메모리 캐시 + PostGIS DB 적재 (향후 리플레이 지원)
- `GET /api/aircraft?region=iran|korea` REST API
- DB 마이그레이션: `aircraft_positions` 테이블 (geometry + GiST 인덱스)
- 헤더 우측 사용자 프로필/이름 + 로그아웃 버튼
- 로그인 화면 KCG 로고 적용 (kcg.svg)
- 브라우저 탭 favicon/제목 변경 (kcg-dashboard-demo)
- PostgreSQL 스키마 (events, news, osint, users, login_history)
- Python FastAPI 분석서버 placeholder
- Gitea Actions CI/CD 파이프라인 (main merge 시 자동 배포)
- nginx 설정 (SPA + API 프록시 + 외부 API CORS 프록시)
- systemd 서비스 (kcg-backend, JDK 17, 2~4GB 힙)
- systemd 서비스 (kcg-backend, JDK 21, 2~4GB 힙)
### 수정
- 항공기 API 폴링 주기 15초/25초 → 60초 (Rate Limit 대응)
- CORS: CorsFilter 최우선 순위 등록 (프로덕션 도메인 허용)
- 프로덕션 빌드 시 console/debugger 자동 제거
- CI/CD 워크플로우 전면 재구성: act 컨테이너(node:24) 환경 대응
- CI 빌드 실패 해결: `@rollup/rollup-darwin-arm64` 직접 의존성 제거
- 모노레포 pre-commit hook `frontend/` 디렉토리 기준 실행
### 변경
- JDK 17 → 21 업그레이드 (pom.xml, sdkmanrc, CI/CD, systemd)
- 프론트엔드 REPLAY 모드: 외부 API 호출 제거, 샘플 데이터 전용
- 프론트엔드 airplaneslive.ts / opensky.ts 삭제 (백엔드로 대체)
- Vite 프록시에서 airplaneslive / opensky 항목 제거
- deploy.yml: Gitea secrets → .env 파일로 백엔드 환경변수 배포
- systemd/nginx: 배포 경로 /devdata/services/kcg/ 반영
- 외부 API 호출 CORS 프록시 전환 (Airplanes.live, OpenSky, CelesTrak)
- App.css 하드코딩 색상 → CSS 변수 토큰 전환 (테마 반응)
- 선박 분류 체계 AIS shipTy 파싱 개선
- 한국 선박 데이터 폴링 주기 15초 → 4분
- 범례 카운트 MT 분류 기준으로 동기화