v2.3.0
New tools: - pubmed_lookup_citation: resolve partial citations to PMIDs via ECitMatch - pubmed_convert_ids: convert between DOI, PMID, PMCID via PMC ID Converter Service changes: - Reusable withRetry() method, makeExternalRequest() for non-eutils APIs - HTTP error classification: 4xx → InvalidRequest, 5xx → ServiceUnavailable