Skip to content

Releases: tidyverse/readxl

readxl 1.5.0

Choose a tag to compare

@jennybc jennybc released this 16 May 23:56
  • readxl should once again compile on Alpine Linux (#775).
  • read_excel() and friends should no longer emit a spurious "Access is denied" warning when reading a file on a network drive and the user doesn't have access to a parent directory (#730).
  • Minimum version of cpp11 has been bumped to v0.5.5, because cpp11 v0.5.4 (and only that exact version of cpp11) causes readxl to segfault when warning about coercion issues (#784).

readxl 1.4.5

Choose a tag to compare

@jennybc jennybc released this 07 Mar 17:23

This release contains no user-facing changes.
It eliminates a warning seen with gcc UBSAN.

readxl 1.4.4

Choose a tag to compare

@jennybc jennybc released this 28 Feb 20:09

This release contains no user-facing changes.

readxl 1.4.3

Choose a tag to compare

@jennybc jennybc released this 06 Jul 22:57

This release contains no user-facing changes.

readxl 1.4.2

Choose a tag to compare

@jennybc jennybc released this 09 Feb 16:30

This release contains no user-facing changes.

  • We embed a development version of libxls (https://github.com/libxls/libxls), which is based on the most recent released version, v1.6.2.
    The reason for embedding a development version is to ship a version of libxls that incorporates the fix for this CVE (#679):

  • readxl no longer declares the use of C++11.

  • readxl should once again compile on Alpine Linux.

  • Other small readxl-specific patches have been made to the embedded libxls code to comply with CRAN requests, such as avoiding the use of sprintf().

readxl 1.4.1

Choose a tag to compare

@jennybc jennybc released this 17 Aug 15:58

Help files below man/ have been re-generated, so that they give rise to valid HTML5. (This is the impetus for this release, to keep the package safely on CRAN.)

readxl 1.4.0

Choose a tag to compare

@jennybc jennybc released this 28 Mar 19:36

This release is mostly about substantial internal changes that should not be
noticeable to most users (but that set the stage for future work):

  • Updating the embedded version of libxls (more below)
  • Switching from Rcpp to cpp11 (more below)
  • Refactoring to reduce duplication between the .xls and .xlsx branches

However, there are a few small features / bug fixes:

  • "Date or Not Date": The classification of number formats as being datetime-ish
    is more sophisticated and should no longer be so easily fooled by, e.g.,
    colours or currencies. This affects cell and column type guessing, hopefully
    for the better (#388, #559, @nacnudus, @reviewher).

  • Cell location is determined more robustly in .xlsx files, guarding against
    the idiosyncratic way in which certain 3rd party tools include (or, rather,
    do not include) cell location in individual cell nodes (#648, #671).

  • Warning messages for impossible dates are more specific.
    Unsupported dates prior to 1900 have their own message now, instead of being
    lumped in with dates on the non-existent day of February 29, 1900
    (#551, #554, @cderv).

Dependency and licensing changes

  • readxl is now licensed as MIT (#632).

  • readxl now states its support for R >= 3.4 explicitly.
    Why 3.4? Because the tidyverse policy
    is to support the current version, the devel version, and four previous
    versions of R.
    It was necessary to introduce a minimum R version, in order to state a minimum
    version for a package listed in LinkingTo.

  • readxl embeds libxls v1.6.2 (the previous release embedded v1.5.0).
    The libxls project is hosted at https://github.com/libxls/libxls and you can
    learn more about the cumulative changes in its release notes:

  • readxl has switched from Rcpp to cpp11 and now requires C++11 (#659,
    @sbearrows).

  • The minimum version of tibble has been bumped to 2.0.1 (released 2019-01-12),
    completing the transition to an approach to column name repair used across the
    tidyverse.

readxl 1.3.1

Choose a tag to compare

@jennybc jennybc released this 13 Mar 16:39

Pragmatic patch release to update some tests in advance of v2.1.0 of the tibble package. That release updates name repair: standard suffix becomes ...j, instead of ..j, partially motivated by user experience in readxl.

readxl 1.3.0

Choose a tag to compare

@jennybc jennybc released this 15 Feb 16:10

Dependency changes

readxl embeds libxls v1.5.0. This is the first official release of libxls in several years, although readxl has been tracking the development version in the interim. The libxls project is now officially hosted at https://github.com/libxls/libxls. In particular, libxls v1.5.0 addresses these two CVEs:

readxl 1.2.0

Choose a tag to compare

@jennybc jennybc released this 20 Dec 02:45

Column name repair

readxl exposes the .name_repair argument that is coming to version 2.0.0 of the tibble package. The readxl default is .name_repair = "unique", keeping with the readxl convention to ensure column names are neither missing nor duplicated.

  • Column Names is a new article about this feature.
  • readxl delegates name repair to tibble, therefore the installed tibble version determines how names are repaired.
  • If tibble >= v2.0.0, the full power of .name_repair is available, defaulting to .name_repair = "unique". Otherwise, the legacy function tibble::repair_names(prefix = "X", sep = "__") is used, replicating the behaviour of readxl v1.1.0.
    • Consider a spreadsheet with three columns: one unnamed and two named x.
    • Content of cells in Excel: "", x, x
    • New style column names: ..1, x..2, x..3
    • Legacy column names: X__1, x, x__1
  • Once per session, readxl emits a message stating that it works best with tibble >= v2.0.0. It is anticipated that this will become a hard minimum version requirement in a future version of readxl.

Other changes

  • read_excel() and friends gain a progress argument that controls a progress spinner (#243, #538).

  • read_xls() and read_xlsx() pass the trim_ws argument along (#514).

  • readxl has a new article on reading Excel files with multiple header rows (#486, #492 @apreshill).

  • xlsx files that do not have a "styles" part can now be read (#505, #506 @jt6)

  • All paths are passed through normalizePath() (#498, #499, new behaviour for xlsx but not xls) and enc2native() (#370).

Dependency changes

readxl is now tested back to R >= 3.1.

Embedded libxls has been updated, using the source in https://github.com/evanmiller/libxls. readxl's DESCRIPTION now records the SHA associated to the embedded libxls in a Note.