Keep that due date in mind (the one-year anniversary in the Summer). Only you can decide how much of the bad treatment you can/should endure, and for how long. If it's not a healthy situation, then you have to pry yourself away from it.
Does the ex girlfriend know about the due date? Does she know she has til the one-year anniversary to improve? It doesn't sound like she's in any hurry to change; she just keeps doing the same things.
Be as fair as you can, to all parties involved including yourself.
Love means never having to say, "Put down that meat cleaver!"