Skip to content

v3.0.0 — Multi-document redesign + v3.1 ergonomics

Latest

Choose a tag to compare

@JunDamin JunDamin released this 29 Apr 06:57
· 1 commit to main since this release

🎯 Multi-document redesign (xlwings 모델)

ADR-003 의 결정대로 v3 부터 App 은 process lifecycle 만 책임지고
모든 문서 작업은 app.docs.open(path) / add() 가 반환하는
Document 인스턴스에서 직접 수행합니다 (xlwings 의 app.books[i]
와 동형).

💔 BREAKING

  • App.open / save / save_as / close / doc 모두 제거 (clean cut, no shim)
  • v2 사용자: pip install hwpapi==2.* 로 동결
  • 마이그레이션: v2→v3 가이드

➕ 신규

  • app.docs.open(path) / add() / active / [i] / ["name"] / iter / len
  • Document 풀 surface — text I/O / lifecycle / 7 컬렉션 / cursor / actions proxy
  • doc.set_charshape(**fmt) / set_parashape(**fmt)with 없이 즉시 적용 (v3.1)
  • doc.selection (Selection) / doc.range(p1, p2) (Range)
  • doc.find_all(query) / doc.replace_brackets({...})

📚 문서

  • ADR-003 (accepted) — Multi-document redesign 결정
  • ADR-004/005/006 (proposed) — Element API / API ergonomics / python-docx 패턴
  • 양언어 (en + ko) 47+47 페이지

🧪 테스트

  • 1,341 mock-based passes (windows-latest × Python 3.9~3.12)

자세한 변경사항은 CHANGELOG.md 참조.