Versioning, Changelog and CI

Maybe this is not the best forum for this question but, here goes.

I am building, primarily, a PWA.
I auto-increment my Version in my build script using NPM version.
eg: "build-patch": "npm version patch --force && node versionup.js && ng build --prod"

This will increase my version (patch) in the package.json and rewrite a file called version.ts in my environments folder. The version.ts is accessible in the app at runtime for visual display to the user and referencing against during @angular/service-worker updates.available handler (for detecting PWA version changes).

I am using CircleCI for Continuous Integration.
Upon a git commit/push, CircleCI will build this new version and deploy it to my server.

This works but I doubt it is standard practice.
How do You handle this?

I am also looking for suggestion for Changlog writes. I am not looking for just GIT changes. I would like it more personalized with descriptions better understood by end users of the app.
I’m not sure if the changelog would be better created as a file during this build process or just created in a database and edited as desired.

Opinions?