db4o version 8.0 has been promoted to become the new db4o production version. Here are the release notes generated from our Jira Issue Tracker. The list includes all issues that were resolved between January 6 2010 and January 26 2011.

  • COR-354 - Diagnostics should report missing classes on the path
  • COR-404 - Map null values are not persisted
  • COR-471 - Class type constraint for descendant fields is ignored
  • COR-1435 - Review database identity switch on defragment
  • COR-1680 - [Silverlight] Investigate how to support LINQ on Silverlight
  • COR-1711 - Tool for Collecting and displaying Statistical data
  • COR-1803 - Add .Net 4.0 platform
  • COR-1807 - Pluggable ID system
  • COR-1822 - Committed callbacks should provide a means to discover if the committed event was raised by this clients commit or another one in C/S mode
  • COR-1843 - Implement BTree IdSystem
  • COR-1846 - Direct comparision against fields fail for enums.
  • COR-1848 - Simplify IdSystem methods and reduce outside knowledge about pointers
  • COR-1855 - Implement In-Memory IdSystem
  • COR-1856 - Inconsistent handling of relative source/target paths in instrumentation Ant task
  • COR-1860 - Race condition in ThreadPool4Impl
  • COR-1861 - LINQ optimizer throws ClassCastException for expressions typed to System.Object
  • COR-1863 - Server throws StackOverflowException while querying complex object hierarchy
  • COR-1865 - Top level orderAscending/orderDescending should fail early and provide more specific exception
  • COR-1866 - TA/TP: Activation of Activatable collections triggers update through #clear() invocation in type handler
  • COR-1868 - Factor global non-transactional IdSystem out as an interface
  • COR-1872 - NullPointerException and DatabaseClosedException when querying by class
  • COR-1874 - Unable to retrieve object from store if assembly name contains db4o
  • COR-1875 - Problem with sorting by field in base class
  • COR-1876 - Remove Transaction parameter from StandardIdSystem
  • COR-1877 - Defragment ID batch allocation relies on blocksize from source database config
  • COR-1878 - Factor out blocksize aware FreespaceManager
  • COR-1881 - A LINQ-Query returns all objects with where-clause with a List.Contains()-constrain
  • COR-1884 - [.Net] Implement ActivatableDictionary
  • COR-1885 - [.NET] Implement all List methods in ActivatableList
  • COR-1890 - Optimized Native Queries which use the ArrayList#size()-property return all objects.
  • COR-1892 - [LINQ] NullReferenceException when where clause contains test against null
  • COR-1894 - HashMap can't store values at null keys.
  • COR-1898 - Refactor update depth from int to strategy
  • COR-1900 - Implement custom update depth for TP mode
  • COR-1902 - System.Byte and System.SByte casting problem in Db4objects.Db4o.Internal.Handlers.ByteHandler
  • COR-1903 - [.Net] Upgrade to Mono.Cecil v0.9
  • COR-1906 - Rewrite FileHeader operation so it works with two flush calls
  • COR-1907 - Skip Activatable objects in explicit update calls in TP mode
  • COR-1909 - Avoid updating unmodified Activatable objects in TP mode (activated collection items)
  • COR-1914 - Refactoring wrappers to primitives (and vice versa) is broken
  • COR-1922 - Remove old writing code from ConfigBlock and FileHeader1
  • COR-1925 - The Db4oTool '-collection' enhancement stops with an error when casting and passing delegate to a method.
  • COR-1930 - Remove openMemoryFile completely from 8.0
  • COR-1932 - Implement CRC32 checksum algorithm
  • COR-1937 - Simplify 'primitiveness' views
  • COR-1945 - Transaction.objectContainer() should always return an ObjectContainer with transactional behaviour, also in events.
  • COR-1946 - Storage implementation to be able to call #saveAs() on an open database
  • COR-1950 - Respect transient modifier on static fields
  • COR-1953 - Change TimeStampIdGenerator to only generate values that can be converted to 48 Bit
  • COR-1967 - java.lang.NegativeArraySizeException during openFile
  • COR-1970 - [Android] Fix the 5 known stack overflows problems in Android for JDK1.1
  • COR-1972 - [Android] Implements JDKReflect equivalent for DalvikVM
  • COR-1975 - Move openSession() to ExtObjectContainer
  • COR-1977 - Execution of sub queries descending into collection members only seem to use a single collection member as root
  • COR-1978 - Transient field modifier is not being respected in C/S mode without classes in the server
  • COR-1990 - [Android] Failure to find ClassMetadata for StaticField
  • COR-1996 - java.lang.OutOfMemoryError in UnicodeStringIO.read
  • COR-1997 - Commit throw an UniqueFieldValueConstraintViolationException after defragment
  • COR-1998 - Introduce ID mapping sanity checking to be used in dedicated db4ounit fixture
  • COR-1999 - com.db4o.ext.InvalidSlotException: id: 53
  • COR-2000 - Defragmenting string field indexes is broken with btree id system
  • COR-2001 - With low custom max stack depth, PendingSet processing order expected by static field handling is not maintained
  • COR-2006 - Classes in assembly named exactly as 'db4o' in its name are storable but not retrievable
  • COR-2008 - [Android] ClassCastException trying to cast Db4oDatabase to GenericObject
  • COR-2009 - [Android] VerifyError in com.db4o.cs.monitoring classes
  • COR-2011 - UUID field index does not process deletes if lazy index loading has not been triggered before
  • COR-2014 - raise nexpected error UniqueFieldValueConstraintViolationException
  • COR-2017 - Slot changes for static fields are enqueued twice for freespace by different id systems
  • COR-2032 - [Silverlight] Configure isolated storage transparently
  • COR-2033 - [.Net] Investigate reports of db4otool failing in .Net 4.0
  • COR-2037 - Duplicate field index entries for updates in TP mode
  • COR-2041 - Write testcases for PausableBlockingQueue and move it to foundation package
  • COR-2055 - Db4oTool.exe: Error in in enhancing tool when casting collections.
  • COR-2069 - Deprecate Java/.NET cross platform support
  • COR-2073 - IsAlive() throwing System.InvalidOperationException when used in multithreads.
  • COR-2080 - Use raw BTree instead of full-fledged objects for IDSlotMappings in DatabaseIdMapping for defragment
  • COR-2081 - Remove deprecated types/members
  • COR-2092 - File usage statistics tool
  • COR-2093 - Native support of java.util.UUID
  • COR-2099 - Soda ordering runs into NullPointerException for reference fields (typed to Comparable) with null value
  • COR-2100 - HashMapUpdateFileSizeTestCase spuriously fails on slot length assertion
  • COR-2101 - Implement commit timestamps
  • COR-2102 - Migrate version numbers to two BTrees
  • COR-2104 - Refactoring Java Enum member field to transient crashes database on startup
  • COR-2105 - defragmentation fails after removing field
  • COR-2107 - Make usage stats/consistency checker available from the command line for .NET
  • COR-2110 - SaveAsStorage is not threadsafe and it doesn't work with the FileLockingThread
  • COR-2117 - Use a second btree to optimize querying for commitTimestamp
  • COR-2118 - Migrate old version numbers to new format
  • COR-2123 - Add commitTimestamp to ID BTree
  • COR-2126 - Updating databases with version field set can lead to database corruption in C/S mode
  • COR-2128 - Deprecate crossplattform configuration items.
  • DRS-111 - Remove ReplicationSession#checkConflict()-API
  • DRS-114 - Write ID mapper between db4o UUIDs/VOD OIDs
  • DRS-115 - Replication crashes, when hashCode / equals is overridden
  • DRS-119 - Create and clean VOD database and establish a connection from dRS
  • DRS-120 - Implement SimpleObjectContainer for VOD
  • DRS-122 - Produce VOD Replication Reference and convert UUID
  • DRS-123 - Implements ObjectsChangedSinceLastReplication(Class)
  • DRS-125 - Create VOD event listener
  • DRS-126 - Persistent Timestamp management for VOD
  • DRS-127 - Implement last replication version lookup for dRS/VOD
  • DRS-128 - Implement storeReplica in VOD
  • DRS-129 - Instrument persistent classes for JDO
  • DRS-130 - Timestamp management for VOD
  • DRS-131 - Store ReplicationRecord for last successful replication to VOD
  • DRS-134 - Fix shutdown race condition in IOServices/ProcessRunner
  • DRS-135 - [VOD] Implement isolation mode for VOD
  • DRS-136 - [VOD] Refactor communication layer between EventProcessor and VodReplicationProvider
  • DRS-137 - [VOD] Implement timeout for isolation mode in EventProcessor
  • DRS-142 - [VOD] Implement referenceNewObject in replication provider
  • DRS-143 - [VOD] Implement a faster VodDrsFixture#clean()
  • DRS-146 - [VOD] Race condition adding ObjectLifecycleEvent after commit has returned
  • DRS-147 - [VOD] Race condition starting veddriver and connecting to it
  • DRS-152 - [VOD] Get rid of the UuidMapping and direct convert DrsUUID to vod loid
  • DRS-153 - [VOD] Implement a jdo aware Reflector enough for drs testcases
  • DRS-155 - [VOD] Purge bogus db ids for db4o peers from test cases
  • DRS-157 - Improve/fix db cleanup in VodProviderTestCaseBase
  • DRS-160 - [VOD] NPE in versant core triggered by VodJdo#objectByLoid()
  • DRS-163 - [VOD] Use transaction boundaries for event processor commits
  • DRS-168 - Get ObjectLifecycleEvent creation right
  • DRS-173 - [VOD] Get rid of the RuntimeException catching in provider#produceReferenceByUUID
  • DRS-175 - [VOD] objectsChangeSinceLastReplication needs to support inheritance hierarchies
  • DRS-177 - [VOD] remove databaseId creation fully, it's not needed
  • DRS-180 - [VOD] Get rid of time stamp forcing race condition between replication provider and event processor
  • DRS-181 - [VOD] Enhancing JDO classes before using it
  • DRS-184 - [VOD] Create barrier between user and replication transactions through bogus commit at replication begin
  • DRS-185 - Create stress test with many objects
  • DRS-187 - Unify ways to create replication sessions
  • DRS-190 - [VOD] Simulate setting up dRS replication and write documentation for the steps needed.
  • DRS-195 - [VOD] Ensure replication of Dates works with VOD
  • DRS-198 - [VOD] Create Linux scripts for drsVodExample
  • DRS-200 - [VOD] Create an javaagent that uses versant enhancer to enhance vod testcases
  • DRS-201 - [VOD] Investigate running provider in Android
  • DRS-203 - [NET] Native .NET dRS suites fail but still pass in the build.
  • DRS-204 - Object which are stored during a replication are never replicated.
  • DRS-205 - dRS .NET fails with null reference exception on UntypedFieldTest
  • DRS-212 - Provide a way to create a VodDatabase or VodReplicationProvider from a PersistenceManagerFactory
  • DRS-215 - If the event processor isn't running, the replication waits forever instead of failing with a timeout.
  • DRS-216 - A replication started from VOD with .objectsChangedSinceLastReplication() may doesn't replicate some types
  • DRS-217 - [VOD] Add profile.be configuration and documentation to drsVodExample
  • DRS-221 - Try to get rid of isolated mode
  • DRS-222 - [VOD] DRS replicates everything twice in Bidirectional scenarious
  • DRS-223 - Provide a way to provide the process-host & port for the replication process
  • DRS-224 - Add VodReplicationProvider.ensureClassKnown overload for multiple classes
  • DRS-225 - [VOD] Replication across 'intermediate' db4o instance doesn't not work.
  • DRS-226 - Pre-Assign commit timestamps on replication begin
  • DRS-230 - ReplicationFeaturesMain fails spuriously
  • DRS-231 - Static leak in GeneratorMap for Hibernate timestamp factories
  • OMJ-138 - Enable OME to be accessed in two modes "read-only" mode and "read-write"
  • OMJ-151 - Provide more detailed information on exceptions
  • OMJ-155 - Provide read-only switch for context menu open action
  • OMJ-166 - Remove CascadeOnDelete completely from OMJ
  • OMJ-168 - List and BigSet liste once, disappear when openning a second time OMJ
  • OMJ-170 - Provide option to apply custom user configuration code prior to opening a database
  • OMJ-171 - Provide UI support for passing custom local jars and select configurators prior to opening a local database
  • OMN-188 - Object Manager (compiled to .Net 4.0) crashes in VS2010
  • OMN-190 - Images are not transparent in db4o toolbar for OMN-VS2010
  • OMN-197 - Remove CascadeOnDelete completely from OMN
  • OMN-198 - Context menu disappears for fav folders (rename,delete) if any of the recent query is selected in query builder.
  • OMN-199 - In debug mode, sometimes query result toolwindows of the closed database appears.
  • OMN-204 - ObjectManager in db4o 8.0 kills Visual Studio 2010 Professional (German version)
  • OMN-205 - Investigate on how to add OutputWindow window in OMN which can run for any language
  • OMN-206 - Index not created using OMN UI