changelog
progress of db4o development


Contents
    Milestones
    Minor features and bugfixes


Milestones
2001-01-31
version 1.0
- completely revised interface. See the release notes for a detailed documentation.
- Smart reflection allows the storage of objects without any modifications to their class files.
- A JDK 2 version enables the storage of private and protected members.
- UniCode version.
- A dedicated EPOC version contains a workaround for an EPOC JVM bug.
- members of class Object are stored.
- Interface members are stored.
- storage wrapper for java.util.Date
2000-12-11
version 0.40
- fully revised architecture and file format.
- x50 performance boost.
- x50 decrease of database file size.
- x50 decrease in resource consumption.
- delete() is implemented.
- 20 samples allow a quick start.
- messages are off and can be turned on with echo()
2000-10-22
version 0.20
- The new db4o JDBC interface completely exports and imports object data. The mechanism allows the migration of db4o data in case of future changes to the db4o file format. The jdbc documentation provides further information.
- The provided sourcecode packages were revised.
- Fixes 0.11 to 0.13 are included.
2000-09-18
version 0.10
- db4o was repackaged. All classes are now found in com.db4o.*.
- The interface naming was streamlined. 
PersistentHandle >> DbHandle. 
getPersistentHandle() >> db().
- db4o is now distributed as a jar.
- Navigation through member links is now possible with PersistentObject.db().activate()
- Instantiation logic was rewritten to support this feature.
- The storage format was improved for less space consumption and better performance.
2000-08-20 - Support for inheritance.
- Test routines in com.db4o.test.Test.java ensure a consistant stability of implemented features.
2000-08-08 - db4o opens the public mailing list db4o@egroups.com.
2000-08-05 - Support for arrays.
- The schema updating mechanism is started automatically with every start of the engine.
2000-07-18 The indexing mechanism is implemented with a red-black binary tree.
A test with the benchmark database showed an improvement by more than 500%.
2000-07-08 - The read algorithm now only reads objects, which are actually needed.
- First concept of the db4o query interface
2000-07-06 First JDBC import run on an SQL database with 1 MB size. Large amounts of data are now available for testing and performance analysis.
2000-06-30 - Support for Double, double, Float, float, Short, short, Character, char, Boolean, boolean, Byte, byte
- Rewrite of YapVariables to implement a clean structure instead of two objects per datatype
2000-06-23 Support for Long, long, Integer, int, Boolean and boolean.
2000-06-17 - Update is implemented.
db4o.set(object) forces a depth(1) equalitycheck on all members.
- Address indirection is implemented.
see YapProxy for details
- Extensions of com.db4o.collection.Comparator avoid reflection in comparisons.
2000-06-15joss is renamed to db4o. Thanks to Christian Runte for the suggestion.
2000-05-28get() and set() are implemented. Java classes with String- and Object-Members can be stored and retrieved.
2000-05-28Begin of this log.
2000-04-04 Thanks to Brian Lee Price for the contribution of ideas to yap.
2000-01-01The first line of code.


Minor features and bugfixes
2001-03-06
version 1.04
- Db4o.use(javax.jnlp.JNLPRandomAccessFile) was implemented to allow the usage of db4o within a Java Web Start application.
2001-02-26
version 1.03
- ObjectContainer.get(null) would result in a NullPointerException if empty classes were present in the datafile. Introduced in 1.01. Fixed.
- Enhanced benchmark code.
2001-02-09
version 1.02
- A file memory leak introduced in 1.0 caused continuous growth of the data file on updates. Fixed.
- Performance improvement with the great help of a coding contest in the german Java newsgroup de.comp.lang.java.
2001-02-02
version 1.01
- UniCode versions only: String query-by example would not produce any results. Fixed.
- ObjectContainer.get(null) dump was accelerated and is now independant of possible constructor side effects.
2000-12-16
version 0.43
Fix for simple type array bug and array update.
2000-12-14
version 0.42
- delete() inconsistency and crash fixed
- Db4o.delete(null) no longer crashes.
- numerous SQLImport() fixes
2000-12-12
version 0.41
Performance update only.
2000-11-15
version 0.22
Javadocs were generated for version 0.21 to satisfy the request from the mailing list.
2000-10-25
version 0.21
The finalize() function in Db4o now enforces that the engine is shut down correctly with Db4o.down(). System.runFinalizersOnExit(true) is set for the moment, in spite of  the potential errors on some VMs. A better method will be implemented in the near future.
2000-10-20
version 0.13
- A second call to Db4o.set() would not update descendant values. Fixed.
- A workaround for an EPOC JDK bug is included.
2000-10-08
version 0.12
Query evaluation fix. Ancestor values are no longer ignored.
2000-10-06
version 0.11
- Major speed enhancement
- Fix to automatic schema recognition. Descendant changes no longer produce exceptions.
2000-08-28 - String updating reenabled.
- Test routine now includes update and more array features.
- Null values are possible in arrays.
- A file format change was necessary for arrays.