Currently, when using the rclone rc core/transferred API, rclone returns the last 100 completed transfers.
This is not a particularly useful approach for an API. What I'd really like to know is: "Which transfers have completed since I last polled rclone?" This is far more useful because:
I don't have to worry about setting a polling interval too short that I'm wasting CPU or too long that I "drop" transfers because rclone exceeds the limit.
I don't have to constantly de-dupe the results to ignore transfers I already saw the last time I called the API.
rclone won't run out of RAM because it will still prune completed transfers after each call I make—the new approach could be placed behind a flag so that the user knows they're opting-into a contract: "call to get transfer information periodically or rclone will eventually seize on large operations."
I do see where pruneTransfers() is implemented and where the 100 limit is set, but I can't figure out where the core/transferred RC command is handled to actually get the completed transfers. (I was attempting to put together a PR for the feature.)