add support for partial update
Merge remote-tracking branch 'sonata-project/master'