For a complete list of all issues that were completed throughout the last year since db4o 6.0, please use our Jira issue tracker.

Here is a filtered list that contains all closed issues that we consider to be most relevant from the user perspective:

Fixed in db4o 7.0

  • COR-961 - Simplest Possible Ant Script on Instrumentation
  • COR-958 - New ExtObjectContainer#activate(obj) without parameters that respects activation settings
  • COR-953 - [TA] Make sure TA mode respects cascading() event cancellation
  • COR-951 - Ensure correct Bloat handling of JDK5 class file format specifics
  • COR-936 - TA/Java: Ensure Jars are accepted as instrumentation source
  • COR-918 - Db4oAdmin doesn´t detects assemblies already instrumented.
  • COR-900 - activateDepth(0) doesn't work in c/s mode
  • COR-879 - JAVA: Improve mechanism to specify classes to be persisted/instrumented
  • COR-838 - Factor out common Bloat bytecode abstraction library from NQ, TA, CLDC,...
  • COR-829 - .NET: Support for multiple assemblies
  • COR-827 - .NET: Change instrumentation from method to field access (self encapsulate field)
  • COR-826 - Java: Change instrumentation from method to field access (self encapsulate field)
  • COR-822 - TAStrategy: Break cascading when TA aware class is found
  • COR-821 - TAStrategy: Implement configurations
  • COR-820 - TAStrategy: Configuration API Design
  • COR-816 - TACol: Java Map
  • COR-815 - TACol: Java ArrayList
  • COR-800 - NET: preserving debugging information
  • COR-590 - Create a Db4oAdmin instrumentation step for Transparent Activation
  • COR-588 - TA coverage of .net specific type system features


