# Release notes — R2026.20 (data package 1.18.0, 2026-10-09)

Generated by `catalog.release.release_notes` from package 1.17.1 (R2026.19, 2026-10-09) → 1.18.0. Every number below is computed from the two packages; dates come from VERSION.json.

## Catalog (human gut, all ages: `gut_*` tables)

| entity | 1.17.1 | 1.18.0 | added | removed |
|---|---|---|---|---|
| catalog studies | 2,865 | 2,918 | 53 | 0 |
| catalog samples | 571,712 | 587,603 | 15,915 | 24 |
| sample × field values (current) | 3,825,853 | 3,849,193 | +23,340 |  |
| catalog runs (`gut_runs`) | 724,147 | 738,985 | +14,838 |  |

Per-field coverage over all catalog samples (`gut_sample_metadata_wide`):

| field | n 1.17.1 | cov | n 1.18.0 | cov | Δ n |
|---|---|---|---|---|---|
| `age_category` | 371,975 | 65.1% | 380,206 | 64.7% | +8,231 |
| `country` | 524,020 | 91.7% | 536,847 | 91.4% | +12,827 |
| `health_condition` | 275,748 | 48.2% | 277,223 | 47.2% | +1,475 |
| `subject_id` | 309,271 | 54.1% | 309,272 | 52.6% | +1 |
| `age_at_collection_days` | 162,995 | 28.5% | 164,899 | 28.1% | +1,904 |
| `sex` | 187,001 | 32.7% | 189,231 | 32.2% | +2,230 |
| `detailed_location` | 303,665 | 53.1% | 305,035 | 51.9% | +1,370 |
| `lifestyle` | 19,011 | 3.3% | 19,100 | 3.3% | +89 |
| `collection_date` | 426,018 | 74.5% | 426,579 | 72.6% | +561 |
| `intervention` | 47,430 | 8.3% | 47,429 | 8.1% | -1 |
| `antibiotic_exposure` | 110,928 | 19.4% | 111,237 | 18.9% | +309 |
| `bmi` | 50,867 | 8.9% | 50,868 | 8.7% | +1 |
| `timepoint_label` | 170,618 | 29.8% | 170,618 | 29.0% | +0 |
| `diet` | 14,085 | 2.5% | 14,085 | 2.4% | +0 |
| `smoking_status` | 12,252 | 2.1% | 12,252 | 2.1% | +0 |
| `medication` | 9,449 | 1.7% | 9,449 | 1.6% | +0 |
| `stool_consistency_bristol` | 3,037 | 0.5% | 3,037 | 0.5% | +0 |

New catalog studies: PRJDB2800, PRJDB8879, PRJEB38742, PRJEB44907, PRJEB47736, PRJEB50505, PRJEB58879, PRJEB60692, PRJEB62678, PRJEB63587, PRJEB66487, PRJEB74035, PRJEB75353, PRJEB75807, PRJEB76399, PRJEB86785, PRJEB86881, PRJNA1064103, PRJNA1079071, PRJNA1082417, PRJNA1088910, PRJNA1125836, PRJNA1145114, PRJNA1192252, PRJNA1277853, PRJNA1372070, PRJNA1372073, PRJNA1423207, PRJNA256106, PRJNA302832, PRJNA308867, PRJNA317435, PRJNA336061, PRJNA413199, PRJNA413356, PRJNA427187, PRJNA504921, PRJNA588514, PRJNA648796, PRJNA648797, PRJNA665061, PRJNA715245, PRJNA730689, PRJNA734321, PRJNA790678, PRJNA825696, PRJNA877820, PRJNA879122, PRJNA881338, PRJNA898150, PRJNA912122, PRJNA939268, PRJNA944553

## Registry (`registry_studies`)

| entity | 1.17.1 | 1.18.0 | added | removed |
|---|---|---|---|---|
| registry studies | 64,369 | 64,369 | 0 | 0 |

## Infant extension: studies and samples

| entity | 1.17.1 | 1.18.0 | added | removed |
|---|---|---|---|---|
| included studies | 389 | 389 | 0 | 0 |
| catalog samples | 153,238 | 153,238 | 0 | 0 |

## Infant extension: per-field coverage on `catalog_scope`

Recomputed from `sample_metadata_wide` (non-null values among catalog_scope rows: 72,254 → 72,254); field list from `field_coverage_summary.csv`.

