Most issue tracking systems have only single status field.
Typical Status: New -> Fixed
When code is pushed to repository with commit message "Fixed issue #1234", the issue #1234 is automatically mark as "Fixed".
I have the below idea but no system can fulfill.
The question is: Am I right or just not finding the suitable tool?
Programming status
I think this is problematic because only the programmer says he has fixed an issue.
QA / release status
It is not possible to know if QA team has verified or not. There is no place for QA team to mark the status.
Also, even for open source projects, the end-user may not want to compile from source.
The end-user is only interested in whether he can get a release version.
If the new release is not ready to ship, from the point of view of the user, it is nothing "Fixed".
Feedback status
It is also useful if the user can set the "feedback status" to "Fixed" after testing the released version or source code, rather than leaving a comment "Thanks, it works!".
Status fields are searchable.