Release 2.2.6 — require python-hwpx 2.9.1, drop compat shim, packaging fix#65
Merged
Conversation
…x 2.9.1 python-hwpx 2.9.1 masks _paragraph_id / _object_id / _memo_id with 0x7FFFFFFF upstream (airmang/python-hwpx#34). The local compat shim introduced in #64 is therefore redundant for anyone on 2.9.1+, which is what pyproject.toml now requires. Remove: - _patch_upstream_id_generators_to_signed_int32 in compat.py - tests/test_compat_id_sanitizer.py (covered upstream by tests/test_id_generator_range.py and test_skeleton_template_ids.py) Keep _patch_sub_element_for_lxml_parent. Upstream 2.9.1 only fixed the cell-text and run-style paths (airmang/python-hwpx#30); the other 26 stdlib ET.SubElement call sites in hwpx/oxml/document.py can still trip the lxml dispatch mismatch until a follow-up upstream PR closes them out. Thanks to @seonghoony for the original shim (#64).
…y classifier - Bump version to 2.2.6. - Require python-hwpx >= 2.9.1 so the interop fixes merged upstream (ET.SubElement dispatch #30, id-range #34/#35) are always present. - Drop the legacy 'License :: OSI Approved :: Apache Software License' classifier that collided with the PEP 639 'license' expression under setuptools>=77 (same source-install breakage that python-hwpx 2.9.1 fixed). - Record the above plus the compat shim removal in CHANGELOG [2.2.6].
Mirror airmang/python-hwpx#39. The release workflow matched the first '## [...]' heading in CHANGELOG.md, so maintainers had to empty the conventional keep-a-changelog [Unreleased] block before every tag push. Skip the Unreleased heading explicitly in both validation and the release-notes extraction step so the first actual version heading (e.g. '## [2.2.6] - 2026-04-27') drives both the tag/version check and the release body.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
python-hwpx 2.9.1릴리즈에 맞춰 하류(downstream) MCP 서버도 2.2.6으로 묶어 내보냅니다.#64에서 임시로 들여놓았던 id 생성기 compat shim을 제거하고, 소스 설치를 막던 PEP 639 classifier도 정리합니다.포함 내용
refactor(compat): id-generator shim 제거
python-hwpx 2.9.1(_paragraph_id/_object_id/_memo_idproduce values that overflow signed 32-bit python-hwpx#34, Ensure planner documents are registered before plan operations #35)이 업스트림에서 동일 수정을 반영했으므로 로컬 shim은 불필요합니다.src/hwpx_mcp_server/compat.py에서_patch_upstream_id_generators_to_signed_int32제거.tests/test_compat_id_sanitizer.py제거 — 동일 범위가 업스트림tests/test_id_generator_range.py,tests/test_skeleton_template_ids.py에서 커버됩니다._patch_sub_element_for_lxml_parent는 유지합니다. 업스트림 2.9.1 (Fix insert_paragraphs_bulk dry-run behavior #30 fix) 은 cell-text / run-style 경로만 커버하고,hwpx/oxml/document.py내 나머지 26개ET.SubElement호출 경로는 여전히 혼합 파서 TypeError를 유발할 수 있습니다.chore(release): 버전/의존성 범프
version = \"2.2.6\"python-hwpx >= 2.9.1(이전:>= 2.6)pyproject.toml의 legacyLicense :: OSI Approved :: Apache Software Licenseclassifier 제거 —setuptools>=77기준 `pip install -e .` / `python -m build`가 airmang/python-hwpx#38과 동일한 사유로 실패하던 문제를 해소합니다.ci(release): `[Unreleased]` 섹션 skip
로컬 검증
Python 3.11 + python-hwpx 2.9.1 (PyPI에서 바로 설치) 환경:
```
pytest tests/ → 130 passed in 4.37s
```
실전 재현 (compat shim 제거 후):
HwpxDocument.new()+ 100 paragraphs + 3x3 table +cell.text =전부 성공`pip install -e .` / `python -m build` 둘 다 성공.
머지 이후
연결 이슈
add_paragraph/add_table/add_memocarry ids>= 2^31#63 (close on merge — 업스트림 2.9.1로 해소)관련 상류 변경
기여자 크레딧