get_bls() now explains missing values, such as October 2025 during the 2025 lapse in appropriations, in a warning of class bls_missing_values that gives BLS’s footnote. Turn it off with options(epidatatools.warn_missing = FALSE) (#13).
With get_bls(metadata = TRUE), value in each series’ nested data is now numeric (it was text, with "-" for missing values), and a new footnotes column gives BLS’s footnotes.
get_bls() errors and messages no longer show your BLS API key, which BLS includes in its daily-limit message.
epidatatools 2.0.0
Breaking changes
find_bls() now searches a weekly catalog of every BLS series (8.3 million series from 33 programs), built by bls-index, instead of scraping the BLS Data Finder (#29).
The first search downloads the catalog (about 33 MB) into a cache, and later searches check for a newer one at most once a week. refresh = TRUE checks now.
Searching needs the arrow package, which find_bls() offers to install.
get_bls() now returns data even when BLS fails to return series catalog metadata, which used to make the whole request fail. Affected series get an NAseries_title, and a bls_catalog_unavailable warning lists them (#23).
epidatatools 1.0.5
Fix bug in get_bls() that duplicated rows when the BLS API call retrieves sublists of footnotes.
epidatatools 1.0.4
Fix date_frequency bug in get_bls() causing failures on 20+year API requests.
epidatatools 1.0.3
Fix bug with multiple same table IDs used in get_bea_nipa()
epidatatools 1.0.2
Fix get_bls() errors when catalog data is unavailable
epidatatools 1.0.1
Improve BEA API retrieval performance
epidatatools 1.0.0
Better error handling for BEA APIs
correct bug in get_bls() producing duplicate output