Batch sending of remote calls:
DWR will now send a group of remote calls together in a single batch to reduce network latency. See
DWREngine.endBatch()for more information.
Provision of call ordering promises:
DWR can return results in the order in which they were sent using
DWREngine.setOrdered(). Warning: Setting this to true will slow down your application, and it expose you to timeouts if a message gets lost. In addition and it may well mean that you are being lazy and not thinking about the asynchronous model properly.
Fine grained access control:
You can now specify exactly which methods are allowed and disallowed using the include and exclude elements in dwr.xml:
<exclude .../>. You can do one or the other but not both.
J2EE role based authorization:
You can now specify that certain methods are only available to users with certain roles:
Methods on java.lang.Object (like
wait()) are now disallowed.
Enhanced debug pages:
The debug pages at
http://localhost:8080/[YOUR-WEB-APP]/dwrhave been enhanced to allow you to enter parameters other than strings, to show more detail on returned objects and to give more feedback on why methods are unavailable.
Auto-fill of Servlet Spec parameters:
If you have a DWR remoted method that has an HttpServletRequest parameter then DWR will automatically fill it in for you. This gives you a way of accessing HttpServletRequest like ExecutionContext except that you don't get the dependency on DWR. It also works for HttpServletResponse etc.
Logging is now fine grained, and there is more of it:
If you were turning DWR debug on globally, you probably don't want to any more!
You can specify detailed type information for collections:
List, Set etc don't have type info (and even under 1.5 it seems you can't get at it) so you can specify the types in dwr.xml:
We are working on a smaller list for the next version so we are not that far from 1.0.