검증 기준일: 2026-09-02 (Asia/Seoul)
대상: Windows 11 21H2(build 22000) 이상, x64
배포 계약: self-contained, offline, unsigned, MIT
릴리스 요약
1. 민감정보 빠른 가리기
- 캡처 직후 편집기, 갤러리 다시 편집, 영상 프레임 이미지 편집에서 동일하게 사용한다.
- Windows 로컬 OCR 결과에서 이메일, 한국 전화번호, 주민번호 형태, Luhn 유효 카드번호,
IPv4, 주요 비밀 키 접두사를 보수적으로 찾는다.
- 인접한 OCR 단어는 같은 줄·연속 토큰 안에서만 결합한다. 줄 경계나 토큰 누락을 넘어
조합하지 않는다.
- 탐지 출력은 종류·좌표·토큰 인덱스만 가지며 인식 평문을 복제하지 않는다.
- 결과는 불투명한 일반 사각형 주석으로 추가되어 이동·크기 조정·삭제할 수 있고,
실행 취소 한 번으로 전체 자동 가리기를 되돌릴 수 있다.
- Ctrl+Shift+R과 접근성 이름/도움말/상태 live region을 제공한다.
2. 녹화 종료 응답성과 손실 방지
- Media Foundation MP4 종료/트레일러 확정의 blocking join을 WPF dispatcher 밖에서 수행한다.
- 확정 중 파일 확정 중… 상태를 표시하고, 완료 경계 전에 창을 닫아 유효한 녹화를
중간 상태로 남기지 못하게 한다.
- v1.2의 private staging, publish-ready marker, 원본 불변, 시작 시 abandoned write/publication/
finalize 복구 계약을 유지하고 전체 회귀 테스트를 통과한다.
3. SDK 없는 개발 PC 복구
- build/bootstrap-sdk.ps1은 global.json의 SDK 10.0.400을
%LOCALAPPDATA%\MyCapture\dotnet-sdk에 설치한다.
- 관리자 권한, 레지스트리 변경, 영구 사용자 PATH 변경이 없다.
- doctor.ps1, build.ps1, package.ps1이 이 SDK를 자동 탐색한다.
- 시스템 전역 SDK가 하나도 없는 검증 PC에서 공식 Microsoft 설치 스크립트로 신규 설치,
두 번째 실행의 idempotent 판정, doctor의 정확한 SDK 선택을 확인했다.
4. 의도적 비범위
- 마이크와 시스템 사운드는 추가하지 않는다. MyCapture 1.3은 무음 화면 캡처·설명·편집·GIF
워크플로에 집중한다.
- 새 클라우드 업로드, 계정, 텔레메트리, FFmpeg/native codec 의존성을 추가하지 않는다.
자동 검증
| 검증 | 결과 | 근거 |
|---|---:|---|
| 저장소 SDK 부트스트랩 | PASS | 10.0.400 신규 설치 후 재실행 already ready |
| build/doctor.ps1 | PASS | SDK 10.0.400, Windows build 26200, AMD64, RESULT: READY |
| Release 빌드 | PASS | 경고 0, 오류 0 |
| Core 테스트 | PASS | 338/338 |
| App 테스트 | PASS | 341/341 |
| 합계 | PASS | 679/679 |
| PowerShell 5.1/code-page 계약 | PASS | 새 bootstrap 스크립트 ASCII-only 검증 포함 |
첫 전체 실행에서는 새 PowerShell 스크립트에 있던 비ASCII 긴 대시를 배포 계약 테스트가 발견했다.
이를 ASCII 하이픈으로 고친 뒤 Release 빌드와 679개 테스트를 처음부터 다시 실행해 모두 통과했다.
최종 패키지 게이트
build/package.ps1 -Version 1.3.0은 깨끗한 정확한 Git 커밋만 허용하며 다음을 검증한다.
win-x64 self-contained publish와 포함 런타임(CoreCLR/WPF)
runtimeconfig.json에 machine-wide framework 요구가 없고 deps target이 win-x64인지
- 설치 bootstrap·payload·publish inventory의 경로, 크기, SHA-256
- ZIP traversal·symlink/reparse·대소문자 충돌·중복 엔트리 방어
- 설치/업데이트 rollback과 사용자 데이터 보존 계약
- 패키징 도중 source commit/working tree가 변하지 않았는지
패키지 생성 후 build/run-packaged-self-tests.ps1의 실제 배포 실행 파일 게이트를 통과해야만
게시 후보로 인정한다. 게이트는 capture, shell, advanced, settings, OCR, recording, video-editor
7개 프로세스를 각각 실행하고 exit=0과 정확히 한 줄의 RESULT: PASS를 동시에 요구한다.
최종 커밋 SHA, 산출물 해시와 self-test 출력 폴더는 생성된 release-manifest.json,
SHA256SUMS.txt 및 릴리스 게시 기록을 정본으로 삼는다.
알려진 제한
- Authenticode 서명이 없으므로 Windows에서 알 수 없는 게시자 경고가 나타날 수 있다.
- UI는 한국어 중심이며 Windows OCR 언어 팩을 사용할 수 없으면 빠른 가리기 버튼이 비활성화된다.
- 민감정보 탐지는 보수적인 도우미다. 저장 전에 사용자가 가림막 위치를 검토해야 하며 얼굴 감지,
블러/모자이크는 이번 버전에 포함하지 않는다.
- Windows 10은 지원하지 않는다. Windows 11 ARM64는 x64 에뮬레이션 경로다.