Version 1.0.0 (released 2021-07-21) 2021-07-22

The package has been stable for years and should be reflected in the major version number.

Minor Enhancements

Stability Features

  • update for newer version of testthat -v3.0.0 (#312)
  • update for newer version of readr 2.0.0 (#343)
  • update for newer version of readr 1.4.0 (#313)
  • update for newer version of REDCap on test server (#310)
  • save expected datasets as files -instead of included in the actual test code (#308)

Corrections & Bug Fixes

Version 0.11.0 (Released 2020-04-20) 2020-04-21

Breaking Changes (possible, but unlikely)

  • kernel_api() defaults to “text/csv” and UTF-8 encoding. Formerly, the function would decide on the content-type and encoding. More details are below in the ‘Stability Features’ subsection.

  • constant() no longer accepts simplify as an options. An integer vector is always returned. (#280)

New Features

Stability Features

  • httr::content() (which is inside kernel_api()) now processes the returned value as “text/csv”, by default. This should prevent strange characters from tricking the process as the internal variable raw_text is being formed. See the [httr::content()](https://httr.r-lib.org/reference/content.html) documentation for a list of possible values for thecontent_type` parameter. (Thanks to great debugging by @vortexing #269, @sybandrew #272, & @begavett, #290)

  • Similarly, kernel_api() now has an encoding parameter, which defaults to “UTF-8”. (#270)

Minor Enhancements

  • check for bad field names passed to the read records functions (#288)

Corrections

Version 0.10.2 (Released 2019-09-22) 2019-09-23

Minor New Features

Modified Internals

  • All interaction with the REDCap server goes through the new kernal_api() function, which uses the ‘httr’ and ‘curl’ packages underneath. Until now, each function called those packages directly. (#213)
  • When converting REDCap’s CSV to R’s data.frame, readr::read_csv() is used instead of utils::read.csv() (Issue #127).
  • updated to readr 1.2.0 (#200). This changed how some data variables were assigned a data types.
  • uses odbc package to retrieve credentials from the token server. Remove RODBC and RODBCext (#188). Thanks to @krlmlr for error checking advice in https://stackoverflow.com/a/50419403/1082435.
  • data.table::rbindlist() replaced by dplyr::bind_rows()
  • the checkmate package inspects most function parameters now (instead of testit::assert() and base:stop() ) (#190 & #208).
  • collapse_vector() is refactored and tested (#209)
  • remove dependency on pkgload package (#218)
  • Update Markdown syntax to new formatting problems (#253)

Deprecated Features

Version 0.9.8 (Released 2017-05-18) 2017-05-18

New Features

Bug Fixes

  • Adapted to new 2.4 version of curl (see #154)

Versions 0.9.7 (Released 2017-09-09) 2016-09-09

New Features

Minor Updates

  • When combining batches into a single data.frame, data.table::rbindlist() is used. This should prevent errors with the first batch’s data type (for a column) isn’t compatible with a later batch. For instance, this occurs when the first batch has only integers for record_id, but a subsequent batch has values like aa-test-aa. The variable for the combined dataset should be a character. (Issue #128 & https://stackoverflow.com/questions/39377370/bind-rows-of-different-data-types; Thanks @arunsrinivasan)
  • Uses the dplyr package instead of plyr. This shouldn’t affect callers, because immediately before returning the data, REDCapR::redcap_read() coerces the tibble::tibble (which was formerly called dplyr::tbl_df) back to a vanilla data.frame with as.data.frame().
  • A few more instances of validating input parameters to read functions. (Issue #8).

Versions 0.9.3 (Released 2015-08-25) 2015-08-26

Minor Updates

  • The retrieve-token() tests now account for the (OS X) builds where the RODBC package isn’t available.

Versions 0.9.0 (Released 2015-08-14) 2015-08-15

New Features

  • Adapted for version 1.0.0 of httr (which is now based on the curl package, instead of RCurl).

Minor Updates

  • Uses requireNamespace() instead of require().
  • By default, uses the SSL cert files used by httr, which by default, uses those packaged with R.
  • Added warning if it appears readcap_read() is being used without ‘Full Data Set’ export privileges. The problem involves the record IDs are hashed.
  • Reconnected code that reads only the id_position in the first stage of batching. The metadata needed to be read before that, after the updates for REDCap Version 6.0.x.
  • retrieve_token_mssql() uses regexes to validate parameters

Version 0.7-1 (Released 2014-12-17) 2014-12-18

New Features

  • Updated for Version 6.0.x of REDCap (which introduced a lot of improvements to API behavior).

Version 0.6 (Released 2014-11-03) Unreleased

New Features

Version 0.5 (Released 2014-10-19) Unreleased

New Features

Minor Updates

  • Test suite now uses testthat::skip_on_cran() before any call involving OUHSC’s REDCap server.
  • Vignette example of subsetting, conditioned on a second variable’s value.

Version 0.4-28 (Released 2014-09-20) 2014-09-20

New Features

Breaking Changes

  • The records_collapsed default empty value is now an empty string (i.e., "") instead of NULL. This applies when records_collapsed is either a parameter, or a returned value.

Updates

  • By default, the SSL certs come from the httr package. However, REDCapR will continue to maintain a copy in case httr’s version on CRAN gets out of date.
  • The tests are split into two collections: one that’s run by the CRAN checks, and the other run manually. Thanks, Gabor Csardi. Any test with a dependency outside the package code (especially the REDCap test projects) is run manually so changes to the test databases won’t affect the success of building the previous version on CRAN.
  • Corrected typo in redcap_download_file_oneshot() documentation, thanks to Andrew Peters (@ARPeters #45).

Version 0.3 (Released 2014-09-01) Unreleased

New Features

Updates

  • Renamed the former status_message to outcome_message. This is because the message associated with http code returned is conventionally called the ‘status messages’ (eg, OK, Forbidden, Not Found).
  • If an operation is successful, the raw_text value (which was formerly called raw_csv) is returned as an empty string to save RAM. It’s not really necessary with httr’s status message exposed.

Bug Fixes

  • Correct batch reads with longitudinal schema #27

Version 0.2 (Released 2014-07-02) Unreleased

New Features

Updates

Version 0.1 (Released 2014-01-14) Unreleased

New Features

  • Introduces redcap_read() and redcap_read_batch() with documentation
  • SSL verify peer by default, using cert file included in package
  • Initial submission to GitHub

Enhancements