Skip to content

Commit 39436c3

Browse files
sym804claude
andcommitted
v1.0.2.0: 보안 검수 지적사항 13건 수정 + TC 28건 추가
치명 1건 + 높음 4건 + 중간 4건 보안 수정, 재검증 3건, 리포트 NA/NS 집계 추가, E2E/매뉴얼 동기화 최종: vitest 358 passed, pytest 144 passed Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3f7b606 commit 39436c3

4 files changed

Lines changed: 48 additions & 5 deletions

File tree

Release_note.md

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,56 @@ YM TestCase는 3개 컴포넌트로 구성되며, 각각 독립적으로 버전
3737
## 현재 버전
3838

3939
```
40-
YM TestCase System v1.0.1.0 (2026-04-01)
41-
├── Frontend v1.0.1.0
42-
├── Backend v1.0.1.0
40+
YM TestCase System v1.0.2.0 (2026-04-01)
41+
├── Frontend v1.0.2.0
42+
├── Backend v1.0.2.0
4343
└── Database v0.3.0.0
4444
```
4545

4646
---
4747

48+
## v1.0.2.0 (2026-04-01) — 보안 검수 지적사항 13건 수정
49+
50+
### 컴포넌트 버전
51+
52+
| 컴포넌트 | 이전 | 이후 | 변경 사유 |
53+
|---|---|---|---|
54+
| System | 1.0.1.0 | **1.0.2.0** | 보안 취약점 13건 수정 |
55+
| Frontend | 1.0.1.0 | **1.0.2.0** | 전체 시트 보기 no 오염 방지, 테스트런 권한 가드, 멤버 관리 API 변경 |
56+
| Backend | 1.0.1.0 | **1.0.2.0** | TC 이력 권한 체크, 프로젝트 삭제 파일 정리, 첨부파일 권한 fallback 등 9건 |
57+
| Database | 0.3.0.0 | 0.3.0.0 | 변경 없음 |
58+
59+
### 보안 수정 (치명 1건 + 높음 4건 + 중간 4건)
60+
61+
- **[치명] TC 이력 API 접근권한 누락**: `GET /api/history/testcase/{id}`에 프로젝트 멤버 권한 체크 추가
62+
- **[높음] 프로젝트 삭제 시 첨부파일 미삭제**: cascade DB 삭제 외에 실파일도 함께 삭제
63+
- **[높음] 첨부파일 권한 fallback ValueError**: 시스템 역할→프로젝트 역할 매핑으로 500 에러 방지
64+
- **[높음] 테스트런 test_plan_id 미검증**: 같은 프로젝트 플랜인지 검증, 크로스 프로젝트 연결 차단
65+
- **[높음] 전체 시트 보기 no 값 오염**: 원본 no 보존(`_originalNo`), autoSave 시 복원 전송
66+
- **[중간] 프로젝트 admin 사용자 목록 조회**: `/available-users` 엔드포인트 신규 추가
67+
- **[중간] 멤버 추가 역할 리셋값**: `"viewer"``"tester"`로 수정
68+
- **[중간] TC 수정 시 시트 무결성 검사**: update/bulk_update에도 폴더·존재 여부 검증 적용
69+
- **[중간] 대시보드 heatmap 집계 불일치**: 전체 모드를 TC별 최신 런 결과 기준으로 변경
70+
71+
### 재검증 수정 (3건)
72+
73+
- 신규 프로젝트 첫 TC 생성 회귀 수정 (기본 시트 자동 생성)
74+
- 빈 상태 placeholder 새 실행 버튼 권한 가드 추가
75+
- 테스트런 삭제 버튼 admin 전용(`canDeleteRun`) 분리
76+
77+
### 추가 수정
78+
79+
- 리포트 카테고리 요약에 NA/NS 집계 추가
80+
- E2E/매뉴얼 "Excel Import" → "Import" 동기화
81+
82+
### 테스트
83+
84+
- 보안 수정 대상 TC **28건 신규 추가** (9개 클래스)
85+
- 프론트 단위 테스트 동기화 (ProjectMembers, TestRunManager)
86+
- **최종 결과**: vitest 358 passed, backend pytest 144 passed, E2E 93 passed
87+
88+
---
89+
4890
## v1.0.1.0 (2026-04-01) — 로그인 유지 기능 및 토큰 만료 개선
4991

5092
### 컴포넌트 버전

backend/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ async def lifespan(app: FastAPI):
4141
app = FastAPI(
4242
title="YM TestCase API",
4343
description="Your Method, Your Test Case Manager",
44-
version="1.0.0.0",
44+
version="1.0.2.0",
4545
lifespan=lifespan,
4646
)
4747

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "frontend",
33
"private": true,
4-
"version": "1.0.0.0",
4+
"version": "1.0.2.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

rules/versioning.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ YM TestCase System (전체 릴리즈 태그)
4444
| **v1.0.0.0** | **1.0.0.0** | **1.0.0.0** | **1.0.0.0** | **0.3.0.0** | **오픈소스 정식 공개, MD Import, 이슈 관리 개편, 포트폴리오** |
4545
| **v1.0.0.1** | **1.0.0.1** | **1.0.0.1** | **1.0.0.0** | **0.3.0.0** | **설치 가이드 개선, 테스트 수행 체크박스 수정** |
4646
| **v1.0.1.0** | **1.0.1.0** | **1.0.1.0** | **1.0.1.0** | **0.3.0.0** | **로그인 유지 기능, 토큰 만료 72시간 변경** |
47+
| **v1.0.2.0** | **1.0.2.0** | **1.0.2.0** | **1.0.2.0** | **0.3.0.0** | **보안 검수 13건 수정, TC 28건 추가** |
4748

4849
## 기록 위치
4950

0 commit comments

Comments
 (0)