snp-batch-validation/docs/RELEASE-NOTES.md

77 lines
4.4 KiB
Markdown

# Release Notes
이 문서는 [Keep a Changelog](https://keepachangelog.com/ko/1.0.0/) 형식을 따릅니다.
## [Unreleased]
### 추가
- 배치 모니터링 React SPA 전환 및 10대 기능 강화
- AIS Target signalKindCode(MDA 범례코드) 치환 로직 추가
- 중국 허가선박 전용 API 및 DB Sync 동적 범위 개선
- Swagger 문서 보강, Kafka 조건부 설정, AIS 응답 DTO 개선
- AIS target Kafka producer pipeline 추가
- Ship Last Position Update Job 개선 (#5)
- prod Kafka 클러스터 브로커 주소 설정 (#6)
- 선박 마지막 위치 업데이트 프로세스 변경 (#7)
- API 호출 로그 페이징 및 필터 추가 (#8)
- 재수집 실패건 재시도 프로세스 추가 및 선박제원정보 수집 최적화 (#10)
- 수집 실패건 로그 페이징 기능 상세화, 개별 호출 로그 페이징, 재수집 실패 건 수 표시 (#11)
- 데이터 수집 누락 방지 프로세스 추가 (#13)
- 선박 AIS 마지막 위치 업데이트 대상 변경 (#14)
- 컬럼명 최종변경 (#16)
- 마지막 수집 완료일시 모니터링 기능 추가 (#19)
- core20 테이블 최신 위치 동기화 대상 추가 (#20)
- tb_ship_main_info 테이블 in_sts 컬럼명을 sts_yn으로 변경 (#22)
- 스키마명 변경: t_std_snp_data → std_snp_data, t_std_snp_svc → std_snp_svc (#24)
- tb_ship_main_info, core20 테이블 mmsi 컬럼 업데이트 추가 (#28)
- 자동 재수집 및 재수집 프로세스 전면 개선 (#30)
- 배치 작업 목록 UX 개선: 상태 필터, 카드/테이블 뷰, 정렬, 실행 중 강조 (#33)
- 재시도 초과 레코드 초기화 API/UI 추가
- IMO 기반 Risk 상세 조회 bypass API 추가 (#39)
- 배치 작업 목록 한글 표시명 추가 (#40)
- Job 한글 표시명 DB 관리 및 전체 화면 통합 (#45)
- 배치 모니터링 UI 최적화: 대시보드 퀵 네비 제거, AIS 필터 프리셋, 스케줄 뷰 토글 및 폼 모달 전환 (#46)
- 각 화면별 사용자 가이드 추가 (#41)
- 스케줄 화면 검색/정렬/필터 기능 추가 및 UI 구조 개선 (#54)
- 재수집 이력 화면 개선: 배치 실행일시 추가, 작업명 잘림 해소, CSV 내보내기 제거 (#55)
- AIS API 응답 스트리밍 처리로 메모리 버퍼 제한 우회 (DataBufferLimitException 근본 해결)
- 선박제원정보 수집 배치 작업 병렬화 (Partitioned Step) (#64)
### 수정
- 자동 재수집 JobParameter 오버플로우 수정 (VARCHAR 2500 제한 해결)
- retryCount 세마틱 오류 수정 (0부터 시작, 재수집 실패 시 증가)
- 실패 레코드 저장 타이밍 경합 해결 (동기 저장으로 변경)
- ChnPrmShip 캐시 갱신 조건 완화 및 스케줄 이전 실행 시간 표시 (#3)
- 재수집 관리 및 이력 추가 (#4)
- 재수집 중복 실행 문제 해결 (#9)
- Quartz orphan trigger 제거 (#12)
- Quartz JDBC Store 미적용 수정 — RAMJobStore에서 JDBC Store로 전환 (#12)
- 마지막 성공 일시 세팅 방법 수정 (#15)
- 테스트용 IMO 목록 건수 제한 제거 (#32)
- 타임라인 상세 화면 이동 오류 수정 및 실행 중 작업 상세 버튼 추가 (#34)
- RECOLLECT 모드에서 Tasklet 자체 스킵으로 last_success_date 복원 로직 제거 (#50)
- Quartz PostgreSQLDelegate BYTEA 컬럼 읽기 오류 수정 (#12)
- CronPreview step=0 무한루프 방지
- AIS WebClient 버퍼 제한 50MB→100MB 확대 및 타임아웃 설정 추가 (DataBufferLimitException 해결)
- ShipDetailUpdateDataReader beforeFetch에서 allImoNumbers 미할당으로 인한 NPE 수정
- 재수집 모드 afterFetch 중복 실행으로 인한 실패 레코드 중복 INSERT 수정 (#64)
### 변경
- 재수집 실패건 추적 기준 sourceStepExecutionId → sourceJobExecutionId로 변경 (#64)
- 실패 레코드 Upsert 패턴 적용 (동일 키 중복 방지)
- 재시도 상태 배지 표시 (대기/재시도 N/3/재시도 초과)
- 미사용 Dead Code 정리 (~1,200 LOC 삭제)
- 미사용 배치 작업 13개 제거 (~4,000 LOC 삭제) (#40)
- API 인증정보 공통화(api-auth) 및 환경별 중복 설정 제거 (#59)
- AIS Import Job 로그에 캐시 적재 흐름 명시 (`API → 캐시`)
### 기타
- Gitea 팀 프로젝트 워크플로우 구조 적용
- commit-msg 정규식 통일 (#1)
- SLF4J 로깅 지침 추가 (#2)
- CLAUDE_BOT_TOKEN 갱신 (#26)
- 팀 글로벌 워크플로우 1.5.0 동기화
- 팀 워크플로우 v1.6.1 동기화
- 실행 확인 모달 시작/종료일시 항목 제거
- MDA 전용 설정파일(application-qa.yml) 제거 (#59)