Looks like this was a result of the change in addOrUpdateObjectWithNotification. Correctly moved the addOrUpdateCall to before the didAdd/DidChange logic, but now since you just added it, it always exists in the database, so it always will fire didChange.
In RLMRealm+Notifications.m see addOrUpdateObjectWithNotification:
Yeah that's the issue, the check should occur first and save a BOOL on which it was then, call the addOrUpdate then call the correct logger finally since it is guaranteed to be in Realm at that point.
Looks like this was a result of the change in addOrUpdateObjectWithNotification. Correctly moved the addOrUpdateCall to before the didAdd/DidChange logic, but now since you just added it, it always exists in the database, so it always will fire didChange.
In RLMRealm+Notifications.m see
addOrUpdateObjectWithNotification: