Skip to content

v2.9.1

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Apr 13:56
· 2 commits to main since this release
4cf99ae

[2.9.1] - 2026-04-27

상호운용성(interop) 버그 묶음 릴리즈입니다. 외부 기여자들이 보고하고 수정한 세 가지 문제를 정리합니다.

수정

  • HwpxOxmlTableCell._ensure_text_elementensure_run_style 내 modifier가 lxml 엘리먼트 상에서 또한 ET.SubElement를 호출해 TypeError를 발생시키던 경로를 기본 헬퍼 _append_child로 정리했습니다. 이제 cell.text = ...paragraph.add_run(..., bold=True)가 monkey-patch 없이 정상 동작합니다 (#30, @hhy827).
  • _paragraph_id / _object_id / _memo_iduuid4().int & 0xFFFFFFFF로부터 signed int32 범위를 벗어나는 값을 약 50% 확률로 생성하던 문제를 수정했습니다. id 값을 signed 32-bit 양수 범위(0 <= x < 2^31)로 클램프해 downstream 소비자와의 상호운용성을 확보했습니다 (#34, @seonghoony).
  • HwpxDocument.new()의 seed로 쓰이는 번들 Skeleton.hwpx에 signed int32 범위를 벗어나는 <hp:p id="3121190098">가 포함돼 있던 문제를 수정했습니다 (#35, @seonghoony).
  • pyproject.toml에 PEP 639 license expression과 같이 남아 있던 legacy License :: OSI Approved :: Apache Software License classifier를 제거해 setuptools>=77에서의 소스 설치/바이너리 빌드 실패를 해소했습니다.

추가

  • 위 세 버그에 대한 회귀 테스트를 추가했습니다 (tests/test_document_formatting.py, tests/test_id_generator_range.py, tests/test_skeleton_template_ids.py).
  • 머지된 기여를 인정하는 CONTRIBUTORS.md를 추가하고 README.md / CONTRIBUTING.md에서 연결했습니다.

변경

  • License relicensed to Apache-2.0 (sole author, full consent). Previous license terms no longer apply to future releases.