Just added: - PPR should be a good bit more efficient, as most input + output components will not render anything unless they are being PPR'd, and tables, trees, treeTables, navigationPanes and trains will be entirely skipped unless they or one of their contents is being PPR'd.
Until now, PPR rendered everything and a ResponseWriter trimmed out what shouldn't be rendered. That's still the case in part, but we can now entirely skip some branches of the UIComponent hierarchy. (The client validation code had to be somewhat overhauled to make this possible.) - A new "addDomReplaceListener()" method provides notification of DOM changes from PPR. A trivial example is: function notePpr(oldDom, newDom) { console.log("old", oldDom); console.log("new", newDom); } TrPage.getInstance().addDomReplaceListener(notePpr); ... which logs to Firebug any DOM elements that have been added or removed. Feedback we need: currently, this API is called *after* the DOM replacement has happened, and gives you no way of preventing or overriding the DOM replacement. I'm far from convinced that's the right choice: it might be better to run this before replacement and allow this function to "return false;", in which case no replacement would happen. Cheers, Adam Winer