From the top of my head:
- Full VS.NET integration of designer (2010/2012)
- Table valued functions, onto which you can map an entity/typedview (designer, runtime) and which allows you to use the function in linq/queryspec as a source of a query (e.g. from c in metadata.Function(a, b) where ... )
- 50% faster fetches of entities (runtime), also less memory consumption.
- Query result cache (runtime), which allows you to cache the resultset of a linq/queryspec query (including typedview/list) for a period of time.
- Data scopes (runtime), which allow you to define a couple of queries and relationships and all data manipulation/refetching of the data inside the scope is managed for you, including cascading deletes.
- Action hint pane inside the designer what to do next (designer), which lists all the actions related to your last action and the state of the project, helping a lot of users who wonder what to do next or where to find a specific feature
- Type shortcut aliasing, so you can define e.g. 'EmailAddress' which is a string (150), and you can use 'EmailAddress' as type on a field, which then gets '150' as default length (designer)
- Row skipping for fetches (runtime), so you can now page with e.g. .Skip(14).Take(3)
- Inlining valuetypes (designer) for LLBLGen Pro Runtime. This means you can model with valuetypes, e.g. Address with City, Street, Housenr, and at code generation time these valuetypes' fields are inlined so you get e.g. VisitingAddressCity, VisitingAddressStreet... this allows for easier modeling with value types with our runtime.
- Fetching typedlists with queryspec
- Full XML serializabillity of all query api elements, including the unit of work. So you can send a UoW to a service using xml serialization.
- many small enhancements.
Many of these might look small, but they're really not. E.g. the query cache + the much faster fetches alone will help a lot. Example: fetching 31,000 entities in v3.5 takes 1200ms, in v4 with caching takes 250ms. VS.NET integration is also huge: you design everything inside vs.net, you have separate tool windows for the designer panes, and when you generate code, the projects are auto-added to your solution. The datascopes will solve a lot of problems for people who create LoB apps with our runtime, as it takes away a lot of work with respect to binding, managing whether an entity has changed, handling save actions, cascading deletes etc. as it simply creates a UoW for you which you can commit and that's it
And we're not done developing yet, so more is added before beta starts