Rust high performance xml reader and writer

Is tafia/quick-xml beginner-friendly?

In the last 30 days, tafia/quick-xml merged 8 of 14 pull requests from outside contributors, and its maintainers usually reply within 1 day. 1 beginner-friendly issue is open now.

Stars
1.6k
Forks
299
Open beginner issues
1
Indexed issues
76
Avg merge
2d 4h
Merged PRs (30d)
9
Dominant language
Rust
License
MIT
Last GitHub push
Oct 23, 2026
Latest indexed
Oct 24, 2026
Contributing guide
Contributing guide
Code of conduct
No code of conduct
Beginner labels
help wanted

How to contribute to tafia/quick-xml

  1. Read the contributing guide first: it says how the maintainers want changes proposed, tested and reviewed.
  2. Your contributions will be published under the project's MIT license.
  3. Pick the open beginner-friendly issue below and comment that you want to work on it before you start.

Issues somebody may already be working on are listed last. List everything by date

  • 0.42.0 is about 30% slower than 0.41.0 on documents with many small events
    Open
    encoding optimization

    Difficulty 4/5 3-5 days Newbie friendliness 55/100

    tafia/quick-xml#1039 · 1 comment ·

    Maintainers usually reply within 1 day

  • Expanded empty elements allocate a String per element
    Open
    optimization question

    Difficulty 4/5 3-5 days Newbie friendliness 52/100

    tafia/quick-xml#1036 ·

    Maintainers usually reply within 1 day

  • Inconsistent handling of tags starting with digits (Parser accepts invalid XML)
    Open
    enhancement

    Difficulty 4/5 1-2 days Newbie friendliness 53/100

    tafia/quick-xml#1035 · 1 comment ·

    Maintainers usually reply within 1 day

  • Reader should be capable of transparent EOL normalization
    Open
    enhancement

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    tafia/quick-xml#1003 ·

    Maintainers usually reply within 1 day

  • Detect loops in entity resolution
    Open
    enhancement help wanted

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#945 ·

    Maintainers usually reply within 1 day

  • Case-insensitive XML declaration detection per XML spec section 2.6
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 34/100

    tafia/quick-xml#927 · 2 comments · 2 reactions ·

    Maintainers usually reply within 1 day

  • Whitespaces around character entities
    Open
    help wanted serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#900 · 3 comments · 2 reactions ·

    Maintainers usually reply within 1 day

  • Lingering serde whitespace bug
    Open
    help wanted serde

    Difficulty 3/5 1-2 days Newbie friendliness 46/100

    tafia/quick-xml#896 · 6 comments ·

    Maintainers usually reply within 1 day

  • A pipeline system
    Open

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    tafia/quick-xml#890 · 2 comments ·

    Maintainers usually reply within 1 day

  • Add ability to serialize Serde types to quick_xml::writer::Writer
    Open
    enhancement serde

    Difficulty 5/5 Over a week Newbie friendliness 28/100

    tafia/quick-xml#886 · 3 comments · 1 reaction ·

    Maintainers usually reply within 1 day

  • Working with typetag for xs:choice / variant types?
    Open
    question serde

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    tafia/quick-xml#880 · 1 comment ·

    Maintainers usually reply within 1 day

  • Consider whether a DOM wrapper would be a useful addition
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    tafia/quick-xml#851 · 2 comments ·

    Maintainers usually reply within 1 day

  • well-formedness
    Open
    enhancement help wanted

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    tafia/quick-xml#848 · 7 comments ·

    Maintainers usually reply within 1 day

  • Easy way to implement a LineCounter
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 48/100

    tafia/quick-xml#837 · 4 comments ·

    Maintainers usually reply within 1 day

  • Cryptic error UnexpectedStart if serde structs do not match XML
    Open
    serde

    Difficulty 3/5 1-2 days Newbie friendliness 48/100

    tafia/quick-xml#834 · 1 reaction ·

    Maintainers usually reply within 1 day

  • Deserialization of enum variant which recursively refers to itself failed with stackoverflow
    May be free again A pull request for this issue was closed without being merged. Open
    bug help wanted serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#819 ·

    Maintainers usually reply within 1 day

  • Document how to deserialize and serialize attributes using serde
    May be free again A pull request for this issue was closed without being merged. Open
    documentation serde

    Difficulty 2/5 1-3 hours Newbie friendliness 30/100

    tafia/quick-xml#804 · 7 comments ·

    Maintainers usually reply within 1 day

  • Document how to deserialize and serialize XML with namespaces using serde
    Open
    documentation namespaces serde

    Difficulty 2/5 1-3 hours Newbie friendliness 44/100

    tafia/quick-xml#803 · 2 comments ·

    Maintainers usually reply within 1 day

  • Expose a way to iterate over `DeEvent`s
    Open
    enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    tafia/quick-xml#799 · 1 comment ·

    Maintainers usually reply within 1 day

  • Support for embedded raw binary with serde API
    Open
    enhancement help wanted serde

    Difficulty 4/5 3-5 days Newbie friendliness 25/100

    tafia/quick-xml#792 · 2 comments ·

    Maintainers usually reply within 1 day

  • How to deserializes into generic struct that includes element name
    Open
    serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#778 · 2 comments ·

    Maintainers usually reply within 1 day

  • Problem deserializing a struct that can be serialized
    Open
    arrays bug help wanted serde

    Difficulty 2/5 1-3 hours Newbie friendliness 38/100

    tafia/quick-xml#752 · 2 comments ·

    Maintainers usually reply within 1 day

  • Add conformance tests
    Open
    enhancement help wanted

    Difficulty 5/5 Over a week Newbie friendliness 28/100

    tafia/quick-xml#749 · 1 comment ·

    Maintainers usually reply within 1 day

  • Understanding empty tag behavior
    Open
    question

    Difficulty 3/5 1-2 days Newbie friendliness 34/100

    tafia/quick-xml#741 · 5 comments ·

    Maintainers usually reply within 1 day

  • How to escape/de-descape with Serde
    Open
    enhancement help wanted serde

    Difficulty 2/5 1-3 hours Newbie friendliness 28/100

    tafia/quick-xml#720 · 2 comments · 1 reaction ·

    Maintainers usually reply within 1 day

  • Change the representation of Enums
    Open
    help wanted question serde

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    tafia/quick-xml#717 · 12 comments ·

    Maintainers usually reply within 1 day

  • `quick_xml::de::from_reader` requires a `BufRead` instead of just an `std::io::Read`
    Open
    help wanted

    Difficulty 4/5 3-5 days Newbie friendliness 38/100

    tafia/quick-xml#716 · 2 comments ·

    Maintainers usually reply within 1 day

  • Question: name as attribute with serde
    Open
    question serde

    Difficulty 4/5 3-5 days Newbie friendliness 30/100

    tafia/quick-xml#715 · 1 comment ·

    Maintainers usually reply within 1 day

  • Help with mixed sequence with attributes?
    Open
    serde

    Difficulty 2/5 1-3 hours Newbie friendliness 25/100

    tafia/quick-xml#700 · 1 comment ·

    Maintainers usually reply within 1 day

  • Add ability to get spans of deserialized values
    Open
    enhancement help wanted serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#695 · 4 comments ·

    Maintainers usually reply within 1 day

  • Is it as expect that Option attribute serialize into empty string instead of non-attribute.
    Open
    documentation serde

    Difficulty 2/5 1-3 hours Newbie friendliness 38/100

    tafia/quick-xml#692 · 2 comments · 1 reaction ·

    Maintainers usually reply within 1 day

  • Examples should cover XML writing more thoroughly
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 38/100

    tafia/quick-xml#686 · 1 comment ·

    Maintainers usually reply within 1 day

  • Unable to serialize a struct that deserialization works for
    Open
    bug serde

    Difficulty 3/5 1-2 days Newbie friendliness 48/100

    tafia/quick-xml#654 · 4 comments ·

    Maintainers usually reply within 1 day

  • Invalid XML declarations allowed
    Open
    enhancement help wanted

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    tafia/quick-xml#641 · 5 comments ·

    Maintainers usually reply within 1 day

  • Would using thiserror crate be acceptable for the error handling?
    May be free again A pull request for this issue was closed without being merged. Open
    enhancement

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    tafia/quick-xml#638 · 2 comments ·

    Maintainers usually reply within 1 day

  • Profile-Guided Optimization (PGO) results
    Open
    documentation help wanted

    Difficulty 1/5 Under an hour Newbie friendliness 28/100

    tafia/quick-xml#632 · 1 comment ·

    Maintainers usually reply within 1 day

  • Roadmap for v1.0?
    Open

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    tafia/quick-xml#627 · 3 comments ·

    Maintainers usually reply within 1 day

  • Error Location similar to Serde JSON or TOML Spanned?
    Open
    enhancement help wanted serde

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    tafia/quick-xml#625 · 1 comment · 1 reaction ·

    Maintainers usually reply within 1 day

  • EndEventMismatch error when asynchronously reading to end in loop
    Open
    bug help wanted

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#624 · 5 comments ·

    Maintainers usually reply within 1 day

  • Add ability to deserialize serde types from `Reader`
    Open
    enhancement help wanted serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#611 · 6 comments · 5 reactions ·

    Maintainers usually reply within 1 day

  • Ignore undeclared element when a $value field is present
    Open
    enhancement help wanted serde

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    tafia/quick-xml#596 · 3 comments ·

    Maintainers usually reply within 1 day

  • How to support multiple xs:choice ?
    Open
    question serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#588 · 1 comment ·

    Maintainers usually reply within 1 day

  • Create attribute without using @ for compatibility with json serialization
    Open
    question serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#582 · 7 comments ·

    Maintainers usually reply within 1 day

  • Feature request: enabling grammar typing for sequences via deserialize
    Open
    enhancement serde

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    tafia/quick-xml#578 · 4 comments ·

    Maintainers usually reply within 1 day

  • Recognize and process some special XML attributes
    Open
    enhancement help wanted

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#464 · 9 comments ·

    Maintainers usually reply within 1 day

  • There should be a configuration option for skipping non-meaningful text events in-between XML tags
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#461 · 2 reactions ·

    Maintainers usually reply within 1 day

  • how best to skip comments?
    Open
    enhancement help wanted

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    tafia/quick-xml#460 · 3 comments ·

    Maintainers usually reply within 1 day

  • deserialize_struct loses the main element
    Open
    serde

    Difficulty 4/5 3-5 days Newbie friendliness 30/100

    tafia/quick-xml#448 · 3 comments · 1 reaction ·

    Maintainers usually reply within 1 day

  • Is there any way to read an event and not consume it?
    Open
    enhancement help wanted

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    tafia/quick-xml#414 · 1 comment · 1 reaction ·

    Maintainers usually reply within 1 day

  • Deserializing tag with attribute values into Map
    Open
    help wanted serde

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    tafia/quick-xml#383 · 3 comments · 2 reactions ·

    Maintainers usually reply within 1 day

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.