r14214@rob-kinyons-computer (orig r8081): rkinyon | 2006-11-17 20:51:21 -0500
[dbsrgits/DBM-Deep.git] / Changes
diff --git a/Changes b/Changes
index 62a45d2..c681f55 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,8 +1,25 @@
 Revision history for DBM::Deep.
 
-0.99_03 ??? ?? ??:??:?? 2006 Pacific
+0.99_03 Jan ?? 00:00:00 2007 EDT
+    - 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