0.000028 2026-07-15 09:41:25-07:00 America/Los_Angeles
- touch_source_file() and touch_data_file() now respect disable(),
matching the documented "when disabled no coverage is recorded"
behavior.
- Internal failures now warn instead of dying, coverage collection
should never introduce new exceptions into the code it observes:
a dying custom extract()/filter() (or a file racing deletion)
only skips that one entry, a failing report() at test exit warns
instead of breaking teardown, a failed END-fallback install
warns, and a failing realpath at load time falls back instead of
aborting the compile. Interface misuse (bad touch_* arguments,
importing twice with params) still dies.
- set_from() now warns on and ignores values that are (or contain)
CODE or GLOB references instead of dying later inside the exit
callback that sends the report. Enabling coverage should never
introduce new exceptions into the code being observed.
- Replace Storable::dclone in report processing with a purpose
built copy of the report structure. Unserializable 'from' values
can no longer kill report generation, and Storable is no longer
a dependency.
- data() now deduplicates 'from' values by content instead of by
reference, and sorts them deterministically (references are
keyed by their serialized form).
- filter() now resolves the file path before comparing it to the
root, so symlinked roots/files filter and relativize
consistently. It also documents (and always supported) plain
string roots.
- Cache the ENABLED/FROM/ROOT/TRACE_OPENS globs in XS on
non-threaded perls instead of doing symbol table lookups on
every single sub call. Greatly reduces hook overhead, especially
when coverage is disabled.
- Document data(), $TRACE_OPENS/@OPENS, the implicit exclusion of
$0 and the plugin's own file, and add a LIMITATIONS list for
goto, inlined constants, XS subs, threads, and exotic open()
forms.
- Fix many POD typos.
- Declare Scalar::Util, Data::Dumper, and XSLoader prereqs.
- New tests: disable semantics, from-value handling, report event
structure, module reload regression, memory leak regression,
and filter/root handling.
- Re-enable the sysopen hook. The old handler assumed pp_sysopen was
mark-based, but its pushmark is nulled at compile time; TOPMARK
pointed at an enclosing op's mark, so the handler read arbitrary
stack slots. That misattributed filenames and was the source of
the "unknown segv on some platforms" that got the hook disabled.
The filename is now located by fixed-arity offset from the stack
top using MAXARG.
- Fix memory leak in add_entry(): one SV was leaked on nearly every
sub call once a (file, sub, from) entry already existed. Sub-call
heavy tests could grow to multi-GB RSS and appear to hang the
harness.
- Guard BOOT against running twice. Reloading the module (%INC
cleared + re-required, e.g. preload reloading) made the hooks
capture themselves as the original handlers, causing infinite
recursion and a segfault on the next sub call.
- Use newRV_noinc() when storing newly created HVs/AVs, fixing
small refcount leaks (one per new file/sub entry, one per traced
open).
- Read the sub SV from the stack before calling the original
entersub handler; XS calls could overwrite that stack slot with a
return value, causing garbage to be inspected.
- Stop invoking get-magic and &{} overload from inside the entersub
hook; pp_entersub already ran them, and re-invoking arbitrary
perl code from the op hook risked recursion and stack corruption.
- Add [PruneCruft] to dist.ini so build artifacts (blib/,
pm_to_blib, MYMETA.*) no longer leak into release tarballs.
0.000027 2021-11-04 14:18:05-07:00 America/Los_Angeles
- Add ability to trace opens for debugging
0.000026 2021-11-03 14:22:24-07:00 America/Los_Angeles
- Add ability to manually touch coverage data
0.000025 2021-09-21 09:31:42-07:00 America/Los_Angeles
- Add ability to enable/disable and reload settings
0.000024 2021-07-27 13:09:10-07:00 America/Los_Angeles
- Fix uninitialized var and warnings in XS (#3)
0.000023 2021-07-02 11:06:26-07:00 America/Los_Angeles
- Remove job-field, it is not accurate with IPC
0.000022 2021-04-23 11:52:31-07:00 America/Los_Angeles
- Final memry improvement (for now)
0.000021 2021-04-21 15:30:06-07:00 America/Los_Angeles (TRIAL RELEASE)
- Alternate memory improvement attempt
0.000020 2021-04-21 13:53:01-07:00 America/Los_Angeles (TRIAL RELEASE)
- Attempt to improve memory usage
0.000019 2021-04-21 11:26:28-07:00 America/Los_Angeles
- Path optimizations due to memory usage concerns
0.000018 2021-04-16 13:54:00-07:00 America/Los_Angeles
- Make it possible to set root
0.000017 2021-04-16 12:53:22-07:00 America/Los_Angeles
- Correct some documentation issues
0.000016 2021-04-15 15:12:19-07:00 America/Los_Angeles
- Add 'from_manager' metadata
- Add 'test type' metadata
- General improvements to available data
0.000015 2021-04-14 10:46:14-07:00 America/Los_Angeles
- Fix weird warning from Encode.pm (Issue #2)
0.000014 2021-04-09 14:31:50-07:00 America/Los_Angeles
- Remove unnecessary (or event problematic) sub data
0.000013 2021-04-08 10:22:22-07:00 America/Los_Angeles
- No changes, fixing the tarball
0.000012 2021-04-08 09:28:18-07:00 America/Los_Angeles
- Slight speed improvement
- Fix a segv
0.000011 2021-04-08 08:21:18-07:00 America/Los_Angeles
- Remove garbage blib/ dir from dist
0.000010 2021-04-07 20:56:32-07:00 America/Los_Angeles
- Add submap collection data
- Add openmap collection data
- Add set_from, get_from, and clear_from methods
0.000009 2020-07-11 23:42:31-07:00 America/Los_Angeles
- Fix another extraction bug
0.000008 2020-07-11 23:24:23-07:00 America/Los_Angeles
- Disable sysopen
- Better filename extraction logic
- test for filename extraction
0.000007 2020-07-01 20:08:35-07:00 America/Los_Angeles
- Fix open.t on windows
- Add debugging to sysopen.t
- add sysopen clone without plugint o make sure plugin is the segv source
0.000006 2020-06-30 22:05:42-07:00 America/Los_Angeles
- More XS fixes to avoid segv's
0.000005 2020-06-29 21:18:02-07:00 America/Los_Angeles
- Some XS cleanup, remove dups
- Split unit tests into multiple to help narrow downa segv on testers
0.000004 2020-06-28 20:25:52-07:00 America/Los_Angeles
- Add XS to grab filenames from open/sysopen
- Better filename extraction, less missed files.
0.000003 2020-06-25 21:57:37-07:00 America/Los_Angeles
- Clean up and optimize XS
- Fix XS thread safety issues
- Update benchmarks
- Add no_event import option
- Make sure event is fired from both processes in event of a fork
0.000002 2020-06-24 22:52:36-07:00 America/Los_Angeles
- Fix typos
0.000001 2020-06-24 22:32:00-07:00 America/Los_Angeles
- Initial Release