@jamalex I just added logic such that schema changes no longer break syncing:
* when uploading models: every model field may have a "version" attribute added to it.  If it exists, and the destination has an older version than that attribute, it is not sent.
* when downloading models: if a field that's downloaded isn't in the model the client knows, then if the remote server (sending data) has a higher version than the local (receiving data) server, the attribute is skipped. 

The best place to make these changes was in the Django code.  More Django tweaks... :(