it's recommended to have separate commit for each change
order in commit messages when multi line needed:
- pub: x.x.x /** publish in package repository version: semver majon.minor.bugfix == breaking.feat.fix */
- breaking: /** explanation of breaking change */
- feat: /** added a feature */
- fix: /** bug fix */
- enhance: /** improve existing functionality (mostly performance) */
- depricate: /** deprication of existing functionality */