In our application we add a components dynamically during partial page refreshes.
After upgrading to 2.0.4 this stopped working. Investigation showed that on subsequent partial page refreshes dynamic children that had dynamic parents were being restored.
In StateManagementStrategyImpl.restoreView the call
was failing to find the parent. This turned out to be because the parent had not been added to the tree at the point the child was being added.
The solution is to ensure that the dynamic child list is ordered so that dynamic components are always after their parents.
I have a patch for this that works for us, I've attached it.