Skip to content

Releases: sissaschool/xmlschema

v4.3.1 (2026-01-17)

17 Jan 22:33

Choose a tag to compare

  • normalize_url(): workaround for issue #467 (UNC paths with Python < 3.12.5)
  • META_SCHEMA and BASE_SCHEMA paths converted to 'file' URL scheme
  • Clean optional dependencies

v4.3.0 (2026-01-06)

06 Jan 11:18

Choose a tag to compare

  • Add arguments validation for schemas and validation methods (by validation contexts)
  • Add custom XPath parser for find/findall/iterfind APIs on schemas for match
    singleton sequence also if position is a number greater than 1 in predicate
    expression (issue #468)
  • Improve build of XSD elements and groups, using a three-state built flag for
    components
  • Extend and fix memory tests (Python 3.14+ seems to consume more memory)
  • Drop support for Python 3.9 and add development support for Python 3.15

v4.2.0 (2025-10-14)

14 Oct 09:17

Choose a tag to compare

  • Add arguments validation for schemas and validation methods (by validation contexts)
  • Add SchemaSettings dataclass for storing read-only settings for schema instances
    and for managing package default settings
  • Add block argument to XMLResource class (issue #464)
  • Add MAX_SCHEMA_SOURCES package limit (1000, applied to XsdGlobals global maps instances)
  • Add MAX_XML_ELEMENTS package limit (1,000,000, applied to non-lazy XMLResource instances)
  • Reduce MAX_XML_DEPTH limit to 1000 and apply it to all XMLResource instances
  • Fix for substitute match in case of unexpected child (issue #461)

v4.1.0 (2025-06-05)

05 Jun 21:09

Choose a tag to compare

  • Add XPath selectors: ElementSelector and ElementPathSelectors
  • Add selector argument to XMLResource and iterparse filters
  • Fix element substitution (issue #452)
  • Restore v3.4.5 builder methods as helpers (issue #451)
  • Add overall_min_occurs and overall_max_occurs helpers to XsdElement (issue #449)
  • Extend error message for XML syntax errors (issue #448)
  • Fix query/fragment like for filenames (issue #447)

v4.0.1 (2025-04-13)

13 Apr 20:39

Choose a tag to compare

  • Fix XSD identity update with xsi:type substitution (issue #446)

v4.0.0 (2025-04-11)

11 Apr 10:57

Choose a tag to compare

  • Extend support of lxml.etree through iterparse optional argument
  • Rework internal decoding/encoding methods, replacing generators with normal functions
  • Replace kwargs with a validation context (DecodeContext and EncodeContext)
  • Add SchemaLoader class and variants (related to #419)
  • Slicing of XsdGlobals with parent maps
  • Fix XsdUnion validation performance issue (related to #442)
  • Drop support for Python 3.8

v3.4.5 (2025-03-22)

22 Mar 07:42

Choose a tag to compare

  • Fix xs:all groups occurs check (issue #437)

v3.4.4 (2025-03-18)

18 Mar 10:30

Choose a tag to compare

  • Migrate project metadata to pyproject.toml by @afuetterer (PR #436)
  • Fix static typing errors with mypy==1.15.0 and elementpath==4.8.0

v3.4.3 (2024-10-31)

31 Oct 09:38

Choose a tag to compare

  • Fix incorrect validation error for substitution group with abstract head (issue #417)
  • Refactor XSD identities processing using also typed XPath 2.0+ for getting values (issue #418)
  • Clean tag retrieval during encode for some converter types (Abdera, BadgerFish and GData)

v3.4.2 (2024-09-17)

17 Sep 19:35

Choose a tag to compare

  • Fix other failing URL normalization tests
  • Avoid the use of sys.version_info for checking results, better to extend the check to more values.