← Back to all sparks
R

readxl

ANALYTICS
Velocity0.0

Read Excel xls and xlsx files into R with no external dependencies

readxl has shipped almost nothing but vendored-dependency upkeep since 2022.

rexceldata-importlibxlsmaintenance
Current state
readxl reads Excel files into R without requiring Excel, bundling the libxls and RapidXML C libraries. Four of its last six releases state outright that they contain no user-facing changes, existing instead to satisfy CRAN, silence a sanitizer warning, or re-embed a patched libxls.
Where it's heading
The real work has become stewardship of vendored C code: absorbing libxls security fixes and keeping the package compiling across Alpine, UBSAN and successive cpp11 versions. 1.5.0 breaks the streak only slightly, with a network-drive permission warning fix and a cpp11 floor raised to dodge a segfault.
Prediction
Expect the same rhythm — releases triggered by toolchain breakage or an upstream libxls patch rather than new spreadsheet-reading capability.

Recent moves

  1. 2mo ago

    readxl 1.5.0 stops false access-denied warnings on network drives

    The first release in this window with a visible user benefit: no more spurious 'Access is denied' warnings when reading from a network drive whose parent directory is off-limits. The cpp11 minimum rises to 0.5.5 because one exact prior version segfaulted when warning about coercion.

    View source ↗
  2. 1y ago

    readxl 1.4.5 clears a gcc UBSAN warning

    Explicitly no user-facing changes; the release exists to eliminate a gcc UBSAN warning. Characteristic of readxl's compiler-driven cadence.

    View source ↗
  3. 1y ago

    readxl 1.4.4 embeds libxls 1.6.3 with vulnerability fixes

    Re-embeds libxls v1.6.3, which fixes several vulnerabilities in the vendored C parser, plus CRAN-requested internal changes. Labelled as having no user-facing changes, though the security posture of anyone parsing untrusted .xls files does improve.

    View source ↗
  4. 3y ago

    readxl 1.4.3 ships with no user-facing changes

    A release whose entire changelog is a statement that nothing user-facing changed.

    View source ↗
  5. 3y ago

    readxl 1.4.2 embeds a libxls build fixing CVE-2021-27836

    Embeds a development build of libxls specifically to pick up the fix for CVE-2021-27836 ahead of an upstream release, drops the C++11 declaration, and restores Alpine Linux compilation. All invisible from R.

    View source ↗
  6. 3y ago

    readxl 1.4.1 regenerates help files for valid HTML5

    Help files regenerated to produce valid HTML5, with the changelog naming CRAN retention as the sole motivation for cutting the release.

    View source ↗