Skip to content

Releases: edwardkim/rhwp

v0.7.17 — 차트 렌더 정합 + 표 편집 회귀 보정 (확장 0.2.6)

Choose a tag to compare

@edwardkim edwardkim released this 22 Jun 18:16

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)

렌더링

  • Text IR v2 폰트 fallback 권위 유지, CanvasKit replay 계약 가드 확장 (#1429/#1447/#1469)

브라우저 확장 (0.2.6)

  • viewer 인라인 스크립트 CSP 위반 정정 + 다크 아이콘 자산 복구 (#1444)
  • Chrome 다운로드 onDeterminingFilename 리스너 전역 부작용 제거 (#1471)

인프라

  • Cargo.lock git 추적 (#1423), 의존성 일괄 업데이트 (#1461~#1468)

기여자

@jangster77, @johndoekim, @oksure, @postmelee, @seo-rii — 감사합니다.

전체 변경 내역은 CHANGELOG.md를 참조하세요.

v0.7.16 — HWPX 저장 계약·한컴 호환·드래그드롭 보안

Choose a tag to compare

@edwardkim edwardkim released this 19 Jun 11:45

v0.7.15 후속 patch — HWPX 저장 계약(serializer fidelity) 정밀화, 누름틀 안내문 한컴 호환, rhwp-studio 드래그&드롭 보안 게이트, 렌더·표·그림 정합. 공개 API 하위 호환 — PATCH.

주요 변경

HWPX 저장 계약 (serializer fidelity)

한컴 호환

  • 누름틀(ClickHere) 안내문(Direction) command 포맷을 한컴 정답지 동형으로 정정 — 한컴 에디터 안내문 바인딩 해소 (#1434).

rhwp-studio 보안·UX

  • 드래그&드롭 로컬 파일 로딩 보안 게이트(모달 확인 opt-in, 확장/웹 공통) (#1439).
  • 누름틀 편집, 개체 비율 유지·크기 고정, 표 셀 TAC 그림 정렬, 다크테마 (#1419/#1428/#1430/#1436/#1352/#1420/#1422).

렌더링

기타

  • 차트 샘플 코퍼스 27종 fixture (#1431). 인쇄 시 혼합 용지 보존 (#1383).

기여자

@Martinel2 @Mireutale @jangster77 @johndoekim @msjang @mrshinds @oksure @physwkim @planet6897 @postmelee @seo-rii

전체 변경: CHANGELOG.md

v0.7.15 — Security patch and equation/HWPX fixes

Choose a tag to compare

@edwardkim edwardkim released this 06 Jun 14:59

[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:backSlash type 보존 (#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명)

Choose a tag to compare

@edwardkim edwardkim released this 04 Jun 15:41
fb88554

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 렌더링/저장 호환성 + 시험지/공공기관 문서 회귀 정정

Choose a tag to compare

@edwardkim edwardkim released this 26 May 13:57

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

Choose a tag to compare

@github-actions github-actions released this 17 May 18:09
1899ef9
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 신규 기능)

Choose a tag to compare

@edwardkim edwardkim released this 10 May 19:50
a9dcdee

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/ 폴더 한정 격리 신규 도입.

페이지네이션 정정

  • Task #775 (#778): Task #703 다단 영역 InFrontOfText/BehindText 컬럼 분배 회귀 정정 (col_count == 1 가드)

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 바이너리 릴리즈

Choose a tag to compare

@edwardkim edwardkim released this 05 May 17:56

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.gz
  • rhwp-v0.7.10-macos-x86_64.tar.gz
  • rhwp-v0.7.10-macos-aarch64.tar.gz
  • rhwp-v0.7.10-windows-x86_64.zip
  • SHA256SUMS.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-png CLI 명령 + 매뉴얼 (한글 + 영문 dual)
  • 한글 폰트 fallback chain + char 단위 fallback (공백 두부 정정) + --font-path 동적 폰트 로딩

외부 PR cherry-pick (13 PR / 7 컨트리뷰터)

후속 이슈

  • #613 — VLM 프리셋 확장 (GPT-4V / Gemini / Qwen-VL / LLaVA)
  • #614 — DPI 메타데이터 옵션 (--dpi PNG pHYs chunk)
  • #615pua_oldhangul.rs U+F53A 한컴 정합
  • #598 — rhwp-studio 각주 삭제 기능 (외부 컨트리뷰터 공개)

잔여 PR (v0.7.11 후속 patch 영역)


상세 변경 사항: CHANGELOG.md (한글) / CHANGELOG_EN.md (English).

🤖 Generated with Claude Code

v0.7.9 — Task #501 cell.padding 한컴 방어 로직 + PR cherry-pick 사이클

Choose a tag to compare

@edwardkim edwardkim released this 30 Apr 23:44
0fb3e67

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

분리된 후속 이슈

  • #502 — 문단 내 글상자 TextRun 처리 (Task #495 잔존)
  • #503 — Task #479 본질 정정 흡수 (한컴 2020 시각 판정 필수)

위키 갱신

검증

  • 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 — 외부 컨트리뷰터 다수 + 메인테이너 회귀 정정

Choose a tag to compare

@edwardkim edwardkim released this 29 Apr 03:09
42cf91b

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 추가 / 도구:

메인테이너 작업 (3 건)

  • Task #394 셀 진입 시 투명선 자동 ON 로직 비활성화 (한컴 출력 정합)
  • Task #416 find_bin_data 가드 결함 정정
  • Task #418 hwpspec.hwp p20 빈 문단 + 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 passed
  • cargo 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