New branch plus fix for shift/unshift/splice with references being moved. The fix...
[dbsrgits/DBM-Deep.git] / Changes
diff --git a/Changes b/Changes
index 62a45d2..850dc44 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,8 +1,55 @@
 Revision history for DBM::Deep.
 
-0.99_03 ??? ?? ??:??:?? 2006 Pacific
+1.0001 Mar 12 16:15:00 2007 EDT
+    - (This version is compatible with 1.0000)
+    - Added a missing dependency on IO::Scalar (RT #25387)
+    - Fixed how t/44_upgrade_db.t and utils/upgrade_db.pl worked
+      - utils/upgrade_db.pl now uses #!perl, not #!/usr/bin/perl
+      - t/44_upgrade_db.t now explicitly calls $^X
+        (Thanks merlyn!)
+
+1.0000 Feb 26 22:30:00 2007 EST
+    - THIS VERSION IS INCOMPATIBLE WITH FILES FROM ALL OTHER PRIOR VERSIONS.
+      - To aid in this form of upgrades, DBM::Deep now checks the file format
+        version to make sure that it knows how to read it.
+      - db_upgrade.pl was added to utils/. This will -NOT- install onto
+        your system. This is deliberate.
+      - db_upgrade.pl will not handle developer release file formats. This
+        is due to the fact that all developer releases in preparation for a
+        given release share the same file version, even though the file
+        format may change. This is deliberate.
+    - Importing no longer takes place within a transaction
+    - The following parameters were added:
+      - data_sector_size - this determines the default size of a data sector.
+    - Correctly handle opening readonly files
+
+0.99_04 Jan 24 22:30:00 2007 EST
+    - Added the missing lib/DBM/Deep.pod file to the MANIFEST
+    - Fixed a poorly-designed test that was failing depending on what Clone::Any
+      was using.
+    - All "use 5.6.0;" lines are now "use 5.006_000;" to avoid warnings about
+      unsupported vstrings in 5.9.x
+
+0.99_03 Jan 23 22:30:00 2007 EST
+    - THIS VERSION IS INCOMPATIBLE WITH FILES FROM ALL OTHER PRIOR VERSIONS.
+      - The fileformat changed completely. I will be writing a converter, but
+        it's not there right now. Do NOT expect that this module will
+        correctly detect older versions and handle them sanely. Sanity will be
+        there for 1.00, but we're not there yet, are we?
     - Converted to use FileHandle::Fmode to handle filehandle status checks
     - Fixed bug with deleting already-deleted items on Win32 (reported by Nigel Sandever)
+    - The guts of how transactions work has been rewritten to better handle
+      some edgecases. This required a complete rewrite of the engine.
+    - Freespace management is now in place. It's not perfect, but it's there.
+    - The rewrite of the engine required a rewrite of how first_key/next_key
+      was implemented. This should result in significant speed improvements.
+    - Self-reference has been removed. This means you cannot do:
+          $db->{foo} = { x => 'y' };
+          $db->{bar} = $db->{foo};
+      I hope to be able to return this functionality by 1.00, but I cannot
+      promise anything. To do this properly, it requires refcounting in order
+      to correctly handle deletions and transactions. Once you move away from
+      a simple tree, everything becomes really hard.
 
 0.99_02 Apr 28 05:00:00 2006 Pacific
     - Added missing file to the MANIFEST