Repository navigation
v4.0.0rc1
Pre-release
Pre-release
What's Changed
- docs: add quickstart, CLI reference, and README integration by @azoner in #110
- ci: add sphinx linkcheck step to docs job by @azoner in #111
- docs: switch API reference to sphinx-autoapi by @azoner in #112
- docs: add error code reference by @azoner in #113
- docs: add concepts overview by @azoner in #114
- docs: add Contributing section to README by @azoner in #115
- docs: normalize alignment and whitespace in README abbreviation table by @azoner in #116
- refactor: simplify map_walker via incremental decomposition by @azoner in #117
- chore: switch tooling from black/isort to ruff by @azoner in #118
- chore: replace bare except: with except Exception: in tests by @azoner in #119
- chore: remove stale TODO/XXX comments — now tracked as #120, #121 by @azoner in #122
- refactor: drop 7 arg-type ignores via _required_attr helper by @azoner in #123
- refactor: drop all no-any-return ignores by @azoner in #124
- fix: guard composite_if against None comp_data (#74) by @azoner in #125
- chore: log says package resources not pkg_resources (closes #51) by @azoner in #126
- refactor: decompose element_if.is_valid and cache _data_ele (1/5) by @azoner in #127
- refactor: extract _resolve_unique_key_field for segment matching (2/5) by @azoner in #128
- refactor: convert map_if.py to a package; move x12_node to _base (3/5) by @azoner in #129
- refactor: move loop_if, element_if, composite_if to sibling modules (4/5) by @azoner in #130
- refactor: move segment_if, map_if, load_map_file; init becomes shim (5/5) by @azoner in #131
- chore: expand ruff rules to F + B904; fix surfaced findings by @azoner in #132
- chore: enable ruff UP rules; modernize 137 sites via autofix by @azoner in #133
- fix: PRV05 in 837.4010.X097 was tagged as but is a composite by @azoner in #134
- feat: add 8 missing data element definitions for 830 and 841 maps by @azoner in #136
- feat: add check_maps.py CI gate for X12 map structural correctness by @azoner in #137
- chore: O(N) -> O(1) code-list membership via frozenset by @azoner in #138
- feat(scripts): list suppressible external code names in --help by @azoner in #139
- fix(docs): capture --help in-process so RTD doesn't silently lose output by @azoner in #140
- fix(packaging): include pyx12.map_if in wheel; switch to packages.find by @azoner in #141
- chore: remove obsolete setup.cfg by @azoner in #142
- chore: migrate .coveragerc into pyproject.toml by @azoner in #143
- chore: migrate MANIFEST.in into pyproject.toml package-data by @azoner in #144
- chore: remove obsolete RELEASE checklist by @azoner in #145
- feat: post-packaging install regression test framework by @azoner in #146
- refactor: element validators return EleError lists, no errh mutation by @azoner in #147
- refactor: composite/segment drive element validation via is_valid_errors by @azoner in #148
- refactor: delete element_if.is_valid wrapper, migrate tests to is_valid_errors by @azoner in #149
- refactor: delete composite_if.is_valid wrapper, switch to apply_composite_errors by @azoner in #150
- refactor: delete segment_if.is_valid wrapper, complete producer-side refactor by @azoner in #151
- refactor: walker accumulates errors as data; add walk_errors public API by @azoner in #152
- refactor: switch all walk() callers to walk_errors; delete walk wrapper by @azoner in #153
- chore: drop dead errh_null stubs from tests by @azoner in #154
- refactor: tighten mypy typing in pyx12/map_if/; drop ~50 Any annotations by @azoner in #155
- chore: bump version to 4.0.0rc1 by @azoner in #156
Full Changelog: v3.1.0...v4.0.0rc1