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
