These are just my top 5.
* vim.diagnostic (see gpanders talk at https://www.twitch.tv/videos/1220189913?t=00h58m27s)
* vim.json (api-fast safe json deserialization with vendored lua-cjson)
* virtual lines (https://github.com/neovim/neovim/pull/15351)
* lua bindings to xdiff (https://github.com/neovim/neovim/pull/14536)
* a million bugfixes as you say :)
I personally worked on fixing utf handling around the built-in language server client, rewriting the incremental sync algorithm, vim.json (the built-in language server client is now fine with typescript-language-server thanks to the deserialization improvements), amongst various other small improvements.