December 22, 2009

DataObjects.Net v4.1 is updated to v4.1 RC2 (build 168); status update

I recommend you to switch to this version now for any development code. Doing the same for production code is not recommended - we know there is at least one important issue:
  • Issue 553: Upgrade from v4.0.X to latest v4.1 leads to data lost in Perform mode
Note that this version already contains some code related to O2O mapping, full-text search and localization code from v4.2. These parts are implemented mainly as extensions to an existing API, so we know they don't affect on stable parts (tests show this as well). Please ignore these parts for now - APIs there are absolutely preliminary; they're implemented mainly to evaluate the approaches.

This version includes at least one breaking change affecting on almost any code you wrote:
This means you must use a single Query type now instead of its two "parts". I decided to implement it ASAP before release; Manual already reflects the update.

To quickly change your existing code, you can use Search and Replace in Visual Studio .NET (Ctrl-H) as it is shown here:


This pattern shows how to replace Query<T>.All calls; Query<T>.Single* calls can be replaces by similar fashion.

What's new in this update?
Why v4.1 is delayed for almost a month?

There are set of reasons for this:
  • Manual is still not fully ready. That's completely my fault, I completely underestimated the time I need to review (actually, to rewrite ;) ) it.
  • We must implement few more fixes there to ensure the count of failing tests is minimal possible (i.e. only the tests expected to fail because of absence of some feature are failing). Currently ~ 10 additional tests are failing (cases are pretty complex, so it's unlikely you'll face any of these issues). Total count of tests for Xtensive.Storage is ~ 1300.
  • As you may find, we've implemented a set of pretty complex issues that were extremely necessary for some of DO4 users, including at least nested transactions and support for legacy databases. So if you need something ASAP, feel free to ask, we're doing our best to bring the features you need.
So what DO4 team implements now?

Actually, almost all our developers are already switched to features scheduled for v4.2 (~ January):
  • O2O mapping: Alexander Nickolaev;
  • Localization: Alexis Kochetov, Alex Gamzov, Dmitry Maximov;
  • Full-text search: Alexis Kochetov, Alex Gamzov;
  • Access control system: Dmitry Maximov (not started yet);
  • Everything else + low-level APIs: Denis Krjuchkov.
Btw, as you see, we've scheduled top 4 issues from our feature poll for for v4.2. Most likely 5th one (migration from v3.9) will be implemented as well.

Alex Kofman works on one more WPF sample & DisconnectedState (v4.1.1); I'm working on Manual, various usability related issues and fixes - i.e. the only left TODOs for v4.1.

So I hope the official v4.1 release is quite near now. Sorry for write almost nothing during last weeks - I'm really quite busy with this.

P.S. Few hours ago I celebrated my 30-nth birthday - and I still can't imagine I'm so old (ok, mature ;) ) now. Any advices? Ok, I'm joking, but I still didn't internally decide if I must be glad because of this or not. I suspect most of people reacts this way when their 4th decade starts.