We use JIRA specifically for this. Commit messages are JIRA ticket numbers and a short message to provide some context.
In JIRA we document what was requested/reported and which customer the issue affects/came from. We attach relevant documents and link it to possible related tickets. If a case is unclear we send it back to support and get additional info.
Once we commit we comment if needed to provide additional details. Our build pipeline then updates the ticket with build numbers after the issue is resolved so we know which versions has the build, which is pulled by our update distribution mechanism.
This way customers will get a notification when a new version is available that has a fix for one of their issues.
We then assign it to someone on support so they can follow up with the customer and verify that the issue is resolved, or we get the issue back with more details.
This way it's easy for both support, devs and management to see what's going on, and it has the needed context in case someone else has to take over.
Not saying JIRA is perfect by any means, but this works quite well for us. I should mention though that we use on-premise install so speed is not an issue for us. By the sound of things we'll be finding some alternative once that option is gone...
It's a shitty documentation system because it's extremely hard to find that organically, but people do use Jira as documentation.
Sadly it developed from a tiny, quick, useful note to a documentation slog when a new project manager joined and wanted a long description of everything typed into the ticket. So I ended up killing Jira altogether.
I don’t think the problem was jira, it’s just in project management thinking that it is the most important part and the dev work is subservient or easy.
When has JIRA actually been effective as the documentation for a bugfix? JIRA in its most effective will just tell you whether we agreed to do this work and the state the work is in. It is not "documentation."