CHANGELOG.md

  1Version NEXT:
  2    * Changes
  3        - Fix some Clippy warnings
  4    * Fix
  5        - Bump rxml version from 0.13.1 to 0.13.3. We needed a feature of .3.
  6
  7Version 0.18, released 2025-10-28:
  8  * Breaking:
  9    * Remove 'std' feature for now because it makes build fail on
 10      no-default-features.
 11    * Add `Element::attr_ns` that requires the attribute namespace in addition
 12      to `Element::attr` (which defaults to `rxml::Namespace::none()`. Similar
 13      changes on `ElementBuilder` methods.
 14      `Element` now uses `AttrMap` to store attributes, and this also implies
 15      some more changes in the Element interface such as iterators on
 16      attributes.
 17  * Changes
 18    * Use thiserror for the error type. (!616)
 19
 20Version 0.17, released 2025-09-17:
 21  * Changes
 22    * Almost make the whole crate `no_std`, only `std::io` is still remaining.
 23    * Update rxml dependency to 0.13.
 24  * Fixes
 25    * Remove warnings for elided lifetimes (rustc 1.90)
 26    * Fixes serialization and ensure prefixes are set on Element when using
 27      `Element::from_reader_with_prefixes`.
 28
 29Version 0.16, released 2024-07-23:
 30  * Breaking
 31    * Element comparison returns unequal when number of nodes is unequal.
 32  * Changes
 33    * New `Element::append_text` method.
 34    * Update rxml to 0.11.0
 35  * Fixes
 36    * Prevent splitting of text nodes in TreeBuilder when there is no element in between.
 37    * Update to edition 2021.
 38    * Fix clippy lints, and other compiler warnings.
 39
 40Version 0.15.2, released 2023-05-13:
 41  * Changes
 42    * Fix a memory corruption on closing tags for elements with a name longer
 43      than 24 bytes
 44    * Only enable the mt features of rxml, we don’t need any additional one
 45
 46Version 0.15.1, released 2023-01-15:
 47  * Changes
 48    * Add `Element::from_reader_with_prefixes`
 49    * (#44) Add test ensuring parsing two namespaces resolv
 50
 51Version 0.15.0, released 2022-07-13:
 52  * Changes
 53    * Drop quick-xml dependency (astro1, jssfr)
 54
 55Version 0.14.0, released 2022-03-07:
 56  * Changes
 57    * Bump quick-xml dependency (thanks eijebong!)
 58  * Fixes
 59    * Handle identical namespaces of sibling elements correctly (thanks Jasper!)
 60    * Fix support for newer rustc (see https://github.com/rust-lang/rust/issues/90199)
 61
 62Version 0.13.0, released 2021-01-13:
 63  * Changes
 64    * Force namespaces on Element, which was a breaking change.
 65
 66Version 0.12.1, released 2021-01-13, yanked:
 67  * Changes
 68    * Bump quick-xml dependency.
 69
 70Version 0.12, released 2020-02-15:
 71  * Breaking
 72    * `Element.write_to` doesn't prepend xml prelude anymore. Use `write_to_decl` when necessary.
 73    * PartialEq implementation for Element and Node have been changed to
 74      ensure namespaces match even if the objects are not structurally
 75      equivalent in Rust.
 76  * Changes
 77    * Explicitly focus on XMPP. Some features will eventually be removed from
 78      the project to comply with this.
 79    * Update edition to 2018
 80    * Add NSChoice enum to allow comparing NSs differently
 81    * Add impl for From<Into<Element>> for Node
 82  * Fixes
 83    * Update old CI configuration with newer Rust images
 84
 85Version 0.11.1, released 2019-09-06:
 86  * Changes
 87    * Update to quick-xml 0.16
 88    * Add a default "comments" feature to transform comments into errors when unset.
 89
 90Version 0.11.0, released 2019-06-14:
 91  * Breaking
 92    * Get rid of IntoElements, replace with `Into<Node>` and `<T: Into<Node> IntoIterator<Item = T>>`
 93  * Fixes
 94    * Remote unused `mut` attribute on variable
 95  * Changes
 96    * Update quick-xml to 0.14
 97    * Split Node into its own module
 98    * Nicer Debug implementation for NamespaceSet
 99
100Version 0.10.0, released 2018-10-21:
101  * Changes
102    * Update quick-xml to 0.13
103    * Update doc to reflect switch from xml-rs to quick-xml.
104
105Version 0.9.1, released 2018-05-29:
106  * Fixes
107    * Lumi fixed CDATA handling, minidom will not unescape CDATA bodies anymore.
108  * Small changes
109    - Link Mauve implemented IntoAttributeValue on std::net::IpAddr.
110
111Version 0.9.0, released 2018-04-10:
112  * Small changes
113    - Upgrade quick_xml to 0.12.1
114
115Version 0.8.0, released 2018-02-18:
116  * Additions
117    - Link Mauve replaced error\_chain with failure ( https://gitlab.com/lumi/minidom-rs/merge_requests/27 )
118    - Yue Liu added support for writing comments and made the writing methods use quick-xml's EventWriter ( https://gitlab.com/lumi/minidom-rs/merge_requests/26 )
119
120Version 0.6.2, released 2017-08-27:
121  * Additions
122    - Link Mauve added an implementation of IntoElements for all Into<Element> ( https://gitlab.com/lumi/minidom-rs/merge_requests/19 )
123
124Version 0.6.1, released 2017-08-20:
125  * Additions
126    - Astro added Element::has_ns, which checks whether an element's namespace matches the passed argument. ( https://gitlab.com/lumi/minidom-rs/merge_requests/16 )
127    - Link Mauve updated the quick-xml dependency to the latest version.
128  * Fixes
129    - Because break value is now stable, Link Mauve rewrote some code marked FIXME to use it.
130
131Version 0.6.0, released 2017-08-13:
132  * Big changes
133    - Astro added proper support for namespace prefixes. ( https://gitlab.com/lumi/minidom-rs/merge_requests/14 )
134  * Fixes
135    - Astro fixed a regression that caused the writer not to escape its xml output properly. ( https://gitlab.com/lumi/minidom-rs/merge_requests/15 )
136
137Version 0.5.0, released 2017-06-10:
138  * Big changes
139    - Eijebong made parsing a lot faster by switching the crate from xml-rs to quick_xml. ( https://gitlab.com/lumi/minidom-rs/merge_requests/11 )