I'm a math PhD student in the western world. Last year, I solved a question that my advisor hadn't solved himself. This led to conflict between us, in which we he would tell me things like "solving this problem won't get you a job", "you should consider industry", etc.
I applied for postdocs independently, without substantial support from him. He did write me a recommendation though. I managed to generate interest from some top people in my field, and got a postdoc I wanted.
I recently again got a result that supersedes his previous work. This is related to the above problem as well. There are minor flaws that can be ironed out easily. My advisor magnified those errors, told me that it is all completely wrong and far from a solution, and told me to forget about this problem and do something completely outside of my current expertise. When I asked him if I should publish my results when I managed to iron out the flaws, he told me I should completely forget about it for now. He then suggested five different things I should do instead of this problem.
The troubling part is that my advisor first blurted out a way to iron out the tiny flaws. Then he went back on his own comment and said that this strategy would never work, and I should forget about it.
I don't trust my advisor's judgement anymore.
Should I change advisors? This is the last semester of my PhD.
Should I not publish these results? They are important, but not enough for the very top journals. However, publishing them will obviously destroy ties with my advisor forever.
Should I completely change fields? This would reduce conflict with my advisor.