## genomoncology/biomcp — v0.8.25…v0.9.0

_2038+ commits._

### Features
- **Apply dataset ticket review: split series reader, rename download, reuse Mann-Whitney, add study score** (8887806)
- **Align dataset tickets to the research-data brief and add fetch, import, and grouped compare** (196b7e2)
- **Add tickets for cell-line, GEO dataset, PharmacoDB, and DepMap sources** (e5e0535)
- **Add ORCID to the expected health inventory** (e68ddb6)
- **Add ORCID author rows to the data-source matrix** (fa37184)
- **Add the authenticated ORCID health row with token-state gating** (4ab5390)
- **Add the bounded ORCID source client with its wire contract** (fb66f74)
- **Add the ORCID provider and invalid-credential error projections** (eb1c678)
- **Add sanitizer boundary negatives and freeze the replacement-base rule** (a186340)
- **Add the rich author papers projection, renderer, and CLI mode for ticket 1143** (539ba7c)
- **Add the executable citation-evidence spec for ticket 1145** (f01c7b9)
- **Add the pure JATS citation reference and marker extractor for ticket 1145** (31908b4)

### Fixes
- **Fix release checksums and remove the duplicate aarch64 wheel build** (23211e4)
- **Fix macOS type mismatches and Linux ARM64 cross-compilation for the release** (a491dba)
- **Fix the duplicate with blocks in the release workflow** (e4533ef)
- **Release 0.9.0: fix version contract tests for the released state** (e495788)
- **Release 0.9.0: fix the changelog markers for the stable release** (8913c0a)
- **Record the full-lane regression sweep for ticket 1195** (e31d4b1)
- **Record the gene-page regression found by the saturated battery** (13ea0f5)
- **Fix the ORCID spec expectation blocks** (8728f59)
- **Fix the three citation-evidence P1 findings: boxed-text scope, marker-anchored truncation, seed deadline** (c0b9c9d)
- **Fix the citation-evidence spec literals and exit assertions** (eafaaec)
- **Fix forced-fulltext fallback and add citation-evidence fixtures** (b53bc82)

