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