Releases: edwardkim/rhwp
Release list
v0.7.17 — 차트 렌더 정합 + 표 편집 회귀 보정 (확장 0.2.6)
v0.7.16 후속 patch 릴리즈입니다. 공개 API는 하위 호환을 유지합니다(positional API 유지) — PATCH. 브라우저 확장 0.2.6을 동반합니다.
주요 변경
렌더링 (차트)
- OOXML 차트 27종 중 데이터가 추출되던 7종(3D막대4·3D원형1·ofPie2)을 요소명 라우팅으로 2D 근사 렌더 전환 — "차트 (미지원)" placeholder 제거 (#1453, C1a)
- 막대 차트
c:grouping(stacked/percentStacked) 반영 — 누적/백분율 막대 6종 정합 (#1453)
HWPX 저장 계약
- legacy 도형(ellipse/arc/polygon/curve/chart/ole)의
hp:shapeComment직렬화 누락 정정 — round-trip 보존 (#1451)
API
- WASM public API 고인자(7+) 함수 26개에 options object 변형
*Ex(options_json[, image_data])추가 — 하위 호환 (#1413). 소비자 README/매뉴얼 보강 (#1445)
rhwp-studio
- 표 줄/칸 입력·지우기 회귀 보정(생성 직후 칸/줄 추가 시 표 높이 보존) (#1481)
- 미저장 문서 자동 백업·복구 (#1448), 로컬 글꼴 동의(opt-in) (#1328), 쪽 테두리 토글 (#1426)
- 그림 삽입·인라인 커서 정합 (#1452), 표 셀 드래그 선택·편집 (#1443), 셀 보호 (#493)
렌더링
브라우저 확장 (0.2.6)
- viewer 인라인 스크립트 CSP 위반 정정 + 다크 아이콘 자산 복구 (#1444)
- Chrome 다운로드
onDeterminingFilename리스너 전역 부작용 제거 (#1471)
인프라
기여자
@jangster77, @johndoekim, @oksure, @postmelee, @seo-rii — 감사합니다.
전체 변경 내역은 CHANGELOG.md를 참조하세요.
v0.7.16 — HWPX 저장 계약·한컴 호환·드래그드롭 보안
v0.7.15 후속 patch — HWPX 저장 계약(serializer fidelity) 정밀화, 누름틀 안내문 한컴 호환, rhwp-studio 드래그&드롭 보안 게이트, 렌더·표·그림 정합. 공개 API 하위 호환 — PATCH.
주요 변경
HWPX 저장 계약 (serializer fidelity)
- 셀·글상자 컨트롤·lineseg·캡션 보존, secPr 여백·본문 단(colPr) IR 치환, 그림 크기·MEMO·shapeComment·등록 축·표 pageBreak 보존, 무손실 라운드트립 보강 (#1379/#1380/#1387/#1388/#1407/#1389/#1391/#1392/#1384/#1409/#1393/#1405/#1350/#1401/#1382/#1402).
한컴 호환
- 누름틀(ClickHere) 안내문(Direction) command 포맷을 한컴 정답지 동형으로 정정 — 한컴 에디터 안내문 바인딩 해소 (#1434).
rhwp-studio 보안·UX
- 드래그&드롭 로컬 파일 로딩 보안 게이트(모달 확인 opt-in, 확장/웹 공통) (#1439).
- 누름틀 편집, 개체 비율 유지·크기 고정, 표 셀 TAC 그림 정렬, 다크테마 (#1419/#1428/#1430/#1436/#1352/#1420/#1422).
렌더링
- native PDF export API, Text IR v2 폰트 증명 게이트, 미주 높이 SSOT, 회전 셀 그림 배치 (#1359/#1421/#1429/#1363/#1370/#1410/#1282).
기타
기여자
@Martinel2 @Mireutale @jangster77 @johndoekim @msjang @mrshinds @oksure @physwkim @planet6897 @postmelee @seo-rii
전체 변경: CHANGELOG.md
v0.7.15 — Security patch and equation/HWPX fixes
[0.7.15] — 2026-06-06
v0.7.14 후속 security patch — 브라우저 확장 service worker fetch 경로 보안 강화,
수식 TAC 흐름·커서 이동 보정, HWPX 저장 계약 후속 보강. 공개 API 하위 호환 유지 — PATCH.
보안
- Chrome/Firefox 확장 service worker의 문서 fetch 경로를 강화했다 (#1307).
- message sender 검증을 추가해 extension viewer와 content script 호출 경계를 분리.
- localhost, loopback, link-local, private network, 내부 호스트명 URL을 차단.
- redirect 이후 최종 URL을 같은 정책으로 재검증.
- extension-side fetch에
credentials: "omit"적용. - 자동 thumbnail 데이터가 page DOM에 직접 노출되지 않도록 hover card 내부 처리를 보강.
- Chrome/Edge/Firefox 확장
0.2.4배포 준비: 새 권한 또는 새 외부 네트워크 endpoint 없음.
수식·미주 흐름
- 수식 TAC-only 라인의 자동 줄넘김과 문단 들여쓰기 적용을 보강하고, 미주 영역 커서 이동 회귀를 정정 (#1310).
- 강제 줄넘김 뒤 TAC 수식 커서 이동과 문단 간 이동에서 중복 정지/스킵 현상을 줄임 (#1308/#1310).
- 미주 수식 script 렌더링, continuation spacing, superscript alignment 후속 보정 (#1301/#1303/#1306).
HWPX 저장 계약
- HWPX 그림 직렬화에서 flip/rotation 하드코딩 및
isEmbeded누락을 정정 (#1309). - HWPX 대각선 셀 테두리
hh:slash/hh:backSlashtype 보존 (#1311). - zero-length HWPX field ordering 보존 (#1299).
rhwp-studio·문서
- 문단 정보 대화상자에서 왼쪽 여백과 내어쓰기 바인딩을 분리 (#1307 후속 작업 중 발견).
- visual sweep contributor guide와 rsvg/font 준비 문서를 보강 (#1292).
- CLI 분석·디버깅 명령 가이드 보강.
기여자
보안 제보와 재검증에 도움을 준 Dangel, 그리고 본 패치 사이클에 기여한 모든 외부 기여자와
Dependabot에 감사드립니다.
v0.7.14 — 미주 흐름·수식·표 셀 그림 한컴 정합 + HWPX 저장 계약 확장 (외부 기여자 15명)
v0.7.14 — 2026-06-05
v0.7.13 후속 patch 릴리즈입니다. 미주(해설) 흐름·간격 정합, 수식 렌더링/배치 정밀화, 표 셀 안 그림 편집(삽입·복사·hit-test) 한컴 정합, HWPX 저장 계약 확장을 중심으로 정리했고, 외부 기여자 PR을 다수 흡수했습니다. 공개 API 하위 호환을 유지합니다.
주요 변경
- 미주(Endnote) 흐름·간격: compact 미주의 문제 제목 사이 간격(7mm between-notes), 다줄 문단 줄간격, 연속 인라인 수식 다행 병합, 구분선 아래 여백, 다단 흐름의 단 끝 줄 위치·오버플로우를 한컴 기준으로 정합
- 수식(Equation) 렌더링: root/sqrt·관계연산자·prime·cdots glued-split, LEFT-RIGHT 구분기호 그룹 뒤 첨자 결합(
|x|^3), 큰 연산자(Σ/∏/∫) 피연산자 간격, 수식 포함 줄 본문 한글 압축·겹침 해소, 미주/각주 prefixChar 마커 접두문자('문') 복원 - 표 셀 안 그림(Picture) 편집 — 한컴 정합: 삽입/토글/시각/클릭 정합, 셀 내부 도형 '개체 속성' 다이얼로그, 중첩 표 셀 복사(Ctrl+C) + 떠있는 개체 paste cascade, 사각형 글상자 안 picture hit-test, 중첩 셀 붙여넣기 경로 보존, wrap=Square 호스트 커서 전진·수식-only 셀 z-표 행 압축
- 레이아웃·렌더링: HWPX curve
<hp:seg>외곽선, textFlow roundtrip 보존, BehindText/InFrontOfText z-order 합성, 회전 90°/270° 이미지 bbox 정정, RawSvg(OLE/차트) 백지 렌더, 한컴 돋움 폴백(Noto Sans KR ExtraLight), 격자 보기·쪽 테두리·잔상 정합 - HWPX 저장 계약: Bookmark/Field dispatcher, OLE chart, 회전 그림, 맞쪽 편집 여백 교대, masterpage idRef, 본문·표 셀 문단 id 전역 유니크, external image reference/bytes injection contract
- rhwp-studio: 입력 편집 재렌더 비용 축소(narrow invalidation), 모달 대화상자 드래그 공통화, mac 창 리사이즈 가운데 정렬, 찾기/이동 대화상자 Enter 처리, hit-test caret snapping
- 인프라: Dependabot 결합 의존성 그룹화 + dev-dep bump, macOS headless Skia font lookup hang 방지, ClickHere 필드 값 설정 시 파일 손상 정정
기여자
이번 사이클에 기여해 주신 외부 컨트리뷰터 15분께 감사드립니다:
@planet6897 · @postmelee · @jangster77 · @johndoekim · @Martinel2 · @Mireutale · @chkwon · @oksure · @seo-rii · @xogh3198 · @twoLoop-40 · @lidge-jun · @humdrum00001010 · @HaimLee-4869 · @wonbbnote
전체 변경 사항은 CHANGELOG.md / CHANGELOG_EN.md 를 참고하세요.
v0.7.13 — HWPX 렌더링/저장 호환성 + 시험지/공공기관 문서 회귀 정정
v0.7.13 — 2026-05-26
v0.7.12 후속 patch 릴리즈입니다. HWPX 렌더링/저장 호환성, 시험지·공공기관 문서군 회귀 해소, 외부 기여자 PR cherry-pick 반영을 중심으로 정리했습니다.
주요 변경
- HWPX → HWP 저장 호환성 보강: 표/셀 contract, gradient BORDER_FILL, 셀 안쪽 여백, 셀 배경 이미지 채우기 유형, 메모 컨트롤, 목차 필드, 페이지 번호 관련 컨트롤 저장 정합 개선
- HWPX 렌더링 정합 개선: 바탕쪽, 머리말/꼬리말, 문단번호, 글상자 위치·그라데이션·곡률, 문단 테두리, 시험지 지문 박스 처리 보강
- 페이지네이션/조판 정정: treat_as_char 표 LINE_SEG 높이, 중첩 표 페이지 분할, 그림 pushdown/vpos, 다단 미주 vpos, 본문 하단 overflow 측정 보강
- rhwp-studio / 확장 UX 개선: TAC 도형 커서 이동, 연속 공백 이동, Chrome file:// 안내 및 중복 다운로드 억제
- CI runner 디스크 부족 완화 및 외부 PR #1077/#1078/#1080/#1081/#1117/#1120/#1125/#1132 반영
잔존
- exam_social HWPX → HWP 저장의 3페이지 홀수 머리말 글상자 높이 문제는 후속 이슈로 분리했습니다.
전체 변경 사항은 CHANGELOG.md / CHANGELOG_EN.md를 참고하세요.
v0.7.12
v0.7.12 — @jangster77 7-PR 시리즈 (#956~#968) + Issue #952 5-결함 완결 + WMF…
v0.7.11 — 5/10+5/11 사이클 누적 (Skia P8/P9 + HWP3 native + rhwp-studio editor 신규 기능)
v0.7.11 PATCH 릴리즈 (2026-05-11)
5/10 + 5/11 사이클 누적 — 외부 기여자 다수 PR 30+ 머지.
핵심 변경
Skia native raster 단계적 진전 (Issue #536)
- P8 (#761): Layer IR contract hardening (paint::schema + paint::resources blake3)
- P9 (#769): text replay parity (char overlap, tab leader, decoration, shade/shadow, emphasis, vertical rotation, control mark + text_replay.rs 모듈 분리)
HWP3 native 렌더링 (#753)
hwp3-sample10.hwp Oracle 기술 문서 763 페이지 8 단계 정정 — HWP3 외부 file path 그림 IR + 사적 graphic char 매핑 + Hwp3TabDef 필드 순서 bug 정정 + 제목차례 자동 장식 inject + 차례 inline page 번호. Git LFS pdf-large/ 폴더 한정 격리 신규 도입.
페이지네이션 정정
rhwp-studio 인터랙션
- PR #781: scrollbar drag-during-scroll 결함 정정
- PR #786~#788: PR #739 (수식 신규 입력) + PR #745 (NewNumber Page) 후속 결함 정정 — chord 키 Ctrl+N → Ctrl+M (Chrome reserved shortcut 회피) + 한글 IME chord e.code 판별 + 표 셀 pattern_type 가드 + 도구 모음 mousedown preventDefault
rhwp-studio editor 신규 기능
- 표 편집 Undo/Redo (#728) + 표 크기 조절 SnapshotCommand (#748)
- 셀 편집 다수 (블록 합계/평균/곱/숫자 서식/높이·너비 균등화/블록 계산식)
- 다단 설정 dialog (#750) + 새 번호로 시작 dialog (#760)
- Ctrl/Cmd+Arrow / Ctrl/Cmd+O / Ctrl+E (지우기) 단축키
검증
- cargo build/test/clippy --release ALL GREEN
- 광범위 sweep 7 fixture / 170 페이지 회귀 0
- WASM 4.68 MB
- 작업지시자 시각 판정 다수 통과
컨트리뷰터
@oksure, @jangster77, @planet6897, @seo-rii, @postmelee 등 다수.
상세는 mydocs/pr/archives/ 및 rhwp-vscode/CHANGELOG.md 참고.
v0.7.10 — 외부 기여자 7명 + AI/VLM 연동 + CLI 바이너리 릴리즈
v0.7.9 후속 patch 사이클 — 외부 기여자 7명 흡수 (PR 13건 cherry-pick) + AI 파이프라인 / VLM 연동 도입 + CLI 바이너리 릴리즈 파이프라인.
신규 기능
CLI 바이너리 릴리즈 (Issue #608/#612, @almet 의 요청)
4 플랫폼 GitHub Release 자산 첨부 — 직접 빌드하지 않고 다운로드 + 실행 가능:
rhwp-v0.7.10-linux-x86_64.tar.gzrhwp-v0.7.10-macos-x86_64.tar.gzrhwp-v0.7.10-macos-aarch64.tar.gzrhwp-v0.7.10-windows-x86_64.zipSHA256SUMS.txt(체크섬)
각 아카이브 포함: rhwp 실행파일 + LICENSE + README.md + README_EN.md.
PNG raster backend (PR #599, @seo-rii) — render P4
native Skia 기반 PageLayerTree → PNG export. native-skia feature gate (기본 빌드 영향 0).
AI 파이프라인 + VLM (Vision-Language Model) 연동 도입 (메인테이너 후속 정정):
--vlm-target claude(1568 longest edge / 1.15 MP, Claude Vision 정합)--scale <배율>/--max-dimension <픽셀>(자동 scale 계산)export-pngCLI 명령 + 매뉴얼 (한글 + 영문 dual)- 한글 폰트 fallback chain + char 단위 fallback (공백 두부 정정) +
--font-path동적 폰트 로딩
외부 PR cherry-pick (13 PR / 7 컨트리뷰터)
- @planet6897 / Jaeook Ryu — 협업 컨트리뷰터: PR #587/#589/#561/#564/#570/#575/#580/#584/#592/#593/#567
- @oksure (Hyunwoo Park) — PR #600 (closes #513)
- @seo-rii — PR #599 (refs #536)
- @cskwork / @johndoekim / @nameofSEOKWONHONG / @jangster77 — 사이클 누적
후속 이슈
- #613 — VLM 프리셋 확장 (GPT-4V / Gemini / Qwen-VL / LLaVA)
- #614 — DPI 메타데이터 옵션 (
--dpiPNG pHYs chunk) - #615 —
pua_oldhangul.rsU+F53A 한컴 정합 - #598 — rhwp-studio 각주 삭제 기능 (외부 컨트리뷰터 공개)
잔여 PR (v0.7.11 후속 patch 영역)
- PR #601, #602 (@oksure)
- PR #607 (@dicebattle)
- PR #609 (@jangster77, Task #604 Document IR 표준 정합화)
- PR #611 (@kihyunnn)
상세 변경 사항: CHANGELOG.md (한글) / CHANGELOG_EN.md (English).
🤖 Generated with Claude Code
v0.7.9 — Task #501 cell.padding 한컴 방어 로직 + PR cherry-pick 사이클
v0.7.8 후속 패치 사이클.
회귀 정정 (메인테이너)
- Task #501 — mel-001.hwp 2쪽 표 셀 높이 처리 회귀 정정 (closes #501)
- 비정상 큰 cell.padding (1700 HU) > cell.height (1280 HU) 케이스의 한컴 자체 방어 로직 모방 가드 추가
- 트러블슈팅 + 위키 (HWP 셀 Padding 방어 로직) 작성
외부 PR cherry-pick (4 PR / 18 commits)
- PR #428 (@oksure) — 그룹 내 그림(Picture) 직렬화 구현
- PR #494 (@DanMeon) —
Paragraph::utf16_pos_to_char_idx외부 노출 (#484) - PR #478 (@planet6897) — Layout 정합 + 수식 정정 합본
- PR #498 (@seo-rii) — Canvas visual diff 파이프라인 (relates #364)
- rhwp-studio E2E + GitHub Actions Render Diff workflow
분리된 후속 이슈
위키 갱신
- HWP 셀 Padding 방어 로직 (신규)
- 한컴 PDF 환경 의존성 — 정황 IV 추가
검증
- cargo test --lib: 1102 passed
- cargo test --test svg_snapshot: 6/6
- cargo test --test issue_418 / issue_501: PASS
- cargo clippy --lib -- -D warnings: 0건
- WASM 빌드 정합
외부 기여자 감사
본 사이클: @DanMeon, @oksure, @planet6897, @seo-rii
상세 변경: CHANGELOG.md / CHANGELOG_EN.md
v0.7.8 — 외부 컨트리뷰터 다수 + 메인테이너 회귀 정정
v0.7.7 후속 사이클 — 외부 컨트리뷰터 15 PR cherry-pick + 메인테이너 회귀 정정 3건 + 위키/README 정비
주요 변경
외부 PR cherry-pick (15 건)
라이브러리 본질 정정 (조판 / 페이지네이션 / 직렬화):
- PR #391 다단 섹션 누적 공식 회귀 정정 (@planet6897)
- PR #395 그림 밝기/대비 효과 SVG 반영 (@oksure)
- PR #396 수식 렌더링 개선 — TAC 높이 + 한글 이탤릭 (@oksure)
- PR #397 수식 ATOP 파싱 및 렌더링 보정 (@cskwork) — 본 저장소 첫 외부 컨트리뷰터
- PR #400 HWPX 수식 직렬화 보존 (@cskwork)
- PR #401 v2 표 페이지 분할 rowspan>1 셀 분할 단위 (@planet6897)
- PR #406 동일 문단 inline TAC 그림 페이지네이션 정정 (@planet6897)
- PR #408 heading-orphan vpos 기반 보정 (@planet6897)
- PR #410 TopAndBottom Picture vert=Para chart 정정 + atomic TAC top-fit (@planet6897)
- PR #415 dash 시퀀스 Justify 폭 부풀림 정정 (@planet6897)
- PR #424 다단 우측 단 vpos 보정 anchor (@planet6897)
- PR #427 SvgRenderer defs 중복 방지 HashSet 통합 (@oksure)
- PR #434 그림 자동 크롭 공식 교정 + 테두리 inner padding (@planet6897)
API 추가 / 도구:
- PR #405
Paragraph::control_text_positions추가 (@DanMeon) - PR #411
editor.exportHwp()API 추가 (@ggoban) - PR #413 rhwp-studio PWA support (@dyjung150605)
- PR #419 PageLayerTree generation API 도입 (@seo-rii)
메인테이너 작업 (3 건)
- Task #394 셀 진입 시 투명선 자동 ON 로직 비활성화 (한컴 출력 정합)
- Task #416
find_bin_data가드 결함 정정 - Task #418
hwpspec.hwpp20 빈 문단 + TAC Picture 이중 emit 정정
정비 / 문서
- 위키 페이지 한컴 PDF 환경 의존성 보강 (발견 정황 II)
- README.md / README_EN.md 보강 — Contributing 섹션 + 신규 "위키 자료" 서브섹션
- samples 정답지 자료 추가 (한컴 2010/2020/한컴독스 + 복학원서 + synam-001 + atop-equation-01)
- CHANGELOG_EN.md 신규 (영문판, 전체 이전 버전 포함)
검증
cargo test --lib: 1066 passed (1008 → +58, 회귀 0건)cargo test --test svg_snapshot: 6/6 passedcargo test --test issue_418: 1/1 passed (Task #418 회귀 보존)cargo clippy --lib -- -D warnings: 0건- WASM 빌드: 4,182,395 bytes
- 광범위 byte 비교: 10 샘플 / 309 페이지 SVG 회귀 검증
- 작업지시자 SVG + Canvas 양 경로 시각 판정 (한컴 정답지 직접 비교)
외부 기여자 감사
본 사이클 외부 기여자 (가나다순):
@cskwork, @DanMeon, @dyjung150605, @ggoban, @oksure, @planet6897, @seo-rii
특히 @cskwork 님은 본 저장소 첫 외부 컨트리뷰터 로 PR #397 / #400 두 건을 머지하셨고, @planet6897 님은 본 사이클 외부 PR 의 다수 (8 건) 를 진단 + 정정해주셨습니다.
상세 변경: CHANGELOG.md / CHANGELOG_EN.md