Repository navigation
Malformed X12 input now gets a normal rejection instead of crashing the validator or being silently truncated. Install with pip install pyx12==4.0.1. Same code as 4.0.1rc1.
Acknowledgement output changes (malformed envelopes only)
- A functional group with no transaction set was accepted; it is now rejected (
AK9*R, AK9055). (#198) - Segments outside any transaction set (for example a repeated SE, GE or IEA) are reported on the enclosing group's AK9 or the interchange's TA1 (
024), instead of being dropped or attached to the previous transaction. See "Segments outside a transaction set" in the error code docs. (#198)
Fixes
- A stray or duplicated IEA, GE or SE no longer raises
IndexError. (#193) - A blank segment (
~~or a blank line) no longer silently drops the rest of the file, including any later interchanges. (#194) - A composite with more sub-elements than its map defines no longer raises
IndexErrorduring validation. (#195) - XML output no longer crashes on elements or sub-elements the map does not define; they are left out. (#196)
- The HTML report no longer crashes on files without a transaction set, and shows "IEA missing" again. (#197)
Deprecated
SEG_3_TOO_MANY_SUBELEMENTSwas never emitted; useCOMP_3_TOO_MANY_SUBELEMENTS. It will be removed in 5.0. (#195)
Project
SECURITY.mdand private vulnerability reporting are now enabled. (#192)
Thanks to @VadimToptunov for reporting the trailer crash and contributing #193, and to @gumption (Joe McCarthy), who reported the IEA crash and the blank-line problem and wrote the XML fix in #35 back in 2015.
Full changelog: v4.0.0...v4.0.1