Release prep for 0.1.0: breaking renames, stub removal, stricter CI#99
Merged
Conversation
added 9 commits
July 4, 2026 09:40
clean_acs_names() now removes $ so income- and rent-band columns (e.g., B25074/B25106) are syntactic without backticks: ..._less_than_$10000 -> ..._less_than_10000. Verified against the 2023 variables codebook: 3,175 names change (exactly those whose concept/label contains $), no new duplicate names, and all nine cost_burden regexes match identical column sets before and after.
- employment_civilian_labor_force_percent -> employment_civilian_labor_force_employed_percent: the variable is the employment rate (employed / civilian labor force), but the old name read like the share of the population in the labor force. - median_household_income_nhpi_ -> median_household_income_nhpi_alone_: adds the _alone suffix its sibling race-iteration names already carry.
The stub warned and returned NULL invisibly. With no external users before the first tagged release, shipping a day-one deprecation is noise; the function, its test, man page, pkgdown entry, and NAMESPACE export are removed. Use list_variables() instead.
- R-CMD-check now uses error-on: warning; the loose error-only setting predated fixes to the metadata notes that motivated it. - view_acs_data.R had non-ASCII characters in string literals (the one check WARNING): now \uxxxx escapes in strings, ASCII in comments. - .Rbuildignore gains .claude, CLAUDE.md, and dev/ (check NOTEs about non-standard/hidden files).
Fixtures rebuilt from the 2024 vintage (TX counties, all tables) so they reflect the $-stripped and renamed columns. NEWS.md documents the three breaking changes; CLAUDE.md drops the removed stub from its inventory.
With CENSUS_API_KEY now set, the site build got further and surfaced a second missing credential: the custom-geographies vignette calls crosswalk::get_crosswalk(), which reads IPUMS_API_KEY. The secret has existed on the repo since March; the workflow just never exported it.
…by tenure - tenure_by_housing_costs (B25106) gains owner 30-percent-or-more burden shares (all incomes, incomes below $35k, below $50k) and an all-tenures headline share. Denominators exclude households with no computable cost ratio (zero/negative income; renters paying no cash rent), which B25106 reports as standalone lines outside the cost bands. - New owner_cost_burden table (B25091, selected monthly owner costs as a percentage of household income) adds 30- and 50-percent-or-more burden shares by mortgage status plus a combined all-owners severe-burden share; not-computed households are excluded from denominators, matching the B25074 renter measures. - The six existing renter measures are renamed cost_burdened_* -> cost_burdened_renter_*, disambiguating them from the new owner measures. - make_pretty_names() learns the new tokens and the 10.0-19.9 cost bands.
New universe column carries the Census Bureau's published universe statement for each variable (e.g., "Households", "Population 25 years and over"). Raw variables resolve via a new session-cached load_acs_groups() fetch of the groups.json endpoint (keyless); derived variables inherit their first numerator's universe, with a second pass so complements inherit through their source variable; metadata fields read "Not applicable". The API publishes universes for 2020+ vintages (the field name carries a trailing space); earlier vintages yield NA.
Owner cost-burden measures, tenure-labeled renter measures, codebook universe statements
wcurrangroome
added a commit
that referenced
this pull request
Jul 10, 2026
Sync the renv library and lockfile: Rcpp, bit64, openssl, and rlang move to current CRAN versions (exact pinned versions are no longer available as binaries and source compilation fails locally); renv upgraded to 1.2.3 per the lockfile, which rewrites renv.lock in its slimmer record format and updates renv/activate.R. Package set is unchanged (61 packages). Full test suite passes (1645 tests, 0 failures). Also remove dev/release-decisions.md: every handoff item is resolved now that PRs #99 and #100 are merged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the release judgment calls from the 2026-07-04 handoff (items 1–5); item 6 (B25106 indicators) remains open as a product decision.
Breaking changes (all recorded in NEWS.md)
$from generated variable names (clean_acs_names()): income- and rent-band columns are now syntactic, e.g...._less_than_$10000→..._less_than_10000. Verified against the 2023 variables codebook: 3,175 names change (exactly those with$in their labels), no new duplicate names, and all ninecost_burdenregexes match identical column sets before and after.employment_civilian_labor_force_percent→employment_civilian_labor_force_employed_percent: the variable is the employment rate (employed / civilian labor force); the old name read like the labor-force participation share.median_household_income_nhpi_→median_household_income_nhpi_alone_: adds the_alonesuffix its sibling race iterations already carry.list_acs_variables()stub (function, test, man page, pkgdown entry, NAMESPACE export). Uselist_variables().CI
R-CMD-checknow useserror-on: '"warning"'. Running the check locally with CI arguments surfaced one WARNING (non-ASCII characters inR/view_acs_data.Rstring literals — now\uxxxxescapes, with comments converted to ASCII) and two packaging NOTEs (.claude/CLAUDE.md/devnow in.Rbuildignore).Verification
R CMD checkwith CI args: 0 errors / 0 warnings; sole remaining NOTE is the pre-existing janitor/tidyr unused-Imports one, which does not failerror-on: warning.test_data_2026-02-08.rds,codebook_2026-02-08.rds) regenerated per the recipe intest-compile_acs_data.R(2024 vintage, TX counties, all tables). The block-group fixture is untouched: its tables contain no$labels and none of the renamed variables.Note: the CENSUS_API_KEY repository secret still doesn't exist, so API-dependent tests will skip on this PR's CI run (they don't fail).