On the contrary, we came to realize the security and stability issues caused by loading foreign code in-process.
Modern hardware is powerful enough to go back to classical UNIX IPC for plugins, while achieving security and host stability in the process.
Plus, shared memory is still a possibility for performance, with the same caveats as loading in-process foreign code.
It is also how Plan 9 works, everyone loves Plan 9.