Skip to content

chore(deps): bump xml from 6.6.1 to 7.1.0 - #64

Merged
anilcancakir merged 2 commits into
masterfrom
dependabot/pub/xml-7.1.0
Oct 9, 2026
Merged

anilcancakir merged 2 commits into
masterfrom
dependabot/pub/xml-7.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 6, 2026

Copy link
Copy Markdown
Contributor

Bumps xml from 6.6.1 to 7.1.0.

Changelog

Sourced from xml's changelog.

7.1.0

  • Dart 3.13 and PetitParser 7.1.0 requirement.
  • Standard-compliant DOM position comparison:
    • Introduced XmlNode.compareDocumentPosition returning XmlDocumentPosition bitmask flags (isSame, isDisconnected, isPreceding, isFollowing, isContains, isContainedBy, isImplementationSpecific), matching W3C DOM Level 3 / DOM 4.
    • Deprecated XmlNode.compareNodePosition in favor of compareDocumentPosition.
  • XML attribute and namespace separation:
    • Added XmlAttribute.isNamespaceDeclaration to distinguish namespace declarations (xmlns or xmlns:*) from regular attributes.
    • Added elementAttributes getter on XmlAttributesBase and XmlHasAttributes to iterate over attributes excluding namespace declarations.
  • XPath 3.1 enhancements and W3C compliance:
    • Excluded namespace declarations from the attribute axis (@*), aligning with XPath 3.1 specification.
    • Restored document order for reverse-indexed axes with predicates.
    • Implemented canonical EQName path generation in fn:path (/Q{uri}name[idx], @Q{uri}name, text()[idx]).
    • Improved ID and IDREF resolution in fn:id, fn:idref, and fn:element-with-id with xml:id and DTD <!ATTLIST ... ID/IDREF> attribute declarations.
    • Introduced XPathConfiguration to configure evaluation contexts (custom variables, functions, namespaces, documents, environment variables, base URI, unparsed text loader, and trace callback). Deprecated passing variables and functions directly to xpath and xpathEvaluate.
    • Added XML serialization (fn:serialize) supporting XML, HTML, XHTML, text, JSON, and adaptive output methods with serialization parameters.
    • Added PetitParser-based regular expression transformer for XML Schema regex syntax supporting fn:matches, fn:replace, fn:tokenize, and fn:analyze-string.
    • Added fn:parse-ietf-date.
    • Standardized error handling with XPathErrorCode and W3C error codes.
    • Redesigned date, time, and duration types (xs:duration, xs:dayTimeDuration, xs:yearMonthDuration, xs:dateTime, xs:date, xs:time, and Gregorian date types) for strict W3C compliance.
    • Added support for xs:anyAtomicType, xs:error, and string-derived XML Schema constructors.
    • Added support for unparsed text and JSON document retrieval (fn:unparsed-text, fn:unparsed-text-lines, fn:unparsed-text-available, fn:json-doc) via unparsedTextLoader.
    • Added context-aware document lookup (fn:doc, fn:doc-available) and cross-platform environment variable resolution (fn:environment-variable, fn:available-environment-variables).
    • Added support for key sequences and native Dart Map and List structures in lookup expressions (?).
    • Integrated maps and arrays into dynamic function calls.
    • Added duration support in aggregation functions (fn:avg, fn:sum).
    • Protected arithmetic and math functions (fn:ceiling, fn:floor, duration operations) against Infinity and NaN.
    • Significant XPath evaluation performance optimizations:
      • Preserved document order on absolute paths (/, //), avoiding redundant sorting and deduplication fallbacks. Yields up to 775x speedup on large documents (e.g., at $N=10,000$, //* is ~775x faster dropping from 3.75s to 4.8ms; /root/item/name is ~609x faster dropping from 840ms to 1.38ms; //item is ~307x faster dropping from 870ms to 2.84ms).
      • Introduced two-tier node sorting with direct sibling indexing in DOM position comparisons for queries requiring deduplication.
      • Collapsed DescendantOrSelfAxis + ChildAxis into DescendantAxis for steps with non-positional predicates (e.g., //item[@id=100] is ~5.75x faster).
      • Cached small XPathInteger instances (0..128) and unboxed integer comparisons for zero-allocation positional predicate matching with early-exit loop termination.
      • Optimized sequence atomization with zero-allocation fast paths for empty and single-item sequences, along with primitive 1-vs-1 comparison fast paths.
    • Fix short-circuit evaluation for != general comparisons (#207).
    • Removed @experimental annotation from XPath API.
  • Add command-line XPath evaluation example tool (example/xml_xpath.dart).

7.0.1

  • Better namespace support across all parts of the library:
    • Namespaces of XmlDocument.parse and XmlDocumentFragment.parse are now resolved at parse-time and constant when manipulating the DOM (this aligns with other XML libraries and removes surprising behavior when moving nodes around).
    • Deprecate all namespace arguments and replace them with the more intention revealing namespaceUri and namespacePrefix.
    • Lower-level parser and event APIs can now enable and disable the validation and resolution of namespaces with validateNamespaces and withNamespaces. This is a BREAKING CHANGE to existing code using these lower-level APIs, as namespaces are no longer available by default.
    • Introduced XmlNamespaceException for error reporting of invalid namespaces.
    • XmlName is now immutable and the complexity with different states is gone.
    • Added XmlNamespace node type and XmlHasNamespaces mixin to support reading in-scope namespaces on nodes.
  • Correctly move nodes from their previous parent when inserting them into a new location, rather than throwing an XmlParentException. This aligns with standard DOM behavior and improves usability and performance. XmlDocumentFragment nodes are automatically expanded and their children are moved as well.
  • Improved performance and usability of XmlBuilder:
    • Significantly improve the performance of XmlBuilder as all namespace lookups are now in constant time.
    • Deprecated namespace(String uri, String? prefix) and namespaces(Map<String, String?> uriToPrefix) accessors that have an unusually awkward API. Replaced with namespaceUri(String? prefix, String? uri) and namespaceUris(Map<String, String> prefixToUri) with a clear prefix-uri order.

... (truncated)

Commits
  • fc47f1c Ready for 7.1.0
  • 6903616 Add command-line XPath evaluation example tool
  • 34d51d2 Update documentation, verify examples, and adhere to Dartdoc conventions
  • 52bff18 [XPath] Close coverage gaps across path, predicate, operator, and sequence op...
  • 7544f43 [XPath] Optimize path evaluation, step collapsing, and sequence atomization
  • 1c779b5 [XPath] Enhance regex back-reference handling and XPath function argument val...
  • 37c428c [XPath] Implement PetitParser-based regex transformer and push QT3 pass rate ...
  • 168c1e1 [XPath] Improve XPath test coverage further
  • 24ba23b [XPath] Expand XPath and XML events test suites to close coverage gaps
  • 2000f67 [XPath] Remove unused operators and dead sequence caching code
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [xml](https://github.com/renggli/dart-xml) from 6.6.1 to 7.1.0.
- [Changelog](https://github.com/renggli/dart-xml/blob/main/CHANGELOG.md)
- [Commits](renggli/dart-xml@v6.6.1...v7.1.0)

---
updated-dependencies:
- dependency-name: xml
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@codecov

codecov Bot commented Oct 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

xml 7 deprecates the XmlName constructor and the namespace argument of
getAttribute, so dart analyze reported 22 issues on this branch. The
replacements (XmlName.parts, namespaceUri) do not exist in xml 6, and
the constraint keeps 6.5.0 as its floor so no consumer has to move to
Dart 3.11.

PlistWriter builds elements with XmlElement.tag, which both majors
offer undeprecated. XmlEditor matches android: attributes on the
resolved namespace URI by hand, as getAttribute does internally. The
tests read the android: prefixed name. Analyze is clean and all 1418
tests pass on xml 6.5.0 and on 7.1.0.

Co-Authored-By: Anılcan Çakır <anilcan.cakir@gmail.com>
@anilcancakir
anilcancakir merged commit 691d15a into master Oct 9, 2026
4 checks passed
@anilcancakir
anilcancakir deleted the dependabot/pub/xml-7.1.0 branch October 9, 2026 01:39
@anilcancakir anilcancakir mentioned this pull request Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant