quickxml_to_serde icon indicating copy to clipboard operation
quickxml_to_serde copied to clipboard

Remove `quick-xml` warning by updating dependencies

Open John2143 opened this issue 1 year ago • 6 comments

Hello!

This PR updates the dependencies in Cargo.toml, specifically minidom v0.12 -> v0.15. I encountered the following warning when compiling on version 0.6.0:

$ cargo run
    ...
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.54s
warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.17.2

I tried updating the dependencies and it seems that newer version of minidom have dropped quick-xml entirely.

├── minidom v0.12.0
│   └── quick-xml v0.17.2
│       └── memchr v2.7.2

...

├── minidom v0.15.2
│   └── rxml v0.9.1
│       ├── bytes v1.6.0
│       ├── rxml_validation v0.9.1
│       └── smartstring v1.0.1
│           └── static_assertions v1.1.0

John2143 avatar Jun 05 '24 18:06 John2143

related to this discussion.. https://github.com/AlecTroemel/quickxml_to_serde/issues/21

AlecTroemel avatar Jun 11 '24 19:06 AlecTroemel

@AlecTroemel is there anything we can do to help move things forward regarding quick-xml ? I noticed there are 2 PRs open, this one looks like the most painless, do we need to do some testing ?

glumn avatar Jul 08 '24 07:07 glumn

@mrguiman , I think I am still a co-maintainer on this one and can try merging. My understanding is that this crate was superseded by newer, better ways of doing the conversion and should probably be archived. Do you think we should keep it going?

rimutaka avatar Jul 09 '24 22:07 rimutaka

@rimutaka that would be up to the maintainers I guess. If there are indeed alternatives and no plan on updating this crate then it wouldn't be to much pain for me to switch, but then yes the repo should probably be archived and the readme updated to point towards said alternatives ?

glumn avatar Jul 10 '24 08:07 glumn

@John2143, @mrguiman, and @rimutaka I've had basically zero time to work on this project, but I should have still been more communicative. I apologize.

The internal debate I'm having is, like @rimutaka mentioned, it seems like the rust ecosystem has move on from quick_xml. When we upgrade minidom, this project will no longer be "quick_xml to serde"! I'm guessing the new version of minidom doesn't break anything, and they've changed their internals without effecting the public interface. But the name of this repo would be a misnomer, which I guess is fine for a 20 start project?

@rimutaka if there's a suitable alternative I think archiving would be reasonable.

AlecTroemel avatar Jul 10 '24 13:07 AlecTroemel

@AlecTroemel It just took me some time to search for good alternatives, but your library seems still to be one of the best libs out there when trying to parse xml to json in rust. Even if some dependencies are outdated.

Using plain quick_xml::de::from_str:: also partially works, but has issues with arrays and unfortunately always uses $text for inner tag values, which makes it really annoying to use in combination with mongodb, which uses $text as keyword for text searches.

I personally don't care much if it is using quick_xml or roxmltree as long as it just does the job. But I can understand that maintaining a library is kind of time intensive, especially if you don't get paid for it :)

mmengelkoch-fa avatar Feb 19 '25 13:02 mmengelkoch-fa