September 30, 2009

DataObjects.Net v4.1: when and what will be there?

When: October, 12.

What will be there:
  • Manual.
  • Integrated PostSharp. Consequently, it won't be necessity to install any third-party tools at all.
  • Simplified referencing to DataObjects.Net from your own projects. No more GAC install, and quite likely, you'll need to reference just 2 assemblies. All the dependencies will be copied to bin folder automatically.
  • Oracle support.
  • DisconnectedState. Likely, initial version will have some lacks, but we'll eliminate them ASAP. See "Disconnected state" section here.
  • Versions and optimistic locking support. See "Object versions" section here.
  • Future queries. See "Future queries" section here.
  • Prefetch API. Likely, without some internal performance optimizations - we can leave some of them for v4.1.1.
  • Support for local collections in LINQ queries.
  • Fully working persistent interfaces. Although [MaterializedView] won't work for them (this affects only on performance, but not on features).
  • Improved validation API. Now we're supporting IDataErrorInfo; validation-related classes are
    refactored to be more usable.
  • Über-batching. See corresponding section here.
  • New samples. No other details for now except that there will be ASP.NET MVC sample.
  • No explicit bindings to Unity and, likely, to Log4Net.
  • Lots of minor improvements, e.g. explicit locking.
And I explicitly announce right after this release we will start using public source code repository for DataObjects.Net, so it will be fully honest to call it open source project.

You will find its source code here.

Btw, distributed VCS like Mercurial provide the easiest way for external developers to modify the source code and maintain their own branches. Such branches can be maintained either locally (with automatic merging the changes made by us) or at our own repository. So if you would like to contribute something, is will be really simple: download TortoiseHg, pull our repository, build DO4 (this requires nothing special now!), modify it and push back your changes (you must be added to committers to be allowed to do this) or send them as patch to us. Easy, as 1-2-3.