Hi Chris and Joseph:

Isn't that the case with versionable entities as well unless forceVersion=True (i.e. with forceVersion=False the annotations are not saved in a version).  That is not as important however considering that the default for forceVersion is True.  If, and that is a big if, it is important to make it more difficult to overwrite things, we should definitely set createOrUpdate=False by default so the behavior is consistent and the user doesn't have to know if something is versionable or not.  Besides versionable is only a property of entity so far, the rest would have to be hardcoded.

That said, I think defaults should be chosen to match the most common usage pattern and that will be to update (and as a side effect overwrite for some things).  My code would be littered with ...createOrUpdate=True...otherwise which is a pain.  Actually we would be back to the same usage pattern as before where we had createEntity and updateEntity and that SUCKED! :)