Skip to content

v0.6.1: v0.6.0 publish 누락 회복 + 후속 polish 통합#21

Merged
DanMeon merged 5 commits into
mainfrom
chore/publish-rollup
May 18, 2026
Merged

v0.6.1: v0.6.0 publish 누락 회복 + 후속 polish 통합#21
DanMeon merged 5 commits into
mainfrom
chore/publish-rollup

Conversation

@DanMeon
Copy link
Copy Markdown
Owner

@DanMeon DanMeon commented May 18, 2026

Summary

v0.6.0 publish 누락 회복 + 후속 polish 를 v0.6.1 PATCH 로 통합 release.

  • docs: examples/07_render_png.py + Pillow 우산 extras (0c335bf)
  • chore: bench_gil 에 PNG render 측정 + --json 출력 옵션 (d3e9ab7)
  • feat: parse / aparse / arender_png / Document 가 os.PathLike 수용 (1bcb43c)
  • chore: Cargo 0.6.0 → 0.6.1 + CHANGELOG [0.6.1] 신설 (e3b2232)

Why

v0.6.0 작업 (Frozen 2026-05-10, 마지막 release marker b4a4283) 이 완료된 뒤 GitHub Release / PyPI publish 가 누락된 상태에서 후속 polish 가 누적됐다. v0.6.0 만 retroactive publish 하는 대신 v0.6.1 로 통합 release — [0.6.0] 섹션은 historical record 로 보존하고 [0.6.1] 섹션에 publish 누락 회복 경로 + 후속 polish + submodule pin v0.7.10 → v0.7.12 disclosure 정합화를 한꺼번에 명시. SemVer 측 단조 증가 (PyPI 는 v0.5.1 → v0.6.1 점프, v0.6.0 부재 허용).

각 commit 의 자체 rationale:

  • PNG 예제: v0.6.0 PNG 표면 (render_png / export_png / arender_png / MCP render_page_png) 이 README 코드 블록 외에는 사용자가 실행 가능한 진입점을 갖지 못했던 onboarding gap 해소.
  • bench: v0.6.0 spec row-6 의 py.detach "≥50ms 임계 충족" rationale 의 실측 산출물이 부재했던 검증 gap 해소. 기존 parse + render_pdf 동형 패턴.
  • PathLike: stub audit (L-1) 발견 — wrapper 가 str 만 받아 pathlib.Path 인스턴스 직접 수용 불가. PEP 519 정합화. 기존 str 호출 그대로 (additive widening, breaking 아님).

Validation

  • uv run maturin develop --release clean — Installed rhwp-python-0.6.1
  • uv run pytest -m "not slow"592 passed, 2 skipped, 6 deselected
  • examples/07_render_png.py smoke (aift.hwp) — 74 페이지 인식, page 0 → 794×1123, 57.6 KB, PNG magic OK, Pillow 디코드 통과
  • PathLike smoke — rhwp.parse(pathlib.Path(...))page_count = 74, source_uri 정상 보존
  • IR baseline byte-equal (tests/test_view_baseline.py 2/2 pass)

Related Issues

  • 상류 edwardkim/rhwp#823 (macOS PNG headless hang) 은 v0.7.12 에서도 미해결 — 본 PR 과 직교.

DanMeon and others added 5 commits May 18, 2026 14:02
v0.6.0 GA (Frozen, 2026-05-10) 의 render_png / export_png 표면이 examples
라인에 없어 README 코드 블록 외에는 사용자가 실행 가능한 진입점을 가지지 못했다.
typer 인터페이스를 02 (SVG/PDF) 패턴에 맞춰 노출하고, --all 시 export_png
일괄 호출과 custom scale 시 page 루프 분기를 함께 두어 두 API 의 trade-off
(export_png 가 scale/max_pixels 미수령) 도 학습 포인트로 드러낸다. Pillow
는 graceful degrade 라 [examples] 우산 extras 에 합산해 한 줄 설치 패턴을
유지.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v0.6.0 spec 은 render_png 의 py.detach 적용을 ≥50ms 임계 충족 rationale
로 명시했지만 실측 산출물 (impl log / verification report) 이 부재했다.
기존 parse + render_pdf 워커 패턴 동형으로 png_task 를 추가해 worker
1/2/3 wall-clock 비교를 closed-loop 으로 검증 가능하게 한다. --json
출력은 drift 추적 / ADR 첨부 시 결과 재활용을 위해 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
stub audit 에서 wrapper 가 str 만 받아 사용자가 pathlib.Path 인스턴스를
그대로 못 넘기는 것을 확인 (현재 CLI 도 str(path) 로 우회). PEP 519
PathLike 프로토콜에 맞춰 wrapper 시그니처를 str | os.PathLike[str] 로
widening 하고 내부에서 str() 정규화 후 Rust _Document(&str) 위임. 기존
str 호출은 그대로 — additive widening, breaking 아님.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v0.6.0 작업 완료 후 GitHub Release / PyPI publish 가 누락된 상태에서
후속 polish (PNG 예제 / bench 확장 / PathLike 수용) 가 누적됐다. v0.6.0
만 따로 retroactive publish 하기보다 v0.6.1 로 통합 release — [0.6.0]
섹션은 historical record 로 보존하고 [0.6.1] 섹션에 publish 누락 회복
경로 + 후속 polish + submodule pin v0.7.10 → v0.7.12 disclosure 정합화
를 한꺼번에 명시. SemVer 측 단조 증가 (PyPI 는 v0.5.1 → v0.6.1 점프,
v0.6.0 부재 허용).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GHA macos runner 에서 v0.6.0+ PNG 렌더 경로가 CoreText downloadable
lookup IPC 영구 대기로 30분+ hang — 시스템 폰트 사전 필터링이 상류
패치되기 전까지 PR 의 wheel 검증을 차단한다. test-other-os 매트릭스
에서 macos-latest 만 제거하고 Windows 는 유지 (복귀 시 한 줄 되돌리기
용이). 상류 fix 머지 시 복귀.

Refs edwardkim/rhwp#823

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@DanMeon DanMeon merged commit 1048ce6 into main May 18, 2026
15 checks passed
@DanMeon DanMeon deleted the chore/publish-rollup branch May 18, 2026 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant