Contact restore from trash not working
Seems to be from here: https://github.com/civicrm/civicrm-core/commit/8e12bf072fe613c29da39614c8999a4041d7e1d2
In contactTrashRestore() it used to fall through to the code below which does the save(). Then by just copying that block to deleteContact() and calling self::create() it doesn't work because it's expecting
So would have started in 5.25.
The quick fix would be to use contact_id. But it sounds like there's a desire to deprecate this entire path of calling deleteContact in order to restore.