WordPress permalink change causes all incoming links to give 404 errors

In your .htaccess file put:

RewriteCond %{REQUEST_URI} \.html$
RewriteRule (.*).html$ /$1/ [R=301,L]

That should redirect with a “moved permaently” from the .html pages to pages with the endings stripped. It should probably go above your WordPress rules. It should even preserve query strings– at least it did when I tested it.