Version Control System
Projects MUST use a Version Control System to ensure changes to the code source are properly tracked and individual changes can be identified and referred to easily. git is the most widespread tool in use those days but there are many good tools to choose from.
When releasing a new version of a software package, projects MUST use tags or any similar mechanism -- symbolic reference -- to identify in the VCS the revision that corresponds to the newly released package. This tag MUST match the version number of the released package such that it's straightforward to link both.
Projects SHOULD document their tagging convention.
- Version 
1.2.3of a packageXcould be tagged as1.2.3orv1.2.3orX-1.2.3, etc. - Project 
Preleasing two packagesXandYrespectively with version1.2.3and2.3.4could tag the same revision withX-1.2.3andY-2.3.4