Version Tags/Branches
See original GitHub issueIs your feature request related to a problem? Please describe.
PyPi is really the only versioning in use but development moves much faster than that and there is no unified way to ensure, for example, a version of angr matches a version of CLE where some feature/bugfix was implemented. #1448 will partially resolve this but I can’t checkout a __version__
from a repo.
Describe the solution you’d like
- Add git tags to the repos for packages’ major/minor releases.
- When changes are merged to multiple repos for features/bugfixes (e.g., the ARM CFG party branches), require at least a minor version increment across them all and document it somewhere.
- Bonus: I’m partial to an “angr suite” version number that documents/pins each repo’s major/minor/revision so we know, for example, “Feature X came in ‘angr suite’ v9.1.234, which uses angr v9.1.3, CLE v9.2.1, claripy, archinfo, etc etc”.
Please include a sample of what should work if this feature is implemented.
Like with #1448, scripts can check package.__version__
and documentation can specify major/minor versions that can be checked out via git tags.
Bonus: Scripts could also check something like angr.__platform__
(or whatever) where the “angr suite” version lives. My documentation can specify “we target ‘angr suite’ v9.1.234; based on angr/angr/suite_ver.md
checkout the tagged versions for each package.”
Describe alternatives you’ve considered For some internal projects, the only practical solution for me is manually documenting commit hashes across all the repos.
Additional context It helps with documentation for projects, papers, write-ups, etc. For example, on CHESS, I’d like to document that my plugins and patches require specific major/minor versions so I can target them and not worry about breaking changes merged to master in the future.
Issue Analytics
- State:
- Created 4 years ago
- Comments:11 (9 by maintainers)
Top GitHub Comments
Yes, we can specify dependencies on specific hashes in a pypi package.
This issue has been closed due to inactivity.