Xsdata

Latest version: v24.5

Safety actively analyzes 638466 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 9

21.8

- Deprecated JsonSerializer indent property, use SerializerConfig instead
- Fixed SchemaMapper assigning wrong namespace for imported unqualified elements
- Fixed AttributeTypeHandler to maintain occurs between any flattening
- Fixed missing required field metadata property
- Fixed nillable fields not being marked as optional
- Fixed fields ordering during class reduce process (Codegen from xml/json)
- Added support for xs:defaultOpenContent:appliesToEmpty attribute
- Added ParserConfig class factory option
[549](https://github.com/tefra/xsdata/pull/549)
- Added SerializerConfig option to ignore optional default attributes
[555](https://github.com/tefra/xsdata/pull/555)
- Added warning on unexpected duplicate types
[564](https://github.com/tefra/xsdata/pull/564)
- Added GeneratorConfig support for kw_only and slots for python >= 3.10
- Added structure style namespace-clusters
[573](https://github.com/tefra/xsdata/pull/573)
- Updated text fields default value to empty string and marked as required
[570](https://github.com/tefra/xsdata/pull/570)
- Updated fields derived from xs:substitutionGroups to optional
- Updated fields derived from xs:any to optional
- Updated AttributeDefaultValueHandler to preserve acceptable default values
- Updated AttributeDefaultValueHandler to mark as optional any xsi:type attribute
- Updated xs:alternative handling to resemble xs:choice
- Updated mixed content handler to group all elements under wildcard
- Updated ElementMapper to detect nillable types
- Updated DictMapper to generate list of xs:anySimpleType for empty list nodes
- Updated the compatibility layer for dataclass style plugins
- Updated namespaces structure style to convert namespaces similar to jaxb

- `http://www.w3.org/XML/1998/namespace` to `org.w3.XML.1998.namespace`

- Update binding process for nillable types and fields

- nillable types can be initialized
- nillable fields are initialized with None values

21.7

- Fixed docstrings backslash escaping [518](https://github.com/tefra/xsdata/pull/518)
- Fixed analyzer flattening bare types [541](https://github.com/tefra/xsdata/pull/541)
- Fixed multiple issues with compound fields and override fields
[533](https://github.com/tefra/xsdata/pull/533)
- Fixed missing derived elements types during xml parsing
[541](https://github.com/tefra/xsdata/pull/541)
- Added structure style: clusters for smaller packages
[509](https://github.com/tefra/xsdata/pull/509)
- Added configuration to generate relative imports
[519](https://github.com/tefra/xsdata/pull/519)
- Added configuration to toggle all dataclasses features
[529](https://github.com/tefra/xsdata/pull/529)
- Added binding support for tuple typing annotations (frozen dataclasses)
[529](https://github.com/tefra/xsdata/pull/529)
- Added support to bind data directly from xml/lxml Element and ElementTree
[531](https://github.com/tefra/xsdata/pull/531)
[546](https://github.com/tefra/xsdata/pull/546)
- Updated analyzer to avoid same name for outer-inner classes
[511](https://github.com/tefra/xsdata/pull/511)
- Updated cli to fail early if config file is invalid
[514](https://github.com/tefra/xsdata/pull/514)
- Updated cli to remove setuptools from runtime dependencies
[515](https://github.com/tefra/xsdata/pull/515)
- Updated analyzer to relax override field validations completely
[516](https://github.com/tefra/xsdata/pull/516)
- Updated analyzer to sort classes before class name conflict resolution
[517](https://github.com/tefra/xsdata/pull/517)
- Updated JSON parser to attempt binding against subclasses
[527](https://github.com/tefra/xsdata/pull/527)
- Updated analyzer to guard against multiple substitution group runs
[538](https://github.com/tefra/xsdata/pull/538)
- Updated code generation to use case-sensitive reserved words
[545](https://github.com/tefra/xsdata/pull/545)

21.6

- Fixed no args Dict annotation, raising an exception
[494](https://github.com/tefra/xsdata/issues/494)
- Fixed original name case not working for field names
[498](https://github.com/tefra/xsdata/issues/498)
- Fixed element type resolution with duplicate name conflicts
[503](https://github.com/tefra/xsdata/issues/503)
- Added handler to flatten bare inner classes
- Added the ability for custom types to subclass named tuples
- Added keyword meta in the reserved words
[491](https://github.com/tefra/xsdata/issues/491)
- Added new xml type `Ignore` to skip fields during binding
[504](https://github.com/tefra/xsdata/issues/504)
- Updated generic model DerivedElement.substituted flag with xsi:type
- Updated core components to improve binding performance

- Converted almost all internal dataclasses to simple objects with **slots**
- Converted the internal xml date/time types to named tuples
- Reduced models metadata lookup times and memory footprint

- Updated JSON parser [495](https://github.com/tefra/xsdata/issues/495)

- Support failing on unknown properties
- Support required properties
- Support parser config
- Stricter binding process
- Enhance DerivedElement support

- Moved Definitive XML Schema tests to the samples repository

21.5

- Added output structure style single-package
[469](https://github.com/tefra/xsdata/issues/469)
- Added support for marshalling array of objects for json
[448](https://github.com/tefra/xsdata/issues/448)
- Added support to generate code from raw json documents
[445](https://github.com/tefra/xsdata/issues/445)
- Added docstring style Blank to avoid generating them
[460](https://github.com/tefra/xsdata/issues/460)
- Added validations for non-supported type hints
- Added support for python 3.10
- Generate package **all** lists [459](https://github.com/tefra/xsdata/issues/459)
- Generate factory for xs:list enumeration default values
[471](https://github.com/tefra/xsdata/issues/471)
- Avoid generating prohibited elements with maxOccurs==0
[478](https://github.com/tefra/xsdata/issues/478)
- Avoid generating identical overriding fields
[466](https://github.com/tefra/xsdata/issues/466)
- Fixed flattening base classes if they are also subclasses
[473](https://github.com/tefra/xsdata/issues/473)
- Fixed unchecked class name conflict resolution
[457](https://github.com/tefra/xsdata/issues/457)
- Refactored context components to improve binding performance
[476](https://github.com/tefra/xsdata/issues/476)

21.4

- Split requirements to extras cli, soap and lxml
[419](https://github.com/tefra/xsdata/issues/419)
- Fixed parser conflict when an attribute and element field have the same qualified name
- Added cli auto-detection for source types, removed cli flag `--wsdl`
- Added cli support to generate code from raw xml documents
- Added cli entry point to allow pluggable output formats
[429](https://github.com/tefra/xsdata/issues/429)
- Added cli short flags for all options and flags
- Added handler to set effective choice groups
[433](https://github.com/tefra/xsdata/issues/433)
- Moved plantUML output format to a standalone
[plugin](https://github.com/tefra/xsdata-plantuml)
- Updated xml parser to allow unions of primitive and class types
- Updated XmlDateTime parser to catch invalid cases with extra leading zeros
- Updated QName converter to validate uri/ncname when parsing string representations
- Updated JsonParser to allow parsing from filename string
- Updated cli option `--compound-fields` to a boolean flag

21.3

- Added constant name convention config
[407](https://github.com/tefra/xsdata/issues/407)
- Added naming schemes screaming snake case and original case
- Updated xsi:lookup on xs:any derived elements
[315](https://github.com/tefra/xsdata/issues/315)
- Updated fields restriction inheritance
[417](https://github.com/tefra/xsdata/issues/417)
- Updated cli to allow package override from arguments
[416](https://github.com/tefra/xsdata/issues/416)
- Updated code generation to merge duplicate global types earlier
[406](https://github.com/tefra/xsdata/issues/406)
- Fixed docstrings issue breaking python syntax
[403](https://github.com/tefra/xsdata/issues/403)
- Fixed bindings for nillable content without workarounds
[408](https://github.com/tefra/xsdata/issues/408)
- Fixed resolver to apply aliases on extensions and choice fields
[414](https://github.com/tefra/xsdata/issues/414)
- Fixed schema models limiting xs:appinfo occurrences
[420](https://github.com/tefra/xsdata/issues/420)
- Decoupled core systems from click and lxml

**Notice**: In the next release installation profiles will be introduced that will turn
the cli, lxml and soap features **optional**.

Page 5 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.