- Fix typo in README code sample (#198 by Spone)
- Improve custom parser option (#219 by dmke)
- Force namespace to be specified separately from tag (#222 by mvz)
- Pass options into wrapping element (#225 by jbennett)
- Support Ruby 3.0 through 3.3 and JRuby 9.4, dropping support for Ruby 2.6 and 2.7 (#209, #210, #211 and #230 by mvz)
- Add official support for Ruby 2.7, 3.0 and 3.1
- Drop support for Ruby 2.3, 2.4 and 2.5
- Fix handling of attributes and elements with
state_when_nil
set (#165)
- Allow requiring
nokogiri-happymapper
(#103)
- Ensure child elements only parse direct child nodes when parsing anonymously (#100)
- Improve documentation (#99)
- Handle repeated camel-cased elements as
has_many
when parsing anonymously (#101) - Avoid creating extra elements named
text
when parsing anonymously (#98)
- Support Ruby 2.5
- Always sort namespaces. This adds support for JRuby. (#84)
- Ensure
#to_xml
generates UTF-8 content (#88) - Handle namespaces for nested value elements when parsing anonymously (#87)
- Handle attributes with a namespace that is different from the element namespace (#87)
- Ensure camel-cased elements have content in anonymous parse (#85)
- Prevent parsing of empty string for Date, DateTime (wushugene)
- Rescue nil dates (sarsena)
- Preserve XML value (benoist)
- Restore
after_parse
callback support (codekitchen) - Parse specific types before general types (Ivo Wever)
- Higher priority for namespace on element declarations (Ivo Wever)
- Correctly output boolean element value 'false' (confusion)
- Allow child elements to remove their parent's namespacing (dcarneiro)
has_many
elements were returning nil because the tag name was being ignored (haarts)- Subclassed happymapper classes are allowed to override elements (benoist)
- Attributes on elements with dashes will properly created methods (alex-klepa)
- 'Embedded' attributes break parsing when parent element is not present (geoffwa)
- Add possibility to give a configuration block to Nokogiri when parsing (DieboldInc).
- Fix for Boolean attributes to ensure that they parse correctly (zrob)
-
the
#wrap
method allows you to better model xml content that is buried deep within the xml. This implementation addresses issues with calling#to_xml
with content that was parsed from an xpath. (zrob) -
Parent HappyMapper classes may dictate the name of the tag for the child HappyMapper instances. (zrob)
- String is the default type for parsed fields. (crv)
- Update the attributes of an existing HappyMapper instance with new XML (benoist)