4.3 will be the initial open source release of Open RIA Services. Here we will fix bugs, add M2M support, change a bunch of internal code to public, and other things which do not break backwards compatibility.
What is it
Compiled against Silverlight 5
The original SP2 release of WCF RIA Services was compiled using Silverlight 4 to maintain backwards compatibility. 4.3 will be compiled using Silverlight 5.
Using the M2M support currently provided in M2M4RIA on Codeplex, add native M2M support into Open RIA Services itself.
One of the long standing requests is the ability for server side changes to bubble up to the clients. This will be implemented using SignalR but alternate methods can be plugged in.
Fluent-API based metadata (to replace buddy classes)
Open RIA Services will favor fluent metadata over ugly buddies.
A real NHibernateDomainService would be a great addition to Open RIA Services. The big ticket item that needs to be created is the NHibernateDescriptionProvider.
Indexed EntitySets with EntityCollection/EntityRef support
Open RIA Services is currently tuned for small to medium size entity caches. To better support larger cache sized the EntitySets need to have index support and the EntityCollection/EntityRef need to be modified to support those caches.
Server side updates during SaveChanges
Currently, if the server modifies entities that are not in the ChangeSet there is no way to send those changes back to the client during the SaveChanges. As long as this feature can be added without breaking changes it will be in this branch.
Primary/Foreign key behavior for new entities where key exists
The EntityRef and EntityCollection change their behavior when entities are in New state to accommodate server generated keys. In situations where entities do have primary keys while they are in new state, for example when a client-side only key strategy is used like counting down from -1 or when GUIDs are used, the normal behavior should be used instead. This may be a breaking change that needs to move to the 5.0 branch.
Client-side only properties are reset to null after a submit or load refresh
This is an annoying bug for programmers who want to extend the client side entities.
Server side IValidatableObject support doesn't work if no validation attributes exist
If you have a server side IValidatableObject which has no other validation attributes attached to it no validation will be performed server side.