Skip to content

fix: internalize XML parsing#606

Merged
thymikee merged 1 commit into
mainfrom
codex/internalize-xml-parser
May 28, 2026
Merged

fix: internalize XML parsing#606
thymikee merged 1 commit into
mainfrom
codex/internalize-xml-parser

Conversation

@thymikee
Copy link
Copy Markdown
Member

Summary

Replace the fast-xml-parser dependency with a constrained internal XML parser for the existing iOS XmlNode contract.

Add security-oriented parser bounds and regression coverage for entity non-expansion, unsafe attribute names, malformed nesting, document size limits, plist fallback parsing, xctestrun product references, and iOS perf XML parsing.

Remove fast-xml-parser and its transitive graph from package.json and pnpm-lock.yaml.

Touched files: 4. Scope stayed within the iOS XML parser/dependency surface.

Validation

Verified with pnpm format, focused iOS XML consumer tests (xml, plist, runner-client, perf: 55 tests), pnpm check:tooling, pnpm test:smoke, dependency reference scan, and npm pack --dry-run size check.

A full pnpm check:unit run was attempted outside the sandbox; it failed only in unrelated Android fill timing tests under full-suite load, and those exact tests passed when rerun in isolation.

@thymikee thymikee force-pushed the codex/internalize-xml-parser branch from 97b7317 to a68176a Compare May 28, 2026 15:19
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 28, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-05-28 15:44 UTC

@thymikee thymikee force-pushed the codex/internalize-xml-parser branch from a68176a to 327a118 Compare May 28, 2026 15:37
@thymikee thymikee merged commit 46784f2 into main May 28, 2026
18 checks passed
@thymikee thymikee deleted the codex/internalize-xml-parser branch May 28, 2026 15:44
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