db4o Blogs

db4o News

db4o improved for Android 3.2

We have upgraded our continuous test environment from Android 2.x to Android 3.2. In the process we have fixed the following two issues: db4o used to generate its unique signature for a new database file by asking the device for it's host name. With newly introduced behaviour in Android 3.x, this call would trigger a NetworkOnMainThreadException if executed in the UI thread and database creation would fail. We fixed the issue by creating the database signature on Android from random numbers only. http://tracker.db4o.com/browse/COR-2269 The built-in serialization architecture has changed with Android 3.x and db4o's method of instantiating objects without constructor invocation by calling ObjectInputStream#newInstance() would no longer work. We have found an alternative, we now use ObjectStreamClass#newInstance() to keep the functionality available. http://tracker.db4o.com/browse/COR-2271 Android continues to be a very important platform for db4o. Every build runs all tests against an Android 3.2 emu ...

Read the rest of entry »

New db4o maintenance builds

We have put new maintenance builds of both the development and the production stream online.   The new release versions are: 8.0.236.16058 8.1.236.16058   The following issues have been addressed:   COR-2039 - Reading in a creating-callback throws an IllegalStateException in C/S 8.1 COR-2253 - Fix 'dexer' warnings on Android for bloat 8.1 COR-2259 - Runtime enhancment silently fails with ClassNotFoundException 8.1 COR-2261 - Aliasing not working correctly 8.0, 8.1 COR-2262 - Renaming of classes not working correctly if db queried before renaming the class 8.1 COR-2263 - Querying the db for a class which does not exist in db with Readonly=true throws Db4oIOException 8.1 COR-2269 - db4o and Android 3.0 issues: Touches the network 8.0, 8.1 COR-2271 - [Android] Instantiate objects without calling constructor on Android 3 8.0, 8.1 COR-2274 - C/S protocol is inconsistent over db4o versions 7.x to 8.0/8.1 8.0, 8.1 DRS-246 - java.lang.RuntimeEx ...

Read the rest of entry »

Client/Server protocol incompatibility

When we built dRS (db4o Replication System) functionality to be able to replicate to the Versant Object Database, we introduced new messages to our Client/Server protocol.   Unfortunately this change introduced an incompatibility with older C/S protocol versions. This change was not only introduced in the db4o 8.1 development stream, it was also ported to the maintenance build of our 8.0 production release.   Affected versions are: db4o-8.0.224.15975 db4o-8.1.225.15991   Running incompatible versions of client and server will result in a client timeout on login.   We decided to go back to the old protocol format, at the cost of now being incompatible to the versions listed above.   To prevent inconsistencies like that in the future we introduced a new migration test suite that checks protocol compatibility between the current version and older versions starting with 8.0.   We are aware that this is a serious issue, in particular for upgrades in a 24x7 environment wh ...

Read the rest of entry »