v2.9.6: Output cleanups across convert_ids, europepmc_search, fetch_articles, lookup_mesh
Output cleanups across convert_ids, europepmc_search, fetch_articles, lookup_mesh
Five output-quality fixes: cleaner inputs accepted, leaked upstream markup stripped, error hints made actionable, and a non-navigable field value filtered.
Fixed:
pubmed_convert_ids: canonicalize bare-digit PMCIDs to PMC+digits so a batch mixing prefixed and bare forms resolves instead of 400-ing; format hint corrected (#73)pubmed_europepmc_search:abstractSnippetstripped of JATS/HTML, entity-decoded, and soft-hyphen-cleaned before truncation (#74)pubmed_fetch_articles:grantListfields decode NCBI's residual double-encoded&(CSR&D, not CSR&D) (#74)pubmed_europepmc_search: silent-rejection error now carries a distinct diagnosis vs. recovery hint instead of byte-identical Error:/Recovery: blocks (#75)pubmed_lookup_mesh:treeNumbersdrops@-prefixed SCR mapped-heading pointers, keeping only navigable tree numbers (#76)
Dependency bumps:
defuddle^0.18.1 → ^0.19.0fast-xml-parser^5.8.0 → ^5.9.2vitest^4.1.8 → ^4.1.9@vitest/coverage-istanbul^4.1.8 → ^4.1.9
864 tests pass; bun run devcheck clean.