Currently, it seems that if I have master-detail relationship, for instance, an Order has many LineItems, if the line items are changed (i.e. deleted, added, modified) the Order row is not marked as dirty automatically.

Shouldn't it?

In my example, if I provide the UI to edit an Order (whose data is represented as a model with relationships), when the user clicks the Save button I want all the changes in the store (including changes in the children) to be sent to the server so I can persist these changes in the database. However, orderStore.getModifiedRecords() returns [] even though the children have been modified.

If I were to keep track of Order and Line Items using separate stores (ExtJs 3.x way) this would work because I can send the changes to the orderStore and the lineItemsStore together.