Fixed the Accept header name in .build_client(). The header was incorrectly set as Accept-Header, which meant API version pinning never actually worked.
Fixed osf_mv() and osf_cp() failing with an uninformative error when a conflict is encountered. Waterbutler dropped the code field from conflict (409) responses, which prevented the error message from being extracted and surfaced correctly.
vcr::vcr_test_path() and vcr::vcr_configure_log().filter_sensitive_data since vcr 2.x auto-strips Authorization headers from cassettes.vcr (#145)\n is used for line endings on Windows. This produces files with identical sizes on all platforms allowing vcr to match requests that include file sizes in the body (#146).citation("osfr") for detailsMakefile for common developer tasksosfr is now part of rOpenSci and the documentation website has moved to a new URL: https://docs.ropensci.org/osfr/.
osf_rm() argument recursive been renamed to recurse in order to be consistent with other functionsosf_download() and osf_upload() are now vectorized, making the process of adding files to or retrieving files from OSF much more convenient. This functionality required significant refactoring and brings with it several notable breaking changes (see below).
osf_download() and osf_upload() gain the option to display progress bars.osf_refresh() to update an existing osf_tbl.OSF_LOG (see Contributing for more information).osf_download() and osf_upload()'s overwrite argument has been replaced with conflicts, which can be set to "error" (the default), "skip", or "overwrite".osf_upload()'s name argument has been removed, so it is no longer possible to upload a file and change it's OSF name.osf_download()'s path argument must point to an existing directory where all downloaded files will be saved.osf_download()'s decompress argument has been removed. The zip file downloaded from OSF is always decompressed in a temp directory where the enclosed files are selectively copied to the specified path.path would fail if sibling directories
shared a common substring in their names (#95)verbose=TRUE now works properly for osf_upload()OSF_SERVER is definedn_max, GUIDs and the mysterious meta columnosf_tbls (#88, @machow)modify_at()osf_mv() to move files and directories to a new project, component, or
subdirectoryosf_rm() can now delete files and directoriesOSF_PAT and/or OSF_SERVER are not definedosf_retrieve_file() will no longer retrieve files on 3rd-party storage
providers, since other osfr functions currently only support OSF storageNOTE: This version of osfr is a rewrite of the original codebase. It is effectively an entirely different package and provides no backwards compatibility with functions in versions < 0.2.0. The last version of the previous package can be installed with the remotes package:
remotes::install_github("ropensci/[email protected]")
See https://docs.ropensci.org/osfr/ for details about the new package.