Nokogiri update - March 2025
Published on March 8, 2025 by Mike Dalessio
Hello!
I'm trying something new! I'm going to start writing a periodic post about the work that's being done to maintain and improve Nokogiri.
Please let me know if this is helpful and informational, or if you'd like to see more info (or less!) in the next post!
Here's what's happened so far in 2025 ...
I'm trying something new! I'm going to start writing a periodic post about the work that's being done to maintain and improve Nokogiri.
Please let me know if this is helpful and informational, or if you'd like to see more info (or less!) in the next post!
Here's what's happened so far in 2025 ...
Releases
- Release v1.18.2 / 2024-01-19 · sparklemotion/nokogiri
- Release v1.18.3 / 2025-02-18 · sparklemotion/nokogiri
Contributions
- Worked a bit with the upstream libxml2 maintainer, Nick Wellnhofer, to reproduce xpath issues in XPath optimizations (!293) · Merge requests · GNOME / libxml2 · GitLab
- Working on XPath performance improvements · Issue #3403 · sparklemotion/nokogiri, which will land once libxml 2.14 is released.
- These changes, when combined with the upstream libxml2 improvements, show a stunning speedup of ~12x on XPath queries in my benchmarks. 🚀
- Investigated Nokogiri::XML::Document#css no longer matches namespaced XML attributes · Issue #3411 · sparklemotion/nokogiri
- Did another round of html5lib error-message-correcting in Update tests for relaxed select parser by josepharhar · Pull Request #178 · html5lib/html5lib-tests
- Created Deprecate Nokogiri::HTML4::ElementDescription · Issue #3443 · sparklemotion/nokogiri, which will be deprecated in an upcoming release.
- Wrote up an issue Update parse options to reflect modern libxml usage · Issue #3439 · sparklemotion/nokogiri
- Closed RFC: Increase Nokogiri::Gumbo::DEFAULT_MAX_ERRORS to a positive number · sparklemotion/nokogiri · Discussion #3248 after much consideration.
Reviews and user help
- Reviewed and merged Parse options doc by BurdetteLamar · Pull Request #3360 · sparklemotion/nokogiri
- Reviewed and merged New doc for modernized call-seqs (kwargs) by BurdetteLamar · Pull Request #3362 · sparklemotion/nokogiri
- Reviewed and merged Parse options doc by BurdetteLamar · Pull Request #3360 · sparklemotion/nokogiri
- Reviewed Revision for XML::Node.add_child by BurdetteLamar · Pull Request #3431 · sparklemotion/nokogiri
- Reviewed and merged In XML::ParseOptions.rb put :nodoc: onto constants SAX1 and NODICT by BurdetteLamar · Pull Request #3447 · sparklemotion/nokogiri
- Reviewed and merged Add links to local pages in README.md by BurdetteLamar · Pull Request #3449 · sparklemotion/nokogiri
- Commented on the proposed format in Method documentation summary · Issue #3450 · sparklemotion/nokogiri
The user help queue was lighter than usual:
- Wrote up an example solution at How to find all matches of a link in a document using Nokogiri · sparklemotion/nokogiri · Discussion #3420
- Answered questions at Partial script tag not being sanitized · Issue #3444 · sparklemotion/nokogiri
And Nokogiri has a new contributor!
If you got this far, thank you for reading and thank you for your support!
❤️❤️❤️,
-mike