Blame Changes

Packit 985e12
2.03   2017-11-18
Packit 985e12
Packit 985e12
- If all frames in the trace were skipped (via skip_frames, frame_filter,
Packit 985e12
  ignore_*, etc.), then the stringified stack trace would be an empty
Packit 985e12
  string. Now this has been changed to always return the message given to the
Packit 985e12
  constructor or the string "Trace begun". Fixes GH #15, reported by Karen
Packit 985e12
  Etheridge.
Packit 985e12
Packit 985e12
Packit 985e12
2.02   2016-12-07
Packit 985e12
Packit 985e12
- Switch to GitHub Issues.
Packit 985e12
Packit 985e12
- Some small pod fixes.
Packit 985e12
Packit 985e12
Packit 985e12
2.01   2016-03-02
Packit 985e12
Packit 985e12
- Fixed the frames method when it is called with arguments. Previously this
Packit 985e12
  did not work if it was called before the method was called as a
Packit 985e12
  reader. Fixed by Mark Fowler. PR #8.
Packit 985e12
Packit 985e12
Packit 985e12
2.00   2014-11-01
Packit 985e12
Packit 985e12
[BACKWARDS INCOMPATIBILITIES]
Packit 985e12
Packit 985e12
- The no_refs constructor parameter is now deprecated, and has been replace by
Packit 985e12
  a new unsafe_ref_capture parameter that defaults to false, meaning no
Packit 985e12
  references are captured by default. Capturing references by default caused
Packit 985e12
  too many issues that couldn't be worked around, including running DESTROY
Packit 985e12
  blocks multiple times on captured objects in the worst case.
Packit 985e12
Packit 985e12
- Removed support for the long-deprecated no_object_refs constructor parameter
Packit 985e12
  (deprecated in 2002!).
Packit 985e12
Packit 985e12
Packit 985e12
1.34   2014-06-26
Packit 985e12
Packit 985e12
- Fixed use of // operator (my use, not Graham's) in previous release.
Packit 985e12
Packit 985e12
Packit 985e12
1.33   2014-06-26
Packit 985e12
Packit 985e12
- Added a skip_frames option. This causes the stack trace to skip an arbitrary
Packit 985e12
  number of frames. Patch by Graham Knopp. PR #5.
Packit 985e12
Packit 985e12
Packit 985e12
1.32   2014-05-05
Packit 985e12
Packit 985e12
- Added a filter_frames_early option to filter frames before arguments are
Packit 985e12
  stringified. Added by Dagfinn Ilmari Mannsåker. PR #4.
Packit 985e12
Packit 985e12
Packit 985e12
1.31   2014-01-16
Packit 985e12
Packit 985e12
- No code changes, just doc updates, including documenting the as_string()
Packit 985e12
  method in Devel::StackTrace::Frame. Requested by Skef. RT #91575.
Packit 985e12
Packit 985e12
Packit 985e12
1.30   2012-11-19
Packit 985e12
Packit 985e12
- There was an eval which did not first localize $@ and $SIG{__DIE__}. This
Packit 985e12
  broke Plack::Middleware::StackTrace (and possibly other tihngs).
Packit 985e12
Packit 985e12
Packit 985e12
1.29   2012-11-16
Packit 985e12
Packit 985e12
- The Devel::StackTrace->frames() method is now read-write. This allows you to
Packit 985e12
  do more complex filtering of frames than is easily possible with the
Packit 985e12
  frame_filter argument to the constructor. Patch by David Cantrell.
Packit 985e12
Packit 985e12
Packit 985e12
1.28   2012-11-16
Packit 985e12
Packit 985e12
- Allow arguments to a trace's as_string method, specifically max_arg_length
Packit 985e12
  Patch by Ricardo Signes.
Packit 985e12
Packit 985e12
- Added a no_args option to the constructor in 1.26 but forgot to mention it
Packit 985e12
  in Changes. Requested by Scott J. Miller. RT #71482.
Packit 985e12
Packit 985e12
Packit 985e12
1.27  2011-01-16
Packit 985e12
Packit 985e12
- Skip some tests on 5.13.8+ that are no longer relevant because of a change
Packit 985e12
  in the Perl core. Reported by Andreas Koenig. RT #64828.
