Revision history for Data-Histogram-Shared 0.07 2026-10-16 - Keep exact percentile ranks in the correct bucket. - Publish frozen data safely to read-only attachments. - Clarify precision and interrupted-write guarantees. 0.06 2026-09-26 - A writer killed mid record, merge or reset no longer leaves a total the buckets cannot reach. - DATA_HISTOGRAM_SHARED_SPARSE=0 reserves segments up front, so a full filesystem fails the constructor, not a later write. - A failed create no longer leaves a full-size file behind. 0.05 2026-09-15 - Recover a lock left ownerless by a corrupt file instead of hanging. - Fix a writer stall on ARM64 after readers release. 0.04 2026-08-12 - A file left by an interrupted create is recovered, not refused. - freeze()/new_readonly(): sealed read-only mode, lock-free. - unlink() reports a failed removal; a missing file is no error. 0.03 2026-07-22 - Fix a use-after-free in merge() and record_many() when tied or overloaded arguments destroy the histogram; it now croaks. - On-disk format change (v1 -> v2): recreate 0.02 files. - Fetch get-magic on optional arguments before testing them. 0.02 2026-07-03 - Security and robustness hardening; backing files now created mode 0600 (pass a file-mode argument to new() for cross-user sharing). - record() now croaks on a value above highest_trackable_value (previously such a value was silently bucketed to the top). 0.01 2026-06-25 - Initial release.