← Back to all sparks
X

xml2

DEVOPS
Velocity0.0

Simple and consistent interface for parsing and manipulating XML in R

xml2 relicensed to MIT, then moved its hot accessors from S3 into C

parsingperformancelicensingdependenciesmaintenance
Current state
xml2 is the libxml2 binding under most R HTML and XML work, including rvest. Its release cadence is set by libxml2 versions and R CMD check, but two of the last six matter on their own: the 1.3.3 MIT relicense and the 1.3.6 dispatch rewrite that pushed the common accessors into C and dropped three dependencies.
Where it's heading
This is infrastructure maintenance in the strict sense - most releases exist because the toolchain moved, not because the package did. Where the maintainers do choose the work, it goes to performance and dependency reduction rather than new API, and the surface has been essentially stable since 1.3.0.
Prediction
Expect the next releases to track libxml2 compatibility and R-devel format-string warnings; new API is unlikely beyond occasional XPath accessors in the style of xml_find_int().

Recent moves

  1. 2y ago

    Accessors dispatch in C; glue, withr and lifecycle dropped

    The most substantive release in this window: xml_attr(), xml_text(), xml_name() and their siblings stop using S3 dispatch and dispatch in C instead, with sizeable speedups in common cases, while three dependencies are dropped outright. libxml2 2.12 compatibility is the obligation that forced the release; the performance work is what the maintainers chose to put in it.

    View source ↗
  2. 3y ago

    Small xml_find_all() speedup and check fixes

    A minor speedup in xml_find_all() attached to R CMD check housekeeping. Part of the maintenance cadence rather than a step in any direction.

    View source ↗
  3. 3y ago

    R CMD check fixes and a Windows libxml2 bump

    Check fixes plus a bundled libxml2 update on Windows - the release exists because the toolchain moved, which is the default reason this package ships.

    View source ↗
  4. 4y ago

    Relicensed to MIT, with Hadley Wickham back as maintainer

    ⚡ SPARK

    The one release here that changes something other than performance or compatibility: xml2 moved to the MIT license and its original author resumed maintenance. For a package this far down the dependency tree, license terms travel further than any API change.

    View source ↗
  5. 6y ago

    Rejects multi-element strings; fixes a raw-input regression

    read_html() and read_xml() now error rather than silently taking the first element when handed a vector, plus a regression fix for raw input and a macOS compile fix.

    View source ↗
  6. 6y ago

    Restores reading HTML with non-ASCII encodings

    A single fix restoring read_html() for files with non-ASCII encodings, which the preceding release had broken.

    View source ↗