NEWS
datasusr 0.1.0 (2026-05-04)
CRAN review fixes
DESCRIPTION now consistently single-quotes external software/API
names ('DATASUS', 'DBC', 'DBF', 'FTP', 'C', 'PKWare DCL', 'blast',
'zlib') and unquotes the in-package function reference
datasus_fetch(). The description field also now references the
upstream sources (DATASUS file transfer site and Adler 2003 for the
bundled blast decompressor).
- All examples switched from
\dontrun{} to \donttest{}. Network-
dependent examples are wrapped in tryCatch() and write to
tempdir() so that running them never touches the user's home
filespace.
- The default cache directory is now a session-scoped subdirectory of
tempdir() instead of tools::R_user_dir("datasusr", "cache"). To
opt in to a persistent cache across sessions, set the
DATASUSR_CACHE_DIR environment variable, the datasusr.cache_dir
R option, or pass cache_dir explicitly.
Breaking changes
- Package version bumped to 0.1.0 to reflect the expanded scope beyond just
reading DBC files.
New features
datasus_fetch(): high-level convenience function that lists, downloads,
and reads DATASUS files in a single call. Supports column selection,
type specification, and row-binding of multiple files.
DATASUSR_CACHE_DIR environment variable: the cache directory now
respects the DATASUSR_CACHE_DIR env var in addition to the existing
datasusr.cache_dir option.
format_bytes() is now exported for general use.
Bug fixes
- Fixed SIM path templates:
DOEXT, DOINF, and DOMAT previously
pointed to the DOFET FTP directory. Each now has its own correct path.
- Fixed column/argument name shadowing in
datasus_build_path(),
datasus_file_types(), and datasus_list_files(). Column names like
source and file_type no longer clash with function arguments thanks
to proper use of .env$ pronouns.
- Download failures no longer abort the loop: individual FTP download
errors are caught and reported without stopping the remaining downloads.
- Empty file lists now return immediately from
datasus_download() instead
of proceeding with zero iterations.
Improvements
- Removed all
.data$ pronoun usage inside dplyr verbs. Columns are
now referenced with bare (tidy evaluation) names, and external variables
use .env$ where needed. This follows current tidyverse best practice.
- Replaced deprecated purrr functions:
pmap_dfr() replaced with
map2() |> list_rbind().
- Replaced
purrr::map_lgl() in cache functions with base vapply()
for fewer dependencies in hot paths.
- Improved CLI messages throughout: all user-facing messages now use
cli::cli_abort() with structured hints (i bullets) instead of
bare stop(). Progress messages are more concise and informative.
- Wrapped FTP connection errors with a user-friendly message suggesting
a connectivity check.
rlang is now an explicit dependency (was already an indirect dep via
dplyr), making the %||% import explicit.
- Added
rlang (>= 1.0.0) and dplyr (>= 1.1.0) minimum version
constraints.
- Vignettes expanded with richer explanations and a new comparison article.
- pkgdown site structure updated with a comparison article.
- Compiled
.o and .so files excluded from the source bundle via
.Rbuildignore.
datasusr 0.0.7.3
- Fixed dplyr data-masking bugs in catalog and file listing helpers.
- Removed
.data$ usage inside mutate pipelines and simplified tidyverse
expressions.
- Improved verbose output in
read_datasus_dbc() so row and column counts
print on separate lines.
datasusr 0.0.7.1
- Fixed
datasus_file_types(source = ...) filtering consistency.
- Improved
cli spacing and summary formatting in key functions.
- Filtered invalid source/file type combinations earlier in
datasus_list_files().
datasusr 0.0.7
- Standardized user-facing progress and status messages with
cli.
- Added progress bars and cache-hit messages to
datasus_download().
- Added optional
verbose control to FTP, listing, and cache helpers.
- Improved cache summaries with human-readable sizes.
datasusr 0.0.6
- Added a configurable cache layer for DATASUS downloads.
- Added
datasus_cache_dir(), datasus_cache_list(),
datasus_cache_info(), datasus_cache_clear(), and
datasus_cache_prune().
- Integrated cache-aware downloads into
datasus_download().
datasusr 0.0.5
- Added DATASUS catalog helpers:
datasus_sources(),
datasus_modalities(), datasus_file_types(), and datasus_ufs().
- Added FTP helpers:
datasus_ftp_ls(), datasus_build_path(),
datasus_list_files(), and datasus_download().
datasusr 0.0.4
- Added
guess_types, col_types, and parse_dates to
read_datasus_dbc().
- Improved DBC handling for files with DBF headers plus compressed record
areas.