Correctly handle SvOOK scalars. 5.12 and later don't use SvIVX().
[p5sagit/Devel-Size.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 8d45bd3..f221c7f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,63 @@
 Revision history for Perl extension Devel::Size.
 
+0.72_52 2011-05-09 nicholas
+ * Use a table for SV body sizes. These incorporate the space saving post 5.8.x
+ * Correctly handle SvOOK scalars. 5.12 and later don't use SvIVX().
+
+0.75_51 2011-05-05 nicholas
+ * Only use a static array of vtables on gcc.
+
+0.75_50 2011-05-04 nicholas
+ * The core's magic vtables are global constants, so aren't part of the size.
+ * Follow mg_obj and mg_ptr.
+
+0.75 2011-05-04 nicholas
+ [no changes]
+
+0.74_53 2011-05-01 nicholas
+ * Fix typo error in bit-vector tracking mechanism. On 64 bit platforms which
+   allocate on 8 byte alignment (rather than 16), a low pointer bit could get
+   lost, resulting in new pointers being considered already "seen".
+   "Found" by BinGOs' smoker, fixed on spectre.mongueurs.net. Thanks.
+
+0.74_52 2011-04-23 nicholas
+ * Fix potential SEGVs for OP_AELEMFAST on a lexical (eg $foo[3])
+ * Fix likely SEGVs for PVOPs (missing break)
+ * Fix potential SEGVs for PVBMs on 5.10 and later
+ * Move hash and array traversal from total_size() to sv_size()
+   - this allows total_size() and size() to be XS ALIASes.
+
+0.74_51 2011-04-22 nicholas
+ * Don't count PL_sv_{undef,no,yes} in the size returned
+ * total_size() was double-counting entries in typeglobs
+ * sv_size() was double-counting the PVGV size if GvEGV() looped back
+ * fix classic off-by-one error - the answer is strlen() + 1, not just strlen()
+
+0.74_50 2011-04-19 nicholas
+ * Ensure that size() doesn't add the referent's size for non SVt_RV references
+
+0.74 2011-04-19 nicholas
+ * Correct the Makefile.PL - LICENSE was added to ExtUtils::MakeMaker in 6.31
+
+0.73_51 2011-04-17 nicholas
+ * Refactor the C code to accumulate the size inside the tracking structure
+   - this means that the C *_size() functions now return void
+   - The XS functions size() and total_size() now return UV, not IV
+
+0.73_50 2011-04-17 nicholas
+ * Avoid using assert() on ithreaded 5.8.8 and earlier, as it needs my_perl
+ * Fix the test added in 0.73, as it tripped over a combination of bugs
+
+0.73 2011-04-16 nicholas
+ * Revert a bad assertion introduced in 0.72_50, which was logically wrong.
+   - and a test to demonstrate one case that would trigger it
+
+0.72_52 2011-04-15 nicholas
+ * Add a test for the non-exceptional warnings.
+
+0.72_51 2011-04-15 nicholas
+ * Add PERL_NO_GET_CONTEXT to improve performance under multiplicity
+
 0.72_50 2011-04-14 nicholas
  * Exception handling is totally MSVC specific, so only use it there
    - this means that we don't need to use a C++ compiler anywhere
@@ -8,7 +66,7 @@ Revision history for Perl extension Devel::Size.
    the fatal error introduced in 0.72 when the assumption was violated.
  * Convert to XSLoader
  * Resolve CPAN #49437 (Devel::Size adds magic in Perl 5.10)
- * Resolve CPAN #58484
+ * Resolve CPAN #58484 and #58485 (related to CVs that are XSUBs)
 
 0.72 2008-10-14 BrowserUk 70 tests
  * Added bit-vector pointer tracking mechanism.