모든 중요한 변경 사항은 이 문서에 기록됩니다. 형식은 Keep a Changelog과 Semantic Versioning을 따릅니다.
- 단락 삭제 API:
paragraph.remove(),section.remove_paragraph(),document.remove_paragraph()메서드를 추가했습니다. 마지막 단락 삭제 시ValueError가 발생합니다. - 섹션 추가/삭제 API:
document.add_section(after=),document.remove_section()메서드를 추가했습니다. 새 섹션은 manifest/spine에 자동 등록되며, 마지막 섹션 삭제 시ValueError가 발생합니다. - 네임스페이스 상수 모듈:
hwpx.oxml.namespaces모듈을 추가하여 HP, HH, HC 등 공유 네임스페이스 상수를 제공합니다. - 새 API에 대한 16개 테스트 케이스를 추가했습니다 (
test_paragraph_section_management.py).
import hwpx만으로DeprecationWarning이 발생하던 문제를 수정했습니다.hwpx.package경고는 이제 사용자가 직접 해당 모듈을 import할 때만 표시됩니다.HwpxOxmlTableCell.text가 셀에 여러 단락이 있을 때 첫 번째 텍스트만 반환하던 버그를 수정했습니다. 모든<hp:t>요소의 텍스트를 결합하여 반환합니다.add_hyperlink()메서드에서 사용되지 않는field_inst_id변수를 제거했습니다.- deprecated
save()호출을 사용하던 테스트 코드를save_to_path()/save_to_stream()으로 업데이트했습니다.
hwpx.__version__하드코딩 값을 제거하고importlib.metadata.version("python-hwpx")기반으로 노출하도록 정리했습니다.- editable/로컬 소스 실행처럼 배포 메타데이터가 없는 환경에서도 동작하도록
PackageNotFoundErrorfallback(0+unknown)을 추가했습니다.
hwpx.opc.package.HwpxPackage와hwpx.document.HwpxDocument를 포함한 핵심 API를 공개했습니다.- 텍스트 추출, 객체 탐색, 문서 유효성 검사 등 도구 모듈과
hwpx-validateCLI를 제공합니다. - HWPX 스키마 리소스와 예제 스크립트를 번들링해 바로 사용할 수 있도록 했습니다.
- 설치 가이드, 사용 예제, 스키마 개요 등 배포 문서를 정리했습니다.