A casual apology isn't enough to undo the damage inflicted, especially if it keeps on happening, as there seems to be nothing done to remedy the situation in the long run. Is he in therapy? If so, I'd say he's at least attempting to get healthy and would encourage your patience (not to be mistaken for acceptance!) as he straightens himself out. If he's not in any form of support, then it's up to you whether you'd like this situation to potentially continue indefinitely. By staying, the subliminal message we send, whether intentional or not, is that their behavior is acceptable to us, at least enough to stick around. As someone who's been in the same boat, you must for your own self-preservation learn to break the cycle. If he continues to fly off the handle verbally or otherwise, you can draw your line in the sand, informing him that his repeated harmful actions WILL have consequences. Then comes the hard part: enforcing those consequences.