Packit 985e12
Packit 985e12
Packit 985e12
1.26  2010-10-15
Packit 985e12
Packit 985e12
- The as_string method did not localize $@ and $SIG{__DIE__} before doing an
Packit 985e12
  eval. Reported and tested by Marc Mims. RT #61072.
Packit 985e12
Packit 985e12
Packit 985e12
1.25  2010-09-06
Packit 985e12
Packit 985e12
- Devel::StackTraceFrame was not actually subclassing
Packit 985e12
  Devel::StackTrace::Frame. Patch by Tatsuhiko Miyagawa.
Packit 985e12
Packit 985e12
Packit 985e12
1.24  2010-09-03
Packit 985e12
Packit 985e12
- Version 1.23 was missing a $VERSION assignment. Reported by Sergei
Packit 985e12
  Vyshenski.
Packit 985e12
Packit 985e12
- Moved the frame object to its own file, and renamed it
Packit 985e12
  Devel::StackTrace::Frame. The old package name, Devel::StackTraceFrame, is
Packit 985e12
  now a subclass of the new package, to provide a backwards compatibility
Packit 985e12
  shim.
Packit 985e12
Packit 985e12
Packit 985e12
1.23  2010-08-27
Packit 985e12
Packit 985e12
- Added message and indent constructor parameters. Based on a patch by James
Packit 985e12
  Laver. RT #59830.
Packit 985e12
Packit 985e12
Packit 985e12
1.22  2009-07-15
Packit 985e12
Packit 985e12
- Apparently, overload::StrVal on older Perls (5.8.5, but not 5.8.8)
Packit 985e12
  tried to call a stringification method if it existed. So now,
Packit 985e12
  Devel::StackTrace just uses overload::AddrRef instead, which should
Packit 985e12
  always be safe. Reported by Michael Stevens. Fixes RT #47900.
Packit 985e12
Packit 985e12
Packit 985e12
1.21  2009-07-01
Packit 985e12
Packit 985e12
- Overloaded objects which didn't provide a stringification method
Packit 985e12
  cause Devel::StackTrace to die when respect_overload was
Packit 985e12
  true. Reported by Laurent Dami. RT #39533.
Packit 985e12
Packit 985e12
- Added a frame_filter option which allows for fine-grained control
Packit 985e12
  over what frames are included in a trace. Based on (but expanded)
Packit 985e12
  from a patch proposed by Florian Ragwitz. RT #47415.
Packit 985e12
Packit 985e12
Packit 985e12
1.20  2008-10-25
Packit 985e12
Packit 985e12
- The change in 1.15 to object creation broke the no_refs feature,
Packit 985e12
  causing references to be stored until the trace's frame objects were
Packit 985e12
  created.
Packit 985e12
Packit 985e12
* Exception::Class objects are always stringified by calling
Packit 985e12
  overload::StrVal().
Packit 985e12
Packit 985e12
Packit 985e12
1.1902  2008-07-16
Packit 985e12
Packit 985e12
- This release just contains another test fix.
Packit 985e12
Packit 985e12
- The new tests for bad utf-8 apparently fail with any Perl before
Packit 985e12
  5.8.8. Reported by Lee Heagney. RT #37702.
Packit 985e12
Packit 985e12
Packit 985e12
1.1901  2008-06-13
Packit 985e12
Packit 985e12
- This release just contains a test fix.
Packit 985e12
Packit 985e12
- The new tests for bad utf-8 fail with Perl 5.8.x where x <=
Packit 985e12
  6. Apparently, utf-8 was just more broken back then. Reported by
Packit 985e12
  Andreas Koenig's smokebots.
Packit 985e12
Packit 985e12
Packit 985e12
1.19  2008-06-13
Packit 985e12
Packit 985e12
- Dropped support for Perl 5.005.
Packit 985e12
Packit 985e12
- If a function was in stack trace had been called with invalid utf-8
Packit 985e12
  bytes, this could cause stringifying a stack trace to blow up when
Packit 985e12
  it tried to stringify that argument. We now catch those (and other)
Packit 985e12
  errors and simply put "(bad utf-8)" or "?" in the stringified
Packit 985e12
  argument list. Reported by Alex Vandiver.
