In Angular 12, if outputHashing=all, it produced hash code as [0-9a-z]{16} format.
like this, main-0123456789abcdef.js
But Angular 18, it produced hash code as [0-9A-Z]{8} format.
like this, main-0123ABCD.js
Is this something wrong with my build environment? I want to confirm if this action is correct.
A freshly generated Angular 12 project uses Webpack for building, while a freshly generated Angular 18 project uses esbuild.
You can find more information about this change in the docs. So the underlying technology for building the project has changed. You can see in their respective docs that the Webpack hashes have a different format than the esbuild hashes. This is totally fine, there is nothing wrong with your app.