### Backend
- **Download Homebrew checksums from the GitHub Release** (a450303)
- **Use maturin-action for properly tagged PyPI wheels** (6bfc754)
- **Fold GEO contract experiment into dataset tickets** (040038e)
- **Record the tokenizer blob and git pack size findings as issues** (91fdf58)
- **Use shasum for macOS checksum generation** (8eb4c45)
- **Use placeholder weights in the study score example** (c44e82e)
- **Cast the provider capture mode to c_uint for macOS** (7a0f970)
- **Slim the release workflow to build-and-publish only** (7f36519)
- **Report GEO value locations in dataset tickets** (b6fb834)
- **Pin the release workflow to the tested Rust toolchain** (fada621)
- **Restore the proven release workflow for 0.9.0 publication** (7a6b6cf)
- **Release 0.9.0: update the version sync spec pin** (eb65ed9)
- **Release 0.9.0: pin the lock files to the release version without regenerating** (e988fb2)
- **Release 0.9.0: align all version contracts for the stable release** (6b52016)
- **Release 0.9.0: bump all version fields to the public stable release** (ce4f6e0)
- **Refresh the Phase 0 runbook verification for the final gate pass** (65a7a35)
- **Record the 0.9 backlog outcome and changelog entries for tickets 1198-1201** (c716dc8)
- **Drop the unpaced origin export from the disease-survival fixture** (b942770)
- **Prefer the selected loopback origin over the unpaced env signal** (4fe44f3)
- **Align serial-test keys for provider and cache env mutation** (f97719e)
- **Ticket 1201: point discover tests at a fixture-owned cache root** (c93d5d1)
- **Ticket 1201: document the discover article-search flag** (384334e)
- **Ticket 1201: run the suggested article search inline for discover** (af0340b)
- **Ticket 1200: address review findings** (e0213fa)
- **Ticket 1200: complete OpenCitations docs, fixtures, and inventory pins** (f0d2b06)
- **Ticket 1200: confirm directed edges through an open citation index** (27a15a0)
- **Ticket 1199: persist citation evidence in a sidecar cache** (e41611b)
- **Ticket 1198: address review findings on ratchet and CLI cap** (1de35fb)
- **Ticket 1198: stop escaping hyphens and report verification-emptied zeros** (0775189)
- **Draft tickets 1198-1201 from the approved backlog** (583d8f8)
- **Refine the backlog: defer E-H, redesign B as edge confirmation** (c1bbd8e)
- **Propose the post-0.9 backlog from the gate and smoke evidence** (26c8602)
- **Merge pull request #280 from genomoncology/ticket/docs-verifier-window** (c2b6be1)
- **Record the ticket 1197 review verdicts** (10eb9d1)
- **Record ticket 1197** (32d2f5e)
- **Freeze the clock in the docs-publication security probes** (5167958)
- **Merge pull request #279 from genomoncology/ticket/sync-honesty-and-docs** (b80c173)
- **Record the review notes and co-own the error baseline** (ebe7302)
- **Document the batch mode flag, the gencc sync command, and ticket 1196** (6cf545f)
- **Report the real change flag from every data sync command** (4e371a3)
- **Merge pull request #278 from genomoncology/ticket/final-load-tier2** (1f917bf)
- **Record the ticket 1195 review findings and remediation evidence** (e089005)
- **Make the provider page preparation tolerate an unconfigured fixture** (b0b102a)
- **Scope provider request logs without rewriting the fixture base** (35165bd)
- **Record ticket 1195 verification state and the gene-page decision** (2f91d56)
- **Widen the reaping runner observation budget to sixty seconds** (9c689fa)
- **Scope the provider-contract request log per consuming spec page** (a78584a)
- **Merge pull request #277 from genomoncology/ticket/final-load-tier** (6a4b1a1)
- **Correct the ticket 1194 complexity labels** (a00fc3c)
- **Harden the final saturated test and spec tier** (53e2d7d)
- **Merge pull request #276 from genomoncology/ticket/1193-lifecycle-teardown-determinism** (fc81e38)
- **Merge pull request #275 from genomoncology/ticket/1192-gencc-fixtures-stop-racing-the-clock** (a486804)
- **Merge pull request #274 from genomoncology/ticket/rustls-advisory-bump** (27f5013)
- **Bump rustls to 0.23.45 for the handshake advisory** (66d03ba)
- **Restore fatal signal dispositions when spawning lifecycle runners** (25079db)
- **Make the load-flaky GenCC fixtures assert deterministic outcomes** (c549e3c)
- **CLI execute thread stack overflow fix** — Fixed a stack overflow in the CLI execute thread by wrapping a dispatch future in Box::pin to move large async state machines off the stack, preventing crashes on systems with tight memory margins. This ensures the in-process CLI execute thread maintains adequate headroom during operation. (d72f503)
- **Document third GenCC flake variant** — Added documentation of a third timing-sensitive test failure in the GenCC test suite, where a test involving request cancellation and streaming body handling fails sporadically under load (8.4s) but passes consistently in isolation (0.03s), attributed to load-dependent barrier windows in the GenCC fixture. (a585dd4)
- **Record ticket 1191 code review and gate evidence** (3f06ce2)
- **Describe the downstream 1.0 branch generically** (42c5a99)
- **Record ticket 1191 design review** (ca6192b)
- **Heap-pin the MCP dispatch boundary** (012dbcb)
- **Documented execute-thread stack overflow** — Added detailed debugging notes from a stack overflow incident on the gate host, including a gdb frame table showing 124 frames consuming 8,186 KB of the 8,192 KB stack budget, with the largest frame being run_outcome_inner at 3,151 KB. (3a9164f)
- **Identified stack overflow gate-host crash** — Documented the root cause of SIGABRT failures on the gate host as a stack overflow in the biomcp-cli-execute thread, triggered only in the gate environment despite identical code passing on the dev host. The investigation suggests deep recursion on a host-specific code path, likely environment-triggered by Ubuntu 25.10 runtime or PATH resolution differences. (1746c91)
- **Record the final-system verification in the release runbook** (0a3a403)
- **Record ticket 1164 final gate evidence** (a1326e2)
- **Merge pull request #272 from genomoncology/ticket/1164-anchor-hits-reuse** (65fca96)
- **Drop a redundant import and align the ticket package count** (eb3b526)
- **Compute anchor hits once per candidate in hybrid ranking** (f445039)
- **Record ticket 1142 final gate evidence** (a637e35)
- **Merge pull request #271 from genomoncology/ticket/1142-orcid-exact-author** (253215e)
- **Track the papers module at its measured line count** (e530473)
- **Make the DOI prefix strip case-insensitive and document the ORCID token** (ba4c385)
- **Record the measured growth and error baseline amendments** (74d3db1)
- **Offset ORCID error growth locally and pin measured inventories** (2a3cb73)
- **Record the 1142 remediation and close record** (d665697)
- **Pin the ORCID works continuation contract and credential-state surfaces** (f7d7970)
- **Classify the ORCID base seam and source-versioning row** (1897f42)
- **Prove the ORCID body limits, dedupe, pagination, and contract bounds** (3101368)
- **Harden the ORCID wire, dedupe, and offset contracts** (6717203)
- **Execute the ORCID author surfaces in the spec with fixture routes** (f4f5018)
- **Prove ORCID health rows and CLI-to-MCP parity with fixture servers** (63676c3)
- **Drive the ORCID transport, works bounds, and excluded identifiers with tests** (aa4e6bd)
- **Track the works-mapping line count in the size inventory** (6c27739)
- **Document the ORCID exact-record surfaces across guides and inventory** (7bc8fc0)
- **Freeze the ORCID markdown templates with provider-sanitized goldens** (cc55d0a)
- **Render ORCID author detail and claimed works through the provider sanitizer** (d802ba2)
- **Map claimed works to the author-owned page with stable deduplication** (2a591f1)
- **Route ORCID author detail through the merged author module** (fcd713c)
- **Accept exact ORCID author IDs with the MOD 11-2 checksum** (5ee98a9)
- **Record ticket 1186 final gate evidence** (b37c049)
- **Merge pull request #270 from genomoncology/ticket/1186-unicode16-provider-sanitizer** (da6e399)
- **Freeze the Unicode 16 provider-name sanitizer in the human renderer** (119fdd0)
- **Record ticket 1143 final gate evidence** (181bc52)
- **Merge pull request #269 from genomoncology/ticket/1143-rich-author-papers** (b26b4ff)
- **Classify the author papers deadline seam** (c8d1d39)
- **Record the second GenCC load-flake instance** (cbade71)
- **Align the ticket package count with the enforced ratchet** (bd21683)
- **Prove hostile ID containment, parser round-trips, and base error sanitization** (834fe29)
- **Restore the author spec fence structure and document the rich mode surfaces** (2f3d393)
- **Record the semantic scholar baseline amendment for ticket 1143** (61a0794)
- **Finish the semantic scholar compression and prune the dead-code inventory** (157a0a2)
- **Compress the source below the cap and prune stale dead-code exceptions** (aec0c08)
- **Fold the author papers parity tests into the surface docs module** (33b8b68)
- **Execute the rich author papers mode in the article spec** (067dd8d)
- **Document the rich author papers mode and pin typed-MCP non-expansion** (04e2d07)
- **Prove raw MCP parity and request isolation for rich author papers** (8984509)
- **Prove the rich author papers CLI grammar** (ceca90b)
- **Record ticket 1145 final gate evidence** (0988693)
- **Merge pull request #268 from genomoncology/ticket/1145-citation-evidence** (f40ea82)
- **Classify the citation deadline seams and authorize the 1305-path package** (023ac51)
- **Split the citation-evidence markdown test into its own article CLI sidecar** (2881477)
- **Allowlist the citation JSON test module over the CLI cap** (489d8ba)
- **Prove permit release when the JATS parse worker panics** (706e076)
- **Bound the citation bridge under the command deadline** (40a51e0)
- **Document citation-evidence in the quick reference and changelog, drop the duplicated ticket marker** (c6fb4c2)
- **Record the admission-proof deviation for re-review** (206d7e6)
- **Pin the unresolved and unlinked citation-evidence markdown** (99250ad)
- **Pin the passage scalar boundaries and empty-marker clamp sides** (05e8593)
- **Cover the edge command directions, malformed pages, and graph deadline for citation evidence** (9418ac4)
- **Prove the JATS admission deadline deterministically for ticket 1145** (94171a3)
- **Document citation-evidence in the list page, catalog pins, and user guide for ticket 1145** (e82211d)
- **Return the article facade to its exact 1385-line baseline** (3127f80)
- **Split citation-evidence traversal under the graph structure caps for ticket 1145** (4a66448)
- **Prove the directed citation-evidence traversal with fixture tests for ticket 1145** (ac342d4)
- **Wire citation-evidence traversal, CLI, and markdown for ticket 1145** (fe832e7)
- **Split the citation extractor and its tests under the transform structure caps** (7c8f1ad)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/genomoncology/biomcp?utm_source=github-action)._