Packit 985e12
Packit 985e12
Packit 985e12
1.18  2008-03-31
Packit 985e12
Packit 985e12
- Fix a test failure on Win32. No changes to the non-test code.
Packit 985e12
Packit 985e12
Packit 985e12
1.17  2008-03-30
Packit 985e12
Packit 985e12
- Added a max_arg_length parameter, which if set causes
Packit 985e12
  Devel::StackTrace to truncate long strings when printing out a
Packit 985e12
  frame. RT #33519. Patch by Ian Burrell. 
Packit 985e12
Packit 985e12
Packit 985e12
1.16  2008-02-02
Packit 985e12
Packit 985e12
- A test fix for bleadperl. The value of wantarray from caller() needs
Packit 985e12
  to be treated as a boolean, as opposed to expecting 0 (vs
Packit 985e12
  undef). RT #32583. Patch by Jerry Hedden.
Packit 985e12
Packit 985e12
Packit 985e12
1.15  2007-04-28
Packit 985e12
Packit 985e12
- Changed how objects are created in order to greatly speed up the
Packit 985e12
  constructor. Instead of processing all the stack trace data when the
Packit 985e12
  object is first created, this is delayed until it is needed. This
Packit 985e12
  was done in order to help speed up Exception::Class. There are cases
Packit 985e12
  where code may be throwing many exceptions but never examining the
Packit 985e12
  stack traces.
Packit 985e12
Packit 985e12
  Here is a representative benchmark of object construction for the
Packit 985e12
  old code versus the new code:
Packit 985e12
Packit 985e12
          Rate  old  new
Packit 985e12
    old 1764/s   -- -76%
Packit 985e12
    new 7353/s 317%   --
Packit 985e12
Packit 985e12
Packit 985e12
1.14  2007-03-16
Packit 985e12
Packit 985e12
- Added a few micro-optimizations from Ruslan Zakirov, who is hoping
Packit 985e12
  this will ultimately help speed up RT.
Packit 985e12
Packit 985e12
Packit 985e12
1.13  2006-04-01
Packit 985e12
Packit 985e12
- Add another fix for filename handling in the tests. Tests were
Packit 985e12
  giving false failures on Win32 because the tests needed to use
Packit 985e12
  File::Spec->canonpath(), just like Devel::StackTrace does
Packit 985e12
  internally.
Packit 985e12
Packit 985e12
Packit 985e12
1.12  2005-09-30
Packit 985e12
Packit 985e12
- Newer versions of Perl use Unix-style filenames when reporting the
Packit 985e12
  filename in caller(), which breaks Exception::Class tests on other
Packit 985e12
  platforms, and is just kind of funky.  This module now calls
Packit 985e12
  File::Spec->canonpath() to clean up the filename in each frame.
Packit 985e12
  Reported by Garret Goebel.
Packit 985e12
Packit 985e12
Packit 985e12
1.11  2004-04-12
Packit 985e12
Packit 985e12
- No code changes, just switching to including a Makefile.PL that uses
Packit 985e12
  ExtUtils::MakeMaker instead of one that sneakily uses Module::Build.
Packit 985e12
  Requested by Perrin Harkins.
Packit 985e12
Packit 985e12
Packit 985e12
1.10  2004-03-10
Packit 985e12
Packit 985e12
- Silence a warning from the test code if Exception::Class isn't
Packit 985e12
  installed.  Reported by Stefano Ruberti.
Packit 985e12
Packit 985e12
- Localize $@ to avoid overwriting a previously set $@ while creating
Packit 985e12
  a Devel::StackTrace object.  This caused a test failure in the
Packit 985e12
  Exception::Class tests when run with Perl 5.6.1, but not with 5.8.3.
Packit 985e12
  I don't really know how to test for it outside of Exception::Class.
Packit 985e12
  Reported by Jesse Erlbaum.
Packit 985e12
Packit 985e12
Packit 985e12
1.09  2004-02-26
Packit 985e12
Packit 985e12
- The overload workaround blows up if a DBI handle is anywhere in the
Packit 985e12
  stack, because of a bad interaction between overload::Overloaded and
Packit 985e12
  DBI's custom dispatching.  This release works around that.
Packit 985e12
Packit 985e12
Packit 985e12
1.08  2004-02-23
Packit 985e12
Packit 985e12
- Some tests failed on Win32 because they were hardcoded to expect a
Packit 985e12
  file name with forward slashes.  Reported by Steve Hay.
