Changelog
Source:NEWS.md
fred 0.3.1
Resubmission of 0.3.0, which CRAN’s incoming checks rejected on 2026-09-08. Two problems, both now fixed.
The
donttestadditional check ranfred_all_vintages()on a machine with noFRED_API_KEYand it aborted rather than failing gracefully. 0.3.0 wrapped 14 example blocks intry()but missed 14 more, including every vintage helper andfred_get_key()itself. All of them are wrapped now. Verified by extracting every generated example withtools::Rd2ex(commentDonttest = FALSE)and running all 35 with the API key unset: none errors.inst/CITATIONcarrieddoi = "10.5281/zenodo.fred", a placeholder that was never replaced with a real deposit. It resolves to 404 on both CrossRef and DataCite, which CRAN flagged as an invalid DOI. There is no Zenodo record for this package, so the field has been removed rather than corrected.
fred 0.3.0
A research-grade upgrade in three logical blocks: (1) discoverability and reference data, (2) workflow utilities and the default plot method, and (3) reproducibility helpers. 35 exports + 4 S3 methods, 275 tests, three new vignettes.
Examples now fail gracefully when the FRED API is unreachable
Every \donttest{} example that reaches the FRED API is wrapped in try(). 14 blocks were affected. CRAN runs these in its additional-issues donttest check, on build machines the upstream host routinely refuses or rate-limits, and an example that could not reach it was an ERROR rather than a printed condition. The options(op) cache restore stays outside the try() so it runs either way.
This is the CRAN Repository Policy requirement that a package using an internet resource fail gracefully when the resource is unavailable. It is the rule obr was archived under on 2026-08-22.
Discoverability and reference data
- New
fred_catalogue()returns an offline curated catalogue of around 50 widely used FRED series (GDP, employment, inflation, rates, housing, financial, money/credit, trade/FX, consumer, fiscal). Filter by category or free-text. No API call required. - New
fred_browse()pretty-prints the FRED category tree. With no arguments, shows the eight top-level categories from a static reference (no API call). Pass acategory_idto drill into children. - New
fred_recession_dates()returns NBER business-cycle reference dates (peak, trough, duration) since 1857. Pass a vector of dates toflagto get back per-observation in-recession indicators for use as a regression covariate. - New
fred_fomc_dates()returns FOMC scheduled meeting decision dates 2017 to 2026, including SEP-meeting flags. Selected unscheduled meetings during stress periods are included. -
fred_tblnow threads throughfred_search(),fred_category(),fred_category_children(),fred_category_series(),fred_releases(),fred_release_series(),fred_release_dates(),fred_sources(),fred_source_releases(),fred_tags(),fred_related_tags(), andfred_updates(). Their print headers now show the endpoint and search query (where applicable). - New
summary.fred_tbl()prints query metadata, dimensions, date range, and value range before the standardsummary.data.frameoutput. - New
[.fred_tbl()preserves thefred_tblclass andfred_queryattribute when subsetting.
Workflow utilities and plotting
- New
fred_event_window()extracts data inside ac(before, after)day window around event dates. Works on both long and wide format. Handy for event studies around FOMC decisions, recession peaks, or release dates. - New
fred_aggregate()aggregates long or wide format data to a coarser calendar frequency (week / month / quarter / year) usingmean,sum,first,last,median,min, ormax. Complements server-side aggregation infred_series(frequency = ...). - New
fred_interpolate()fillsNAvalues via last-observation-carry- forward ("locf") or linear interpolation ("linear"). Useful for mixed-frequency analysis. - New
plot.fred_tbl()default plot method. Detects long or wide format, draws one line per series, and shades NBER recession periods. Uses base graphics: noggplot2dependency.
Reproducibility helpers
- New
fred_cite_series()produces a citation for a FRED series in BibTeX, plain text, orbibentryform. Works offline (falls back to the series ID as the title); passfetch_metadata = TRUEto use the official series title fromfred_info(). Supports vintage-date pinning so cited data is reproducible even after revisions. - New
fred_manifest()snapshots one or morefred_tblobjects as a YAML manifest with query metadata, dimensions, date range, and an MD5 hash of each object. Saving the manifest alongside paper code lets reviewers verify that the underlying data is unchanged. - New
fred_vintage_revisions()returns per-observation revision summary statistics (n_vintages, first/final value, total revision, mean/SD of inter-vintage changes, days to final). Useful for choosing low-revision series for nowcasting and real-time analysis.
Vignettes
- New vignette
multi-series-workflows: fetch, transform, widen, plot. - New vignette
nowcasting-with-fred: pseudo-real-time GDP nowcasting using monthly indicators, with vintage-aware backtesting (pairs with thenowcastpackage). - New vignette
inflation-revisions: tracking core inflation revisions usingfred_real_time_panel()aligned to FOMC SEP meeting dates.
fred 0.2.0
CRAN release: 2026-04-11
New features
-
fred_series()gains aformatargument. Passformat = "wide"to get one row per date with a column per series, instead of the default long layout. -
fred_series()gains atransformargument with readable aliases for the FREDunitscodes:"level","diff","yoy_diff","qoq_pct","yoy_pct","annualised","log","log_diff", and more. The rawunitscodes still work;transformandunitsare mutually exclusive. - New real-time and vintage helpers built on the ALFRED endpoint:
-
fred_as_of()returns a series as it appeared on a chosen vintage date. -
fred_first_release()returns only the initial release of each observation, with no subsequent revisions. -
fred_all_vintages()returns the full revision history. -
fred_real_time_panel()returns the values that were available on each of a chosen set of vintage dates.
-
- New
fred_cache_info()reports the cache directory, file count, total size, and per-file metadata. Useful for debugging stale results. - All observation results are now returned as
fred_tbl, a thindata.framesubclass with a one-line provenance header showing the query (series count, observation count, units, transform, frequency, vintage). The header is informational; downstream code can keep treating the result as a plain data frame.
fred 0.1.1
- Examples now use
\donttestwithtempdir()cache instead of\dontrun, fixing CRAN policy compliance. - Cache directory is now configurable via
options(fred.cache_dir = ...).
fred 0.1.0
- Initial CRAN release.
- Core function
fred_series()for fetching one or more FRED time series. - Server-side unit transformations and frequency aggregation.
- Local caching of downloaded data.
- Search, category, release, source, tag, and vintage endpoints.