My boyfriend changed, but is it too late?

Does anyone else had this kinda problem, how did you solve it?

Me F 18 and my Bf M 19 have been together for 2.5 years. We’ve had many problems because he often lied to me, yelled at me, or canceled our plans last minute to spend time with his friends instead. For example, there was a time he canceled on me because he wanted to go to a party (something that happened often). When I tried to suggest alternatives so we could still see each other, he called me, yelled at me, and told me I’d ruined his entire day. He even said he might as well come over because his day was already “ruined.” Another time, we went two weeks without seeing or texting each other because he said he was too busy. When we finally met, he casually mentioned having deep talks with another girl about her problems, even though he knew how much I was struggling emotionally at the time. For my 18th birthday, he almost canceled on me even though he was the one who encouraged me to celebrate. The day before my birthday, he tried again to back out, saying he “really wanted to go to this party” instead. In many situations, he has ignored my “no” and crossed my physical boundaries. He often makes tasteless jokes or says hurtful things and excuses them by saying he wasn’t thinking or that he “probably has autism” (even though he has never seen a doctor or been diagnosed).

When I bring up things that hurt me or weren’t okay, he either starts having panic attacks or tells me that his friends think I’m overreacting. He tries to gather support by saying things like, “Most people would agree with me.”

I’m also worried that he might be a “mama’s boy” because he always does what his mother says, no matter what. For example, when I recently tried to break up with him, he kept saying he couldn’t and wouldn’t live without me, which stressed me out a lot. The next day, we talked, and he promised to change (something he’s been saying for years). However, when he got home, he texted me, “I talked to my mom, and she thinks what you’re doing is really wrong. Honestly, I don’t think it’s okay either.” Another time, I gave him a gift, and his mom told him he couldn’t keep it in his room because the color didn’t match the rest of his decor. I feel trapped in this relationship. While he has started to take my needs more seriously and be there for me, I’ve been asking him to change for two years, and he never did. I’m emotionally exhausted, but I still love him and hold onto hope that things could work out between us.