Improve changelog and make it uniform
The problem:
- different crates have different changelog formats... we don't have one guide for changelog writing
- we forget to update changelog in MRs then it's a lot of work for release time
- entry in changelog is a summary and we don't have real link to complete issue/MR
The questions:
- what do we consider breaking change? is it API change? behavior change? both? is it breaking change if we fix a bug and stick to the documented behavior?
- what categories do we want in changelog? breaking changes, improvements, bugfixes, minor changes?
- can we have links to docs.rs and to issues/MRs in the changelog? i know @ppjet6 hates this but maybe i can export the markdown changelog to txt without links in CI? so we have CHANGELOG.md and CHANGELOG.txt with same content?
- can we enforce changelog edit in CI? even for minor changes just add it to "minor changes" section so we're sure we forget nothing? should CI amend the commit replacing "!THISMR" with the actual MR number in changelog files?