Packit 985e12
Packit 985e12
Packit 985e12
1.07  2004-02-21
Packit 985e12
Packit 985e12
- This release includes a change to the overload handling that is
Packit 985e12
  necessary for cooperation with Exception::Class.
Packit 985e12
Packit 985e12
Packit 985e12
1.06  2004-02-21
Packit 985e12
Packit 985e12
- Devel::StackTrace now uses overload::StrVal() to get the underlying
Packit 985e12
  string value of an overloaded object when creating a stack frame for
Packit 985e12
  display.  This can be turned off by setting respect_overload to a
Packit 985e12
  true value.  Suggested by Matt Sisk.
Packit 985e12
Packit 985e12
Packit 985e12
1.05  2004-02-17
Packit 985e12
Packit 985e12
- Devel::StackTrace incorrectly reported that arguments were being
Packit 985e12
  passed to eval blocks (which isn't possible).  Reported by Mark
Packit 985e12
  Dedlow.
Packit 985e12
Packit 985e12
Packit 985e12
1.04  2003-09-25
Packit 985e12
Packit 985e12
- The special handling of Exception::Class::Base objects was broken.
Packit 985e12
  This was exposed by the fact that Exception::Class 1.15 now uses
Packit 985e12
  Devel::StackTrace in a slightly different way than it did
Packit 985e12
  previously.
Packit 985e12
Packit 985e12
Packit 985e12
1.03  2003-01-22
Packit 985e12
Packit 985e12
- Special handling of Exception::Class::Base objects when stringifying
Packit 985e12
  references.  This avoids infinite recursion between the two classes.
Packit 985e12
Packit 985e12
Packit 985e12
1.02  2002-09-19
Packit 985e12
Packit 985e12
- Forgot to add Test::More to PREREQ_PM for previous releases.
Packit 985e12
Packit 985e12
Packit 985e12
1.01  2002-09-18
Packit 985e12
Packit 985e12
- Change the "no object refs" feature to be a plain old "no refs"
Packit 985e12
  feature.  As was pointed out to me by Jean-Phillippe Bouchard, a
Packit 985e12
  plain reference (to an array, for example), can easily hold
Packit 985e12
  references to objects internally.  And since I'm not going to bother
Packit 985e12
  descending through nested data structures weeding out objects, this
Packit 985e12
  is an easier way to handle the problem.  Thanks to Jean-Phillippe
Packit 985e12
  Bouchard for a patch for this as well.
Packit 985e12
Packit 985e12
  The "no_object_refs" parameter is deprecated, and now does the same
Packit 985e12
  thing as the "no_refs" parameter.
Packit 985e12
Packit 985e12
Packit 985e12
1.00  2010-10-15
Packit 985e12
Packit 985e12
- Add an option to not store references to objects in stack frames.
Packit 985e12
  This can be important if you're expecting DESTROY to be called but a
Packit 985e12
  Devel::StackTraceFrame object is still holding a reference to your
Packit 985e12
  object(s).  Based on discussion with Tatsuhiko Miyagawa.
Packit 985e12
Packit 985e12
Packit 985e12
0.9   2001-11-24
Packit 985e12
Packit 985e12
- Doc tweaks.
Packit 985e12
Packit 985e12
Packit 985e12
0.85  2000-09-02
Packit 985e12
Packit 985e12
- doc bug fix that made it seem like args method was only available
Packit 985e12
  under Perl 5.6.0
Packit 985e12
Packit 985e12
- converted objects from pseudo-hashes to regular hashes.
Packit 985e12
Packit 985e12
Packit 985e12
0.8   2000-09-02
Packit 985e12
Packit 985e12
- Should work under Perl 5.6.0+.
Packit 985e12
Packit 985e12
- Added hints & bitmask methods for use under Perl 5.6.0.
Packit 985e12
Packit 985e12
Packit 985e12
0.75  2000-06-29
Packit 985e12
Packit 985e12
- Added frames method (and docs for it).
Packit 985e12
Packit 985e12
- Added 'use 5.005' which I should have put in there earlier.
Packit 985e12
Packit 985e12
- DOCS: explanation of 'top' and 'bottom' as they refer to the stack.
Packit 985e12
Packit 985e12
Packit 985e12
0.7   2000-06-27
Packit 985e12
Packit 985e12
- First release (I think)