Fixed in db4o 6.4 and in db4o 7.0

  • COR-943 - ObjectSetFacade#iterator() always returns the same iterator
  • COR-934 - Timeouts on .NET C/S cause high CPU load
  • COR-928 - ObjectContainer is closed on ObjectNotStorableException
  • COR-923 - C/S client timeout event handler
  • COR-905 - Configuration calls are not threadsafe
  • COR-903 - CascadeToVectorTestCase.concDelete: java.lang.NegativeArraySizeException
  • COR-902 - Class loading is broken for arrays in JDK1.6
  • COR-898 - ClientObjectContainer#isAlive() hangs
  • COR-892 - Simplify Typehandler4, remove read(MarshallerFamily) and delete all old reading code
  • COR-887 - Freespace corruption on configured update depth and/or CascadeOnUpdate and/or Rollback
  • COR-885 - Possible concurrency issue in C/S mode showing up in LocalTransaction#commit3Stream()
  • COR-878 - Simplify Typehandler4, remove readQuery(), readSubCandidate()
  • COR-873 - Simplify Typehandler4, remove classReflector(), getID(), linkLength()
  • COR-872 - java packages should include the full version name (e.g.: db4o-java5-6.4.8.2078.zip, etc...)
  • COR-871 - .net packages should include the full version name (e.g.: db4o-net2-6.4.8.2078.msi, db4o-net2-6.4.8.2078.zip)
  • COR-870 - add svn.revision to Db4oVersion
  • COR-869 - Typehandler updates for .NET structs
  • COR-868 - Typehandler updates for .NET primitive types
  • COR-867 - TypeHandler updates for arrays and multi-dimensional arrays
  • COR-866 - Typehandler updates for String, Date and double
  • COR-865 - TypeHandler updates for boolean, byte, char
  • COR-859 - TypeHandler upgrade tests for short long float
  • COR-856 - TypeHandler upgrade tests for int
  • COR-855 - TypeHandler Version sets to replace MarshallerFamily
  • COR-843 - Complete new TypeHandler reading for all Types
  • COR-785 - Defragmenting a db generated with db4o 6.1.401.0 in db40 6.3.500 results in 'Db4objects.Db4o.Db4oIOException'
  • COR-781 - FastCollections: New TypeHandler4 writing for .NET types
  • COR-780 - FastCollections: New TypeHandler reading primitive types Java
  • COR-775 - Defragmenting an encrypted DB produces unencrypted DB
  • COR-773 - Add JavaReflectClass abstraction to reflector API to allow alternative implementations to JdkClass
  • COR-772 - FastCollections: Simple TypeHandler4 writing for all types
  • COR-762 - Critical Performance Loss with higher BlockSize
  • COR-760 - No Native Query optimization for equals() comparisons on java.util.Date fields
  • COR-758 - Database file size unusually big
  • COR-755 - .NET: Proper handling of inheritance hierarchies
  • COR-749 - Defragment does not correctly map String/Array addresses used in field index for inheritance hierarchies
  • COR-746 - Java Enum 'ordinal' and 'name' properties stored as null
  • COR-739 - Removing array-reference in schema evolution corrupts database
  • COR-738 - NullPointerException while using Blobs in Client/Server mode
  • COR-736 - Predicate doesn't work correctly if the parameter of match method is declared as Object.
  • COR-735 - [SOLO] Db4objects.Db4o.Tests.CLI1.Aliases.TypeAliasesTestCase.TestTypeAlias
  • COR-734 - [SOLO] Db4objects.Db4o.Tests.Common.Exceptions.ObjectCanActiviateExceptionTestCase.Test
  • COR-725 - Query#descend() returns null when trying to descend into an untyped collection for which no persisted objects exist
  • COR-717 - MClose should synchronize on global lock
  • COR-714 - StackOverflowException Occured when soda query executed using IConstraint
  • COR-710 - IndexOutOfBoundException triggered by ObjectSet#get() is not caught on the server
  • COR-709 - Sharpen.Net.Socket.Socket(string hostName, int port) throws "SocketException" when hostname is localhost
  • COR-694 - db4o doesn't open file in readonly mode when the database is configured as readonly.
  • COR-691 - switchToFile() shared client failure
  • COR-684 - Client/Server NullReferenceException in Query
  • COR-674 - Integrate NQ optimization into OSGi build
  • COR-664 - Multiple transactions for "In-process" mode
  • COR-660 - Db4o doesn't close file handler after throwing file incompatible exception(Db4oException)
  • COR-652 - TSerializable/Java should use configured reflector information instead of default classloader
  • COR-651 - Get db4ounit jdk1.2 test suite to run green in OSGi environment
  • COR-645 - OSGi bundle reflector
  • COR-636 - Exception encountered when CallConstructors() is set to true in Client/Server mode
  • COR-635 - BackupStressTestCase failed intermittently
  • COR-633 - Extra objects are instantiated in a callConstructors(false) / testConstructors(false) setting
  • COR-628 - BTreeFreespace: Debug all leaks
  • COR-626 - Java NQ optimizer confusion about integer vs boolean return values
  • COR-607 - deleting BLOB-files via Blob-interface
  • COR-605 - Hashtable Iterator
  • COR-601 - Many tests fail when blockSize is configured.
  • COR-600 - Improve freespace discard algorithm
  • COR-599 - ConfigurationItem support for augmenting the configuration before the ObjectContainer is open
  • COR-595 - DotnetSupport configuration item that adds the required aliases to support reading a .net generated data file from java
  • COR-591 - Extract Java bytecode instrumentation tool
  • COR-585 - OSGi compatibility
  • COR-584 - PersistentIntegerArrayTestCase fails in defrag mode
  • COR-583 - Querying stored classes should be read only, but triggers static class metadata updates
  • COR-582 - db4o embedded client thread doesn't exit until server socket timeout happens.
  • COR-579 - ObjectSet only valid for single iteration.
  • COR-577 - C/S connection leaves daemon thread hanging around
  • COR-576 - Eclipse return 13 when running javatocsharp.core.application
  • COR-574 - BTreeFreespace: Test migration run from RAM-based Index system
  • COR-571 - BTreeFreespace: Solve Hen-egg problem with own slot
  • COR-570 - BTreeFreespace: Get right-sized slot with next matching size
  • COR-569 - BTreeFreespace: Free and merge slots
  • COR-568 - BTreeFreespace: Create, Read and write BTreeFreeSpaceManager
  • COR-566 - BTreeFreespace: Extract FreespaceManager Interface
  • COR-565 - InvalidPasswordTestCase uses a fixed port
  • COR-564 - JDK_1_4#unlockFile method should invoke FileLock#release by reflection.
  • COR-563 - Setup cc Win
  • COR-558 - TransientClone test fails in batched c/s mode
  • COR-557 - NQ optimization will fail to recognize side effect assignments
  • COR-555 - db4o test suite hangs when running in batched message mode.
  • COR-553 - NQ optimization ignores unoptimizable method calls in combined constraints
  • COR-552 - db4o tests fail on jre1.1.8
  • COR-549 - NQ optimization ignores constraints on method-local variables
  • COR-545 - 6.1 Callback discrepency problem
  • COR-540 - NPE in CreateQueryResult using embedded client
  • COR-539 - Array retrieved/read as null when a .Net database (a database created by .Net application) is read by a java application
  • COR-535 - Provide a way for EventRegistry to be notified whenever listeners subscribe to specific events
  • COR-527 - Internal NullPointerException in embedded C/S mode
  • COR-524 - Refactor C/S messaging
  • COR-523 - Call committed() callback and test
  • COR-522 - Send committed callback information to clients
  • COR-521 - Send committed callback configuration from client to server
  • COR-519 - Severe bug in CachedIOAdapter
  • COR-518 - Refactor ObjectContainer constructor implementation
  • COR-509 - Aliases are broken for identical cross-platform class names
  • COR-506 - Add configuration item for accessing .net databases from java
  • COR-496 - Enums with custom fields and constructors are not supported
  • COR-493 - Activation errors during evaluation queries must bubble up
  • COR-488 - update fails for a complex object graph
  • COR-481 - (Double== null) is broken after upgrade from 5.2 -> 6.1
  • COR-480 - (Long == null) is broken after upgrade from 5.2 -> 6.1
  • COR-479 - (Short== null) is broken after upgrade from 5.2 -> 6.1
  • COR-477 - (Float== null) is broken after upgrade from 5.2 -> 6.1
  • COR-475 - (Integer == null) is broken after upgrade from 5.2 -> 6.1
  • COR-466 - Flow graph lookup doesn't consider full method signature
  • COR-457 - Close the database if db4o encounters an unexpected fatal error.
  • COR-455 - Do not catch fatal Error's
  • COR-453 - PartialObjectContainer.finalize is broken
  • COR-452 - .net shutdown hook doesn't close multiple file
  • COR-441 - Remove all unnecessary catch Throwable clauses in db4o core
  • COR-437 - Client Server Commit should be synchronous
  • COR-433 - Committed Callbacks
  • COR-432 - Aliasing in 6.1 does not work.
  • COR-431 - Concurrency test with LAZY query mode causes fatal exceptions
  • COR-422 - Defragmentation Index Problem
  • COR-415 - Change session handling, so Db4o.openFile() throws a DatabaseFilelockedException on a second call
  • COR-414 - Order query doesn't work against jdk1.1 in c/s mode.
  • COR-413 - SODA endsWith fails when the stored string length is less than string length in query search
  • COR-411 - Thread file locking is broken for Java JDKs < 1.4
  • COR-406 - Query throws NullPointerException if database is in read-only mode
  • COR-397 - Custom Marshaller without using reflection
  • COR-387 - SODA-Queries won't work after migration from Version 5.5.1.0 to 6.0.101
  • COR-383 - OutOfMemory on Defrag
  • COR-382 - Memory consumption increase in 6.0
  • COR-376 - reflector.forObject(ob); returns GenericClass for a GenericArray object
  • COR-375 - Server threads are not stopped when you close the ObjectServer
  • COR-374 - Make class index configurable
  • COR-373 - String index corruption if ObjectContainer#set is called twice on the same object under some circumstances
  • COR-371 - Pushed Updates
  • COR-353 - Database file loses identity (Db4oDatabase)
  • COR-346 - Commit Time Callbacks
  • COR-343 - Batch until commit
  • COR-340 - NullPointerException during defragmentation
  • COR-338 - Defragmenting 5.5db with db4o-6.0(JAVA) produce ---ArrayIndexOutOfBoundsException
  • COR-336 - Object Delete bugs in db4o-6.0
  • COR-333 - Transient interface (instanceof TransientClass)
  • COR-328 - '.GetObjectInfo(obj).GetUUID()-calls' returns null
  • COR-316 - db40 6.0.101 Java Collection(List) bug
  • COR-314 - ClassCastException arised in SODA Query
  • COR-312 - Incorrect migration of null values 5.2 -> 6.0
  • COR-303 - db4o has bug when deleting objects with circular references.
  • COR-280 - Indexes not working with multiple-level queries
  • COR-266 - oc.set(GenericObject) should add GenericClass if it doesn't exist and save the GenericObject
  • COR-234 - Propogate old database file format exception up
  • COR-231 - Non-static configuration
  • COR-208 - Class aliases do not work with inheritance hierarchies
  • COR-203 - Database files grow although rollback is called
  • COR-195 - Filters on indexed fields do not return correct result
  • COR-178 - constraints for unique fields
  • COR-101 - NQ optimizer class path/loader must be configurable from the outside
  • COR-74 - Rename db4o core classes
  • COR-57 - Turning on Indices in Inheritance delivers different Query-Results
  • COR-54 - No security check if database file sizes exceed the maximum size possible
  • COR-52 - C/S startup fails for db4ojdk5 if global activation depth set to 0
  • COR-27 - objects which have been rollback() still consume space in yap file
  • COR-19 - Configuration#reserverStorageSpace() gives OutOfMemory
  • COR-6 - NQ samples (like LINQ samples)