I needed to visit org.org, the Org manual, today, and to my surprise saw Emacs writing some data files into the ~/.cache/org-persist/ directory. What's more, Emacs popped a buffer out of the blue telling me that it could not safely encode the data written to (I presume) some of those files, and asked me to select a safe coding-system.
By randomly poking here and there, I've succeeded to figure out that this is due to org-element's caching of data from parsing Org files. It seems this caching is turned on by default, but is not documented in the Org manual, and in particular there's nothing in the manual about turning off the caching. Please document the caching features of Org in the manual, including how to turn that off. (I also question the wisdom of turning this on by default without as much as a single request for confirmation from the user.) Please also make sure that the code which actually writes the data to the cache files makes a point of binding coding-system-for-write to a proper value (probably utf-8-unix), or forces buffer-file-coding-system of the buffer from which it writes to have such a safe value, to avoid annoying and unexpected prompting of the user to select a proper encoding. Lisp programs that write files in the background cannot fail to set a proper encoding, because the call to select-safe-coding-system is not supposed to be triggered by Lisp programs unless they run as a direct result of a user-invoked command. I've seen those problems in Emacs 29.3. If these issues are already solved in what will become Emacs 30, then my apologies, and kudos to whoever solved them. (However, the latest Org manual still keeps completely silent about these features and their control by users.) Thanks.