I'm working my way through the backlog of RT tickets for version.pm in preparation to release 0.9913 with the Lyon Compromise. I've run into something I can't figure out: https://rt.cpan.org/Ticket/Display.html?id=107459 I cannot figure out how to create the version object in XS in such a way that it is an RV of an HV. The way I am currently doing it is to create an RV then upgrade that to an HV, hv = newSVrv(rv, "version"); /* create an SV and upgrade the RV */ (void)sv_upgrade(hv, SVt_PVHV); /* needs to be an HV type */ but this apparently doesn't DTRT for the object's stash. I tried to use newHV directly, then upgrade that to an RV, but that throws cores every time. If someone can suggest how I can do this properly, I'm all ears. JohnThread Next