Skip to content

v1.10.1

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Aug 10:48

v1.10.1 패치노트

기준 범위: v1.10.0 이후부터 v1.10.1까지의 변경 사항입니다.
주요 포함 변경: 첫 사용 다운로드 캐시에 있던 폰트 자동 매칭 런타임이 검증 단계에서 비활성화되던 문제 수정, OCR·Python·pip·설치 런타임의 셸 문자열 실행 제거와 구조화된 인자 실행 전환.

폰트 자동 매칭 복구

  • Font matching runtime is disabled; auto font matching will not apply. 경고와 함께 자동 폰트 맞춤이 적용되지 않던 문제를 수정했습니다.
  • 원인은 다운로드 캐시가 각 런타임 자산 옆에 만드는 .mgtmeta.json·.mgt-sha256.json 보조 파일을 번들 검증기가 예상하지 못해, 정상적으로 다운로드하고 SHA-256 검증까지 끝난 번들을 artifact_verification_failed로 거부한 것이었습니다.
  • 번들 검증기는 이제 정확한 런타임 자산에 대응하는 캐시 보조 파일만 허용합니다. 관계없는 추가 파일, 디렉터리, 심볼릭 링크는 계속 거부하며 실제 모델·카탈로그·보정 파일의 해시와 sealed contract 검증도 그대로 수행합니다.
  • 기존에 다운로드된 약 467MB 폰트 매칭 캐시는 삭제하거나 다시 받을 필요 없이 그대로 사용할 수 있습니다. 실제 설치 캐시를 새 검증기로 확인해 font-matching-runtime-artifact-v2, release acceptance, 전체 자산 해시 검증이 통과하는 것을 확인했습니다.
  • 자동 폰트 맞춤 설정이 켜져 있고 대상 언어가 한국어라면 다음 번 번역부터 학습된 폰트 매칭 런타임이 정상 적용됩니다.

OCR·런타임 명령 실행 보안 강화

  • 런타임 프로세스 실행을 문자열 명령에서 { executable, args } 구조로 전환했습니다.
  • 중앙 실행기는 항상 shell: false로 실행하며 이미지 경로, 출력 경로, Python 경로, 패키지 URL, 설치 경로처럼 외부 값이 들어가는 항목을 각각 독립된 argv 요소로 전달합니다.
  • Paddle OCR 단일·배치·CPU worker, Python·venv·pip 설치와 검증, VC++ 재배포 패키지 실행 경로를 같은 구조로 통일했습니다.
  • 공백, 따옴표, &, |, ;, $(), 백틱 같은 셸 메타문자가 포함된 경로도 명령으로 해석되지 않고 하나의 문자 인자로 유지됩니다.
  • timeout, 취소 신호, 자식 프로세스 트리 종료, stdout/stderr 수집, 설치 진행 로그, 사용자 지정 성공 코드 동작은 유지했습니다.
  • 오류 진단에는 실행 파일과 argv 배열, 로그 표시 전용 명령 문자열을 함께 남기되, 로그 문자열을 다시 실행에 사용하지 않습니다.

외부 OCR 명령 설정 변경

사용자 지정 MANGA_TRANSLATOR_OCR_BBOX_CMD 또는 ocrBboxCommand를 사용하는 경우 기존 셸 명령 문자열 대신 JSON 명령 사양을 사용해야 합니다.

{
  "executable": "python",
  "args": [
    "tool.py",
    "--image",
    "{image}",
    "--output",
    "{output}",
    "--source-language",
    "{sourceLanguage}"
  ]
}
  • placeholder는 반드시 하나의 argv 요소 전체로 사용해야 합니다. --image={image}처럼 문자열 안에 삽입하는 형식은 거부합니다.
  • 지원하지 않는 placeholder, 실행 파일 위치의 placeholder, NUL 바이트, 알 수 없는 JSON 키를 거부합니다.
  • cmd.exe, PowerShell, sh, bash, pwsh 등 셸 자체를 외부 OCR 실행 파일로 지정할 수 없습니다.
  • 레거시 문자열은 안전하지 않은 fallback으로 실행하지 않고 새 JSON 형식을 안내하는 오류를 반환합니다.

검증

  • TypeScript 타입 검사와 JavaScript check-js 타입 검사 통과
  • ESLint와 Prettier 통과
  • 프로덕션 빌드 통과
  • Vitest 전체 341개 파일, 2,582개 테스트 통과·2개 건너뜀
  • 셸 메타문자 marker 파일 미생성, argv 경계, 외부 OCR JSON 검증, timeout·abort·출력·성공 코드, 금지 심볼 정적 검사 회귀 테스트 추가
  • 폰트 매칭 다운로드 sidecar 허용과 관계없는 추가 파일 거부 회귀 테스트 추가
  • 실제 설치 폴더의 폰트 매칭 런타임 캐시와 빌트인 한글 폰트 21개를 새 검증기로 직접 읽어 state: ready, automaticMutationAllowed: true, v2 sealed bundle과 release acceptance 검증 통과
  • git diff --check 통과

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

SignPath Foundation 신청은 2026년 8월 6일 현재 심사 중입니다.

v1.10.1 Windows 설치 파일에는 Authenticode 서명이 적용되지 않으므로 SignPath Foundation 정책의 보호 대상이 아닙니다. 유효한 SignPath Foundation 서명이 있는 산출물만 해당 정책의 적용을 받습니다.

v1.10.1 Apple Silicon 산출물은 인증서가 설정되지 않은 경우 ad-hoc 서명만 적용되며 Apple이 확인한 개발자 신원이나 공증을 포함하지 않습니다. Gatekeeper 승인 전에 릴리스의 체크섬과 다운로드한 파일을 대조하세요.