The package now supports 20 identifier types (up from 7 in 0.1.1).
Each type provides structural validation, normalization from URLs and
labels, and extraction from free text via the existing
is_scholid(), normalize_scholid(),
extract_scholid(), classify_scholid(), and
detect_scholid_type() APIs.
New types in this release:
ROR — Research Organization Registry iDs
(checksum-validated)
RRID — Research Resource Identifiers
SWHID — Software Heritage persistent
identifiers
OpenAlex — OpenAlex entity keys (W,
A, S, …)
bibcode — SAO/NASA ADS bibliographic codes
ISNI — International Standard Name Identifier
(compact form; hyphenated ORCID-shaped strings remain
orcid)
Identifier definitions and validation rules are documented in the
scholid_definitions vignette.
Internal improvements
Introduced a central identifier registry as the single source of
truth for type names, classification order, extraction patterns, and
per-type metadata.
Refactored per-type implementations to reduce duplication; exported
APIs dispatch by naming convention (is_<type>,
normalize_<type>,
extract_<type>).
Optimized classify_scholid() and
detect_scholid_type() to avoid redundant work when
resolving types.
scholid 0.1.1
Bug fixes
Tightened normalization and validation behavior for checksum-based
identifiers.
Improved consistency between detection, normalization, and
validation for ISBN, ORCID, DOI, PMCID, and arXiv identifiers.
Fixed several edge cases in identifier parsing and
canonicalization.