|
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)
|