pslr 1.0.1
Maintenance release — launch-readiness audit follow-ups, no API changes. Now available on CRAN: install.packages("pslr").
Fixes
suffix_extract(output = "unicode")no longer turns an empty subdomain intoNA. An absent subdomain is reported as""for both"ascii"and"unicode"output, matching the documented schema.- Choice-style option arguments (
section,output,unknown,invalid, andpsl_use()'ssource) now abort when a caller supplies a non-scalar value — even one that happens to equal the formal's default vector (e.g.invalid = c("na", "error")). Previously such a call was mistaken for the untouched default and silently used the first choice. Omitted options still default to their first choice. - A corrupt cache marker (
current.rds) is now handled gracefully instead of leaking a rawreadRDS()error.psl_refresh(force = TRUE)ignores an unreadable marker and republishes a valid cache, andpsl_use("cache")reports a pslr cache-corruption error with remediation. - PSL sources with a repeated ICANN or PRIVATE section are now rejected. The official format carries exactly one complete section of each; a second
BEGINfor either aborts the parse instead of loading both copies. - A zero-length non-character
domain(e.g.numeric(0),NULL) now aborts with the documented type error instead of being silently coerced to an empty result. The valid empty character vectorcharacter(0)still returns a zero-length result.