The goal is a simple API call in PIM Manager or EDS (TBD) which gives the caller a list of changes (updated/added/deleted) since the last call, with minimal requirements on the caller (in particular regarding storing state).
A simple time stamp is not good enough, because we cannot rely on linear
time. It also wouldn't help to find deleted contacts, because those are
not in the DB anymore. So instead we actually need a change log recorded
in the DB that is kept on behalf of the user.
Instead of hard-coding an API for EDS which depends on contraints
outside of EDS, I rather envision a plugin mechanism which allows
external modules to run as part of the EDS process. One such module
could keep the changelog. Another could pre-calculate data for a
specific UI (something that EDS otherwise is not able to do, because
conceptually it shouldn't know about the UI).
This was added by Mateusz Potrola in EDS upstream.