Some of the details that got out about what happened at Rivian:
Problem cause #1: to push an update, you had to cut and paste various version numbers together onto a command line. Someone messed that up, oops, meant to say this instead of that.
Problem cause #2: bad test strategy. The dev tested it before he pushed it, so no worries? Except the dev test vehicle was a "special test car" that had extra security tokens on it. So the install worked and test passed. But regular cars didn't have those certs.
So lots of obvious things to fix there. No command line mucking about to push a real production release! And test the final thing on a regular fucking car with no special dev stuff.
Tesla has multiple hardware versions, and their main panel of the original S has a v1 and v2 main console hardware. They pushed a release once that broke things in the map for the original version that caused it to use an excessive amount of cpu. I got this one, seems like it just made everything really really slow and some things failed. It took them like a 6 weeks or more because they got around to undoing the fix. I think part of that was all of them had the updated cpu so they didn't see it. It was still driveable, just degraded infotainment ui.
VW has had software updates that they would not push over the air because they took so long the 12v battery could run out before it finished, risking bricking the car (main battery couldn't charge the 12v during os update). Solution, bring your car to the dealer to do the update. Apparently also considered giving everyone a better 12v battery.