OP, that's WONDERFUL news!! Well done for ending it. I know it's not as easy as we all think it is when it comes to other people, but at the end of the day, you say you've split before and gone back, with hopes of 'things being better this time', only to find that they're not. So please do yourself, and your children a HUGE favour, and make this the last time that you put yourself through the pain of breaking up, with no doubting yourself, or second thoughts.
I'm sure from all the responses you've had to this thread, it is now clear to you that his behaviour is NOT acceptable, and that it's not a case of 'if only you did this' or 'if only you did that' things would be better and he'd treat you the way you'd like him to, but the fact is, that NOTHING you do will ever change him! He's NOT the man you met anymore, and in actual fact probably never was, but he acted a part, to get, and keep you interested in the early stages, then couldn't keep it up. So now that the mask has slipped, and he's found out that he can just treat you like shit, you'll have a massive row and throw him out, but then a bit of sweet talking, and a few promises to change, which he already knows he won't keep, and you're back where it suits HIM, and he reverts to type.
A while ago someone told me a saying which may well be appropriate in your case, it is this:
If you always do, what you've always done, then you'll always get, what you always got.
Think about it!
This is what you've been doing over recent years, so if you keep doing it, you'll end up back here again, in the same old pattern.
Wishing you all the VERY BEST! Stay strong, you CAN do this!!