From f39948557a4eaad20752d263f2b219bd4a53204f Mon Sep 17 00:00:00 2001 From: htlee Date: Wed, 18 Mar 2026 04:16:52 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EB=A6=B4=EB=A6=AC=EC=A6=88=20=EB=85=B8?= =?UTF-8?q?=ED=8A=B8=20=EC=A0=95=EB=A6=AC=20(2026-03-18)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/RELEASE-NOTES.md | 75 +++++++++++++++---------------------------- 1 file changed, 25 insertions(+), 50 deletions(-) diff --git a/docs/RELEASE-NOTES.md b/docs/RELEASE-NOTES.md index 0640ed5..821de9b 100644 --- a/docs/RELEASE-NOTES.md +++ b/docs/RELEASE-NOTES.md @@ -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 분류 기준으로 동기화 -- 2.45.2