| field | n 1.17.1 | cov | n 1.18.0 | cov | Δ n |
|---|---|---|---|---|---|
| `probiotic_exposure` | 2,573 | 3.6% | 2,573 | 3.6% | +0 |
| `preterm_status` | 32,289 | 44.7% | 32,289 | 44.7% | +0 |
| `gestational_age_weeks` | 12,256 | 17.0% | 12,256 | 17.0% | +0 |
| `delivery_mode` | 23,066 | 31.9% | 23,066 | 31.9% | +0 |
| `feeding_mode` | 11,312 | 15.7% | 11,312 | 15.7% | +0 |
| `antibiotic_exposure` | 12,576 | 17.4% | 12,576 | 17.4% | +0 |
| `age_at_collection_days` | 52,582 | 72.8% | 52,582 | 72.8% | +0 |
| `birth_weight_grams` | 10,436 | 14.4% | 10,436 | 14.4% | +0 |
| `country` | 69,267 | 95.9% | 69,267 | 95.9% | +0 |
| `maternal_antibiotics` | 8,317 | 11.5% | 8,317 | 11.5% | +0 |
| `hmo_supplementation` | 1,256 | 1.7% | 1,256 | 1.7% | +0 |
| `nec_status` | 5,302 | 7.3% | 5,302 | 7.3% | +0 |
| `health_condition` | 6,284 | 8.7% | 6,284 | 8.7% | +0 |
| `multiple_birth` | 4,792 | 6.6% | 4,792 | 6.6% | +0 |
| `sibling_in_study` | 3,272 | 4.5% | 3,272 | 4.5% | +0 |
| `geo_subregion` | 26,468 | 36.6% | 26,468 | 36.6% | +0 |
| `sex` | 32,296 | 44.7% | 32,296 | 44.7% | +0 |
| `timepoint_label` | 27,035 | 37.4% | 27,035 | 37.4% | +0 |
| `subject_id` | 42,930 | 59.4% | 42,930 | 59.4% | +0 |

## Triage verdict flips (`universe_studies_all.triage_verdict`)

Universe 9,581 → 9,581 studies; verdict distribution 1.18.0: exclude 9,140, include 389, uncertain 52. **0 flips** among studies present in both packages; 0 studies new to the universe, 0 removed.

## Findings applied in this release (`value_history` rows new since the previous package)

value_history 46,587 → 46,587 rows; **0 new rows**.

`APPLY_FINDINGS_DIFF.md` is shipped in the package.

## Sandpiper snapshot

|  | 1.17.1 | 1.18.0 |
|---|---|---|
| sandpiper_version | 2.0.0 | 2.0.0 |
| zenodo_record | 20419175 | 20419175 |
| profiled samples | 79,473 | 79,473 |

## Gold metrics (`extraction_gold_eval_hires.csv`, curatedMetagenomicData hi-res set)

| field | gold n | cov 1.17.1 | prec 1.17.1 | rec 1.17.1 | cov 1.18.0 | prec 1.18.0 | rec 1.18.0 |
|---|---|---|---|---|---|---|---|
| `age_days` | 3,346 | 0.959 | 0.991 | 0.951 | 0.959 | 0.991 | 0.951 |
| `born_method` | 2,546 | 0.937 | 0.995 | 0.932 | 0.937 | 0.995 | 0.932 |
| `feeding_practice` | 693 | 0.648 | 0.891 | 0.577 | 0.648 | 0.891 | 0.577 |
| `premature` | 1,998 | 0.961 | 1.000 | 0.961 | 0.961 | 1.000 | 0.961 |
| `antibiotics_current_use` | 2,534 | 0.946 | 0.867 | 0.820 | 0.946 | 0.867 | 0.820 |
| `gestational_age` | 1,998 | 0.264 | 1.000 | 0.264 | 0.264 | 1.000 | 0.264 |

## Schema changes

New files: `gut_sandpiper_study_panels.parquet`
Removed files: none

No column changes in tables present in both packages.

VERSION.json: `package_version`=1.18.0, `previous_release_id`=R2026.19, `release_id`=R2026.20, `release_tag`=data-v1.18.0

## Bitemporal columns (`release_added` / `release_retired` / `package_added`)

`sample_determinations_all.parquet`: 619,647 current + 1,316 retired rows (0 retired in R2026.20). Rule for retired rows: value_history.status in ['superseded', 'moved_to_parent_biosamples', 'recommitted_out_of_scope_host', 'recommitted_out_of_scope_isolate'].

| release_added (current determinations) | rows |
|---|---|
| 1.0.0 | 605,707 |
| 1.1.0 | 3,632 |
| 1.2.0 | 9,559 |
| R2026.3 | 749 |

| release_retired (retired determinations) | rows |
|---|---|
| 1.1.0 | 75 |
| 1.2.0 | 245 |
| 1.2.1 | 295 |
| 1.2.2 | 701 |

Pre-1.3.0 values of `release_added` are reconstructed from `value_history.change_stage` / `src_track` — see `docs/RELEASES.md` §3 for exactness per row class.

## Token cost

LLM tokens this cycle: not recorded
