Implement versioning
While the crate itself has a version, other places are lacking proper versioning:
- [x] GitHub releases
- [x] Git tags
- [ ] Versioning strategy (especially once there's a v1.0.0)
- [x] Changelog
- [ ] ~~A
version() -> Stringfunction for themagiccrate itself~~ - [ ] Version requirements for
libmagic- [x] A
libmagic_version()function, possibly inmagic-sys
- [x] A
- [ ] Version in rustdoc (cf. JavaDoc's
@since) - [ ] Version/milestones in issues
Starting with bf8b93dee7f5cf768b8ba16759cbb6bdb95a3b47, bumpversion is being used to increment the version number.
bumpversion can create Git tags, which in turn are GitHub releases (tags for previous versions were added manually).
The releases however have no description (they should contain a relevant snipped of the CHANGELOG).
35445ae4e98ae631271a5ac2fcf1d365837ad0fc changed the recommended version snippet, which means that cargo update --package magic should result in the newest semver compatible release.
This is not neccessarily true for pre-v1.0, since I don't care for backwards compatibility now.
A changelog (see e.g. #70) and GitHub releases should be added by #69 Remains to be seen if
- the generated GitHub releases include the partial changelog ✔️ see https://github.com/robo9k/rust-magic/releases/tag/v0.15.0
- the changelog can be backfilled manually for previous releases old releases seem to remain untouched by new releases, so they're still "TBD"