As long as he fully takes on the burden of guilt for what he has done, I can see a relationship moving forward. Obviously, if he ever reaches a point where he is REVERTING to his older self and starts punching walls, you’ll know that he has not changed and you should leave.
He didn’t tell you everything because those are his feelings, his secrets, his story and life. He may truly feel immense guilt, embarrassment, shame, to flood you with the whole truth, all the damage he’d done when he was at his lowest, losing you, why would he do that?
If he can prove that he’s a good man now, give him a chance. Looking deeper into his past isn’t going to change the future between you, it will only make you more afraid of what comes next. Only look at the face value, his current self, and how he treats you, to gauge where you will be heading.
I personally, think people can change. Cheaters, abusers, but very much like a sex offender, once you say that you are XYZ it truly burdens any prospects you have, he may feel like you, as a prospect, could disappear. I think it’s ok to keep secrets, some, to protect the things you love. As long as you don’t hurt anyone, you are doing ok. Now obviously if someone hurts you, the bridge is burned, fuck change, get out of my life. You never ever give people who cross that boundary against you another chance. So if he ever does, get out.
A lot of people will tell you to leave, but I wouldn’t unless he shows you he hasn’t changed. Bad people can become good, and contextually, he could have been broken by these women and truly became someone he wasn’t. Two bad ex’s in a row isn’t implausible, and I do not condone violence, I’ve been broken and have never laid a hand on anyone.
It’s a tough nut to crack, keep that fear close, but don’t let it burn something good. It will tell you when you should leave.