wing-ops/docs/RELEASE-NOTES.md

222 lines
9.8 KiB
Markdown

# Release Notes
이 문서는 [Keep a Changelog](https://keepachangelog.com/ko/1.0.0/) 형식을 따릅니다.
## [Unreleased]
### 추가
- Stitch MCP 기반 디자인 시스템 카탈로그 페이지 (/design)
- react-router-dom 도입, BrowserRouter 래핑
- SVG 아이콘 에셋 19종 추가
- @/ path alias 추가
- 디자인: Components 탭 추가 (Button, TextField, Overview 페이지)
- 관리자: 수거인력 패널 및 선박모니터링 패널 추가
- 레이어: 레이어 데이터 테이블 매핑 구현 + 어장 팝업 수정
- 확산예측: 예측 실행 시 기상정보(풍속·풍향·기압·파고·수온·기온·염분 등) ACDNT_WEATHER 테이블에 자동 저장
- DB: ACDNT_WEATHER 테이블에 구조화된 기상 수치 컬럼 19개 추가 (025 마이그레이션)
- DB: 민감자원 데이터 마이그레이션 (026_sensitive_resources)
- 보고서: 유류유출 보고서 템플릿 전면 개선 (OilSpillReportTemplate)
- 관리자: 실시간 기상·해상 모니터링 패널 추가 (MonitorRealtimePanel)
- DB: 민감자원 평가 마이그레이션 추가 (027_sensitivity_evaluation)
### 변경
- 디자인: 색상 팔레트 컨텐츠 개선 + base.css 확장
- SCAT 지도 하드코딩 제주 해안선 제거, 인접 구간 기반 동적 방향 계산으로 전환
- 예측: 분석 API를 예측 서비스로 통합 (analysisRouter 제거)
- 예측: 예측 API 확장 (predictionRouter/Service, LeftPanel/RightPanel 연동)
### 문서
- Foundation 탭 디자인 토큰 상세 문서화 (DESIGN-SYSTEM.md)
## [2026-03-20.3]
### 추가
- 보고서: 기능 강화 (HWPX 내보내기, 확산 지도 패널, 보고서 생성기 개선)
- 관리자: 권한 트리 확장 (게시판관리·기준정보·연계관리 섹션 추가)
- 관리자: 유처리제 제한구역 패널, 민감자원 레이어 패널 추가
- 기상: 날씨 스냅샷 스토어, 유틸리티 모듈 추가
### 문서
- PREDICTION-GUIDE.md 삭제
## [2026-03-20.2]
### 변경
- prediction/scat 파이프라인 제거 + SCAT/사고관리 UI 수정
## [2026-03-20]
### 추가
- 관리자: 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선
- 항공 방제: WingAI (AI 탐지/분석) 서브탭 추가
- 항공 방제: UP42 위성 패스 조회 + 궤도 지도 표시
- 항공 방제: 위성 요청 취소 기능 추가
- 항공 방제: 위성 요청 목록/히스토리 지도 탭 분리
- 항공 방제: 위성 히스토리 지도에 캘린더 + 날짜별 촬영 리스트 + 영상 오버레이
- 항공 방제: 완료 촬영 클릭 시 VWorld 위성 영상 오버레이 표시
- 항공 방제: 위성 요청 목록 더보기 → 페이징 처리로 변경
- 사고관리: UI 개선 + 오염물 배출규정 기능 추가
- Pre-SCAT 해안조사 UI 개선
- 거리·면적 측정 도구 (TopBar 퀵메뉴 + deck.gl 시각화)
- Pre-SCAT 관할서 필터링 + 해안조사 데이터 파이프라인 구축
### 수정
- 항공 방제: UP42 모달 지도 크기 탭별 동일하게 고정
- 항공 방제: 촬영 히스토리 지도 리스트 위치 좌하단으로 이동
### 변경
- 기상: 지역별 기상정보 패널 글자 사이즈 조정 + 시각화 개선
- SCAT 사진을 로컬에서 서버 프록시로 전환 (scat-photos 1,127개 삭제)
- WeatherRightPanel 중복 코드 정리
## [2026-03-18]
### 추가
- 관리자: 방제장비 현황 패널 (CleanupEquipPanel) — 관할청·유형별 필터, 자산 수량 조회
- 관리자: 자산 현행화 업로드 패널 (AssetUploadPanel) — 엑셀/CSV 드래그 드롭 업로드
### 변경
- trajectory API 모델별 windData/hydrData 분리 반환
- 예측 서비스(predictionService) 개선
- 보고서: 유출유 확산 지도 패널 및 보고서 생성기 개선
- 관리자: 권한/메뉴 구성 업데이트, AdminView 패널 등록
- prediction/image 이미지 분석 서버 분리 (디렉토리 제거)
### 기타
- DB: monitor 권한 트리 마이그레이션(022) 추가, auth_init 갱신
## [2026-03-17]
### 추가
- 다중 모델 시뮬레이션 지원 (OpenDrift + POSEIDON 병렬 실행 및 결과 병합)
## [2026-03-16]
### 추가
- 보고서 확산예측 지도 캡처 기능 (OilSpreadMapPanel, MAP_CAPTURE_IMG DB 컬럼)
- 실시간 드론 지도 뷰 — 드론 위치 아이콘 + 클릭 스트림 연결
- CCTV 지도/리스트 뷰 전환 + CCTV 아이콘 + 다크 팝업 UI
- KBS CCTV HLS 직접 재생 + CCTV 위치 지도 + 좌표 정확도 개선
- 사용자 매뉴얼 팝업 기능 추가
- 확산예측 지도 밝은 해도 스타일 적용 (육지 회색 + 바다 파랑)
- KOSPS/앙상블 준비중 팝업 + 기본 모델 POSEIDON 변경
- 오염분석 원 분석 기능 — 중심점/반경 입력으로 원형 오염 면적 계산
- 오일펜스 배치 가이드 UI 개선
- 거리·면적 측정 도구 (TopBar 퀵메뉴 + deck.gl 시각화)
- Pre-SCAT 관할서 필터링 + 해안조사 데이터 파이프라인 구축
- 다각형/원 오염분석 + 범례 최소화 + Convex Hull 면적 계산
### 수정
- geo.ts 중복 함수 제거 및 null 좌표 참조 오류 수정
### 변경
- 확산 예측 요약 폰트/레이아웃을 오염 종합 상황과 통일
- 오염분석 UI 개선 — HTML 디자인 참고 반영
- 범례 UI 개선 — HTML 참고 디자인 반영
- 드론 아이콘 쿼드콥터 + 함정 MarineTraffic 삼각형 스타일
- SCAT 사진을 로컬에서 서버 프록시로 전환 (scat-photos 1,127개 삭제)
### 기타
- 프론트엔드 포트 변경(5174) + CORS 허용
## [2026-03-13]
### 추가
- 오염분석 다각형/원 분석 기능 구현
- 시뮬레이션 에러 모달 추가
- 해류 캔버스 파티클 레이어 추가
### 수정
- useSubMenu useEffect import 누락 수정
### 변경
- 보고서 해안부착 현황 개선
### 기타
- 팀 워크플로우 동기화 (v1.6.1)
## [2026-03-11]
### 추가
- KHOA API 엔드포인트 교체 및 해양예측 오버레이 Canvas 렌더링 전환
- 기상 맵 컨트롤 컴포넌트 추가 및 KHOA API 연동 개선
- 기상 정보 기상 레이어 업데이트
- CCTV 안전관리 감지 기능 추가 (선박 출입, 침입 감지)
- 관리자 화면 고도화 — 사용자/권한/게시판/선박신호 패널
- CCTV 오일 감지 GPU 추론 연동 및 HNS 초기 핀 제거
- 유류오염보장계약 시드 데이터 추가 (1391건)
- OpenDrift 유류 확산 시뮬레이션 통합 (비동기 폴링 구조)
- flyTo 완료 후 자동 재생 기능
- 이미지 분석 서버 Docker 패키징 (CPU 전용 환경)
- SPIL_DATA 이미지 분석 결과 컬럼 인라인 통합
- CPU 전용 Docker 환경 구축 (Dockerfile.cpu, docker-compose.cpu.yml)
### 수정
- /orgs 라우트를 /:id 앞에 등록하여 라우트 매칭 수정
### 변경
- 이미지 분석/보고서/항공 UI 개선
- CCTV/관리자 고도화
### 문서
- 프로젝트 문서 최신화 (KHOA API, Vite 프록시)
### 기타
- CLAUDE_BOT_TOKEN 갱신
- 팀 워크플로우 v1.6.1 동기화 (custom_pre_commit 프로젝트 해시 불일치 해결, 적용일 갱신)
- 팀 워크플로우 v1.6.0 동기화 (해시 기반 자동 최신화, push/mr/release 워크플로우 체크, 팀 관리 파일 gitignore 처리)
- 팀 워크플로우 v1.5.0 동기화 (스킬 7종 업데이트, version 스킬 신규, release-notes-guide 추가)
## [2026-03-01]
### 추가
- MapLibre GL JS 5.x + deck.gl 9.x 지도 엔진 전환 (Leaflet 완전 제거) (#47, #53, #55)
- deck.gl 레이어: ScatterplotLayer, IconLayer, PathLayer, TextLayer (한글 폰트)
- 3D 회전 애니메이션, 확산분석 자동 데모, 통합조회 호버 툴팁
- SCAT 우측 패널 구현 (구간 상세/현장 사진/방제 권고 3탭)
- CSS 인프라 구축: base.css, components.css, wing.css (@tailwind @layer 체계)
- cn() 유틸리티 함수 (clsx + tailwind-merge)
- Board/HNS/Prediction/Aerial/Rescue Mock → API 전환 (#43, #45)
- SCAT Mock → API 전환 + PostGIS GEOMETRY 일괄 적용 (#41)
- Incidents 사고관리 탭 Mock → DB/API 전환 (#35)
- Assets 방제자산 탭 Mock → DB/API 전환 (#33)
- Reports 보고서 탭 localStorage → DB/API 전환 (#31)
- RBAC 2차원 권한 시스템: permResolver + AUTH_PERM OPER_CD + RCUD 매트릭스 UI (#29)
- FEATURE_ID 상수 체계 + useFeatureTracking 훅
- 게시판 CRUD API 연동 (boardService/Router)
- HNS 물질정보 DB 이전 (#23)
- 감사 로그 시스템 구현 (sendBeacon + audit 모듈) (#17)
- 메뉴 관리: DB 단일 소스 + 드래그앤드롭 정렬 + 이모지 피커 (#9, #13)
- 역할 CRUD 및 다중 역할 할당 (#7)
- JWT 인증 + Google OAuth 로그인 (#1, #3, #5)
- CI/CD: Gitea Actions 자동 배포
### 변경
- 인라인 style 3,500+ → Tailwind CSS 클래스 변환 (잔여 1,286건) (#57, #59)
- body default 인라인 스타일 1,055건 제거
- 대형 View 컴포넌트 서브탭 단위 분할 (#25)
- common/ + tabs/ 패키지 구조 전환 + path alias (@common/*, @tabs/*) (#21)
- OpenLayers 제거
- SQLite → PostgreSQL 16 + PostGIS 마이그레이션 (#22)
- DB 통합: wing + wing_auth → wing 단일 DB (3개 스키마)
- 하드코딩 URL → 환경변수 전환
### 수정
- CSS 회귀 버그 3건 (className 중복, KOSPS codeBox TypeError, 페놀 데이터)
- Prediction 분석 상세 500 에러 (ACDNT_WEATHER 컬럼명 불일치)
- 시뮬레이션 API CORS (localhost 하드코딩 → api 인스턴스)
- Weather Mixed Content + CI 환경변수 (#39)
- API named export import 수정 (Vite 빌드 오류) (#37)
- InfoLayerSection 구 경로 import → path alias (#27)
- Google OAuth 비자동승인 도메인 PENDING 안내 (#15)
- emoji-mart React 19 peer dependency 충돌 (#11)
- Backend 빌드 devDependencies 누락
### 문서
- Phase 1~4 리팩토링 반영 문서 최신화 (#24)
- 개발 가이드 정비 및 Docker 관련 내용 제거
### 기타
- 팀 워크플로우 v1.4.0 동기화 (서브에이전트 3종 + 활용 정책)
- 기존 코드 ESLint/TypeScript 에러 수정