Skip to content

v0.9.0 — PDF 가져오기와 Rust·CLI 배포

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Nov 11:02
· 6 commits to main since this release
c9095c5

배포 진행 상태 / Publication status

GitHub Release의 CLI 5종·웹 Studio·VS Code Marketplace·Open VSX는 게시와 공개 파일 검증을 완료했습니다. @rhwp/core·@rhwp/editor도 0.9.0 게시, 공개 설치·서명·provenance 및 실제 브라우저 열기·저장·재열기 검증을 완료했습니다. / All five CLI archives, hosted Studio, VS Code Marketplace, Open VSX and both npm packages are published and publicly verified. The npm packages passed public installation, signature/provenance verification and browser open/save/reopen checks.

최종 태그 v0.9.0은 c9095c5f67632e6721e800ccc7fb43ea49d26682로 고정했습니다. 아래 기능 안내와 별도로 각 채널의 실제 게시 상태를 확인해야 합니다. / The release tag is fixed at this commit; feature availability and channel publication are tracked separately.

crates.io는 본체 rhwp 0.9.0과 의존 패키지 13개, 총 14개가 모두 게시됐습니다. 공개 API와 Cargo index에서 지정 버전·회수되지 않은 상태·게시 archive checksum 일치를 확인했습니다. 공개 registry를 사용하는 Rust·CLI·최적화 WASM 소비 검증은 진행 중입니다. 메타데이터 보정 PR #8784는 검증·병합됐습니다. / All fourteen crates, including rhwp 0.9.0, are published. Exact versions, non-yanked status and archive checksums are verified in the public API and Cargo index. Rust, CLI and optimized WASM consumption checks against the public registry are still running.

기존 태그와 두 게시 패키지는 변경하지 않습니다. 나머지 crates.io 패키지는 승인된 보정 source 4a765822988575099104c30081516b2bb7c4ddb5에서 포장하며, Rust 제품 소스와 의존 버전은 태그와 같습니다. 변경은 JPEG decoder의 필수 설명과 업로드 전 검사입니다. / The tag and the two published archives stay immutable. The remaining crates use the approved metadata-correction source; product Rust code and dependency versions match the tag. Per-package source hashes and archive checksums are recorded separately.

Chrome·Edge·Firefox 스토어에 0.9.0 제출을 모두 완료했습니다. Firefox 0.9.0은 공개 API와 실제 XPI 다운로드로 배포를 확인했습니다. 준비한 배포물과 코드·WASM·자원이 같으며 manifest의 JSON 서식과 Mozilla 서명 파일만 다릅니다. Chrome·Edge는 공개 전환 확인이 남아 있습니다. 제출 안내와 BROWSER_SHA256SUMS도 제공합니다. / Version 0.9.0 has been submitted to all three browser stores. Firefox 0.9.0 is publicly available; its downloaded XPI matches the tested payload, with only manifest formatting and Mozilla signature files differing. Public availability checks for Chrome and Edge remain pending.

rhwp v0.9.0 — 릴리즈 노트

[0.9.0]

PDF를 편집 가능한 문서로 가져오는 기본 경로와 Rust·CLI 소비 계약을 갖추고, 표·글상자·수식·저장 및 편집의 누적 보정을 반영합니다. 채널별 게시 시각과 배포 파일은 GitHub Release에서 확인할 수 있습니다.

