Revision history for Data::Graph::Shared
0.08 2026-09-26
- A writer killed mid add_node, add_edge or remove_node no longer
leaves a half-published node or freed edges linked.
- Segments are reserved, so a full filesystem fails the constructor;
DATA_GRAPH_SHARED_SPARSE=1 skips the reservation.
- A failed create no longer leaves a full-size file behind.
0.07 2026-09-15
- Recover a lock left ownerless by a corrupt file instead of hanging.
0.06 2026-08-12
- A file left by an interrupted create is recovered, not refused.
- freeze()/new_readonly(): sealed read-only mode, lock-free.
- Hardening against tied and overloaded arguments.
- unlink() reports a failed removal; a missing file is no error.
- Document which methods croak or return false for a removed node.
0.05 2026-07-22
- Fix a use-after-free in add_edge(): an overloaded or tied weight
argument runs Perl that can destroy the graph, after which the
already-captured handle was still used. Such a call now croaks.
- Cache mapping geometry from one validated snapshot at attach.
- Reject node indexes >= 2^32 instead of truncating them.
0.04 2026-07-03
- Security and robustness hardening; backing files now created mode
0600 (pass a file-mode argument to new() for cross-user sharing).
0.03 2026-06-01
- new/new_memfd: reject max_nodes/max_edges > 2^32 instead of silently
truncating the uint32 cast to a tiny graph
0.02 2026-04-26
- atomic RMW + lifecycle parity
- REQUIRE NODE macro; notify() returns bool
- eventfd consume returns SV*
- hoist Perl alloc out of neighbors mutex
- idempotent eventfd; aarch64 CI matrix
0.01 2026-04-12
- Initial release
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)