From 61b9c95731c8e7719b9ecff0a6b6f2cef4f56918 Mon Sep 17 00:00:00 2001 From: Jared Knowles Date: Wed, 5 Aug 2026 12:04:24 -0400 Subject: [PATCH] chore: release 0.2.0 Bumps the minor version because 'All Categories' adds public surface without breaking any existing call. The bump is load-bearing, not cosmetic: cog-api installs this package with install_local(), which no-ops when the version already matches. Without it, Phase 1 would silently test against the 0.1.0 reader and pass while proving nothing. --- DESCRIPTION | 2 +- NEWS.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 7e248c8..8ccdcc3 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: uscogdata Type: Package Title: Curated Reader for the Civilytics US Census of Governments Finance Corpus -Version: 0.1.0 +Version: 0.2.0 Authors@R: person("Civilytics", , , "jknowles@gmail.com", role = c("aut", "cre")) Description: Curated R verbs over the Civilytics US Census of Governments diff --git a/NEWS.md b/NEWS.md index 6e3b47d..31492fc 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,31 @@ +# uscogdata 0.2.0 + +## New features + +* `cog_spending()` and `cog_revenue()` accept the reserved category + `"All Categories"`, returning one summed row per + `(year, canonical_govid, subtype)` across every category inside the + requested concept's subtype scope. Combine with `subtype = "operations"` + for an operating-expenditure total. `cog_geographic_rollup()` inherits it, + which is the efficient way to build a geographic total — previously a + caller had to issue one rollup per category and sum the results + (cog-api#37). + + `"All Categories"` is not the same thing as `expenditure_concept = "total"`. + The concept chooses which subtypes are in scope; `"All Categories"` chooses + whether the rows inside that scope are broken out or summed. + +* `cog_categories()` advertises `"All Categories"` for the expenditure and + revenue vocabularies, so the reserved value is discoverable. + +## Documentation + +* `cog_geographic_rollup()` and `cog_peer_compare()` now document that + `provenance$coverage`'s `n_units_reporting` is **category-conditional** and + is not a response rate: a government that was surveyed and genuinely spends + nothing in the requested category is indistinguishable from one never + surveyed (uscogdata#36). + # uscogdata 0.1.0 (development) ## Signposting now catches partially-suppressed categories