PDF와 개발자 온보딩

  • PDF → Document IR → HWP/HWPX를 CLI·Rust·WASM·Studio에서 제공합니다. 선택 쪽과 fidelity/editable 배치 모드, 표 추론 진단을 지원합니다 (#7913, #8120).
  • JBIG2·JPEG 2000·ICC 색 변환·예산 있는 xref 복구를 기본 포함하고, 요청 한도와 Linux CLI 격리·브라우저 Worker 종료/복구를 연결했습니다 (#8181, #8190, #8360).
  • 패턴 이미지·문자 외곽선, 지원되는 곡선 clipping·회전 문자·mask 처리를 보강하고 Standard Security R2–R6 열기 암호 인증과 원본 쪽/전체 쪽·완료율을 제공합니다 (#8410, #8420).
  • 가져오기 선택 대기의 모래시계와 복잡한 JSON 기본 화면을 정리했습니다 (#8401, #8412).
  • **PDF 개발자 시작 안내**에 빌드·첫 변환·암호·Rust/WASM·Worker 배치·쪽별 진행률·오류 대응을 모았습니다.

편집·조판·저장

  • 중첩 표·RowBreak 이어받기·셀 여백·저장 줄·TAC 개체의 흐름과 머리말/꼬리말 상속, 수식·글꼴 대체를 보정했습니다. 다수 기여자의 원 커밋과 별도 검증 근거를 보존해 통합했습니다.

  • 표 칸 그림 삽입·다른 쪽으로 이동·Undo/Redo, 연속 형광펜, 중첩 셀 문단 서식, 논리 편집·다단 재조판 API를 보강했습니다 (#8725, #8379, #8340, #8187).

  • 글상자 세로 정렬·캡션·정의 슬롯·BinData 참조·그림/단색 배경과 저장 재열기 보존을 개선했습니다 (#8309, #8711, #8738).

  • HWP/HWPX 저장 후 재열기에서 컨테이너 안 글줄·표 앞뒤 본문·머리말/꼬리말 정의 슬롯을 보존하도록 보강했습니다 (#8741).

  • 큰 표 조회·수식/JPEG 그리기 비용을 줄이고, 웹 폰트의 지연/무응답 처리를 보강했습니다. 입력과 환경에 따라 성능 효과가 다릅니다.

  • 준비 중 병합된 셀 도형 이동·수식 글꼴/원본 프레임·연속 표 보존을 포함합니다 (#8754).

  • 메모 읽기·삽입·수정·삭제 API와 HWP/HWPX 왕복, 작성자·생성일 보존, Studio의 기준 글자 삭제 Undo/Redo를 추가했습니다. 새 메모 UI는 별도 작업입니다 (#8269).

CLI·배포·Native 호스트

  • Sixel·Kitty graphics 출력과 글꼴 지정 안내를 추가했습니다 (#7829, #8154). 공식 CLI는 native-skia와 실제 PNG 실행 검사로 패키징합니다. v0.8.7 공식 archive의 Native Skia 누락을 보정하는 배포 계약입니다 (#7818).
  • 0.9.0부터 crates.io 배포를 시작합니다. Rust 개발자는 rhwp = "0.9.0"으로 의존성을 추가하고, CLI 사용자는 cargo install rhwp --version 0.9.0 --locked --bin rhwp로 설치하는 경로를 제공합니다. Rust 1.93.1과 본체·내부 의존성 14개 패키지를 대상으로 하며, 초회 게시·공개 registry 소비 검증을 이번 릴리즈의 완료 조건에 포함합니다. 채널별 설치 가능 여부는 해당 registry의 0.9.0 게시 상태를 따릅니다.
  • Native snapshot·타일·캐시·Qt/Flutter host 통합 기반을 추가했습니다. macOS Metal은 기본 비활성 실험 기반으로만 수용했고 Apple SDK 실검증이 남아 있습니다. 모든 플랫폼의 완성된 GPU 편집기를 배포한다는 뜻은 아닙니다 (#8739).
  • 시험지 ingest의 이미지 삽입과 에이전트·MCP 사용 안내를 보강했습니다 (#8499).
  • 암호 문서 인증과 진단 흐름을 분리하고 Debug 출력을 비식별화했습니다. CodeQL 탐지를 끄지 않았으며 보호 브랜치 전체 분석은 별도 후속 조건입니다 (#8750).

호환성과 알려진 경계

PDF는 원저작 문서 구조를 완벽히 복원하지 않으며 스캔 글자를 OCR하지 않습니다. 지원 밖의 clip·mask·문자 paint·암호화 조합은 명시적으로 거부합니다. JSON 한도는 선택한 프로필보다 올릴 수 없고, 전체 parser 할당/RSS 상한은 입증되지 않았습니다. 동기 API의 취소·격리는 호스트가 구성해야 합니다. PDF 가져오기 결과는 입력 암호를 자동 승계하지 않습니다.

정밀 문자 획의 RHWP 확장과 반투명 PNG를 다른 편집기가 동일하게 인쇄한다고 보장하지 않습니다. 실제 글꼴을 공급하고 대상 앱 출력을 확인하세요. JS/WASM·Worker·호스팅 Studio는 같은 릴리즈로 고정해야 합니다. VS Code 기본 파일 연결은 HWP/HWPX입니다.

기여자

v0.8.7 이후 릴리즈 마감 기준 41e08ae19e360a32179d851ca2534c1195a8dced의 4,896개 커밋에서 저자·공동 저자·원 PR·cherry-pick 출처를 대조했습니다. 사람 33명, bot 1개(Dependabot)를 분리했으며 사람 identity와 번호 판정의 미해결은 0건입니다. 조회 불가한 cherry-pick 원본 9개는 통합된 커밋 저자로 보완하고 원장에 한계를 남겼습니다. 최종 태그 c9095c5f6763까지 추가 저자·공동 저자를 다시 대조했으며 새 사람 identity는 없었습니다.

기여자 감사 원장 · 별칭·판정 근거

Full change range


rhwp v0.9.0 — release notes

[0.9.0]

This release introduces PDF import into editable documents, Rust/CLI consumption contracts, and accumulated editing, layout and serialization improvements. See the GitHub Release for publication time and distribution artifacts.

PDF and developer onboarding

  • Import PDF into Document IR and save HWP/HWPX via CLI, Rust, WASM or Studio. Select source pages and choose fidelity or editable layout; inspect table-inference diagnostics (#7913, #8120).
  • Default JBIG2, JPEG 2000, ICC conversion and bounded xref recovery, request policies, Linux CLI isolation and browser Worker cancellation/recovery (#8181, #8190, #8360).
  • Pattern images and text outlines, supported curved clipping, rotated text and masks; Standard Security R2–R6 password authentication and source-page/total-page progress (#8410, #8420).
  • A usable import dialog: selection no longer retains the busy cursor; advanced JSON no longer dominates the default screen (#8401, #8412).
  • PDF developer quick start covers builds, first conversion, passwords, Rust/WASM, Worker hosting, progress and error recovery.

Editing, layout and round trips

  • Corrections to nested/RowBreak tables, stored lines, padding, inline objects, headers/footers, equations and font fallback, integrated with original contributor history and verification evidence.

  • Pictures in table cells and relocation across pages with Undo/Redo, continuous highlighting, nested paragraph formatting, logical editing and multi-column reflow (#8725, #8379, #8340, #8187).

  • Better preservation of text-box vertical alignment, captions, definition slots, BinData references, pictures and solid fills after saving/reopening (#8309, #8711, #8738).

  • Preserved container lines, text around inline tables, and header/footer definition slots after HWP/HWPX saving and reopening (#8741).

  • Reduced large-table lookup and equation/JPEG rendering costs, plus handling for slow/unresponsive web fonts. Performance benefits depend on input and environment.

  • Includes cell-shape movement, equation font/original-frame preservation and continued-table corrections merged during release preparation (#8754).

  • Memo read/insert/update/delete APIs, HWP/HWPX round trips, author/creation-time preservation, and Undo/Redo for anchor-text deletion in Studio. A new memo UI remains separate work (#8269).

CLI, packaging and Native hosts

  • Sixel and Kitty graphics with document-font guidance (#7829, #8154). Official CLI archives use native-skia and execute a PNG packaging smoke test, addressing its absence from v0.8.7 official archives (#7818).
  • crates.io distribution begins with 0.9.0. Rust developers can add rhwp = "0.9.0"; CLI users can install with cargo install rhwp --version 0.9.0 --locked --bin rhwp once published. Initial publication and consumption from the public registry are release completion requirements for the 14-package graph, using Rust 1.93.1. Installation becomes available when version 0.9.0 is published to the relevant registry.
  • Native snapshots, tiles, caches and Qt/Flutter host foundations. macOS Metal remains disabled-by-default experimental infrastructure awaiting Apple SDK validation; this is not a claim of a complete cross-platform GPU editor (#8739).
  • Image insertion in exam ingest and agent/MCP guidance (#8499).
  • Separated password authentication from diagnostic flows and redacted Debug output without disabling CodeQL. A protected-branch full security scan remains a separate follow-up (#8750).

Compatibility and limits

PDF import does not reconstruct every authoring structure or OCR scans. Unsupported clipping, masks, text paint and encryption combinations remain explicit errors. Custom limits only lower profile ceilings. Complete parser heap/RSS bounds are not proven; synchronous APIs require host cancellation/isolation. Imported documents do not inherit the source PDF password.

Other editors may render RHWP text-paint extensions or transparent PNGs differently. Supply actual fonts and verify target-application output. Pin JS/WASM, Workers and hosted Studio together. VS Code retains HWP/HWPX file associations.

Contributors

The audit covers 4,896 commits after v0.8.7 through the release finalization baseline 41e08ae19e360a32179d851ca2534c1195a8dced, including authors, co-authors, original PRs and cherry-pick origins. It identifies 33 people and one separately credited bot (Dependabot), with zero unresolved human identities or reference dispositions. Nine unavailable cherry-pick source objects are disclosed; integrated commit authors remain included. Authors and co-authors were checked again through final tag c9095c5f6763; no additional human identity was omitted.

Contributor ledger · Identity evidence

Full change range