Saturday, August 15, 2009

DataObjects.Net v4.0.5 is out

After almost 2 months of hard work we're releasing v4.0.5.

What's new:


1. Excellent performance. We've optimized it really well, although you can expect even more - there are still many TODOs related to performance our issue tracker (this does not mean there is something wrong - we simply fix all the good ideas there).

2. Stability. This version passes all our tests in all configurations on Microsoft SQL Server 2005/2008, and just one test fails on PostgreSQL (you'll never need LINQ query feature it tests with 99.9% probability). Later we'll share video showing this ;)

3. Better LINQ support. Likely, better than in any other ORM product. ORMBattle.NET proves this.

4. Full ASP.NET support. Use SessionManager and new Web Application project template to build your DataObjects.Net-based web application. So now you can use it in web applications without worrying if there are any issues related to this scenario.

5. Domain modules. As you know, one of key concepts supported by DataObjects.Net is modular persistence & BLL layers architecture: you combine the whole database application from assemblies with persistent types by the same way as combining .NET application from assemblies. And we've made one more step further here: now such assemblies may contain IModule objects participating in Domain build process. They can add custom persistent properties to all the persistent types, participate in lifetime of any Session and so on.

See IModule and this issue to get some imagination of this feature.

6. API improvements. There are many changes related to usability of API we provide. E.g. Key.Resolve() is replaced to Query(of T).SingleOrDefault(...) (Single exists as well), domain.OpenSession(...) is replaced to Session.Open(domain, ...) and so on.

7. Lots of minor updates. Here are just some of them:
- Automatic batching of persist sequences (performance)
- Deferrable constraints support (performance, currently works only on PostgreSQL)
- SessionOptions.AutoShortenTransactions option
- Refactored Xtensive.Sql (now there are just few assemblies instead of ~ 8)
- Optimization of many core structures, such as Key and EntityState
and so on.

8. Alpha version of Oracle provider. Don't use it, currently it passes only 70% of tests :) But actually it is almost ready: we know there are may be just 5-10 issues to resolve to make it fully working. 70% tests mean schema upgrade, persistence & most part of LINQ queries (there are ~ 700 tests related to LINQ) are already working with it. But anyway, don't use it ;) It's mentioned just to show how we're close to deliver it.

9. Lots of bugfixes. Obviously.

If you need details, all the issues related to v4.0.5 can be found in this grid.

You can download v4.0.5 here.

No comments:

Post a Comment