That being said, I would recommend three things:
1) Try to focus a little less on whether or not you've been treated as fairly as possible and look for ways you can improve things for everyone in the company. If you leave, someone else is going to have to deal with the same crap. Is there a way you can make it better?
2) Talk to higher management. Try to be objective and avoid blaming. Just identify things in the process that are causing you to feel unappreciated and ineffective. Could they involve you in more planning meetings? Could you start holding trainings to share knowledge among other developers?
3) Remember that you don't owe the company anything. You should absolutely be professional in all your dealings, but a job is a means to an end. If you aren't getting the pay, recognition, or satisfaction you're looking for, just look for another job. Companies live and die. Employees come and go. Don't get too emotionally tied to it.