Gallopsled / Gallopsled/pwntools
Pwntools v5 - Breaking changes roadmap
- Dominant language
- Python
- Stars
- 13.7k
- Forks
- 1.9k
- Avg merge
- 6d 23h
- Merged PRs (30d)
- 3
Description
With Pwntools 5 we'd like to clean up the codebase and get rid of some legacy features like support for Python 2. This issue can be used to keep track of all the changes which were on hold until a major version bump.
- [x] Drop Python 2.7 support / Require Python 3.10 #2519
- https://github.com/Gallopsled/pwntools/pull/2535
- [ ] Python 3.8+ type hints
- [ ] Add pyproject extras to make pwntools installs slim by default https://github.com/Gallopsled/pwntools/pull/2245
- [ ] Remove deprecated commandline tools https://github.com/Gallopsled/pwntools/issues/2361
- [ ] Possibly switch ELF class to [LIEF](https://github.com/lief-project/LIEF) to allow easier PE / machO support
- [ ] Proper Windows support
- https://github.com/Gallopsled/pwntools/pull/2524
- [ ] Switch order of `keepends` and `drop` commands of `tube.recvline`? https://github.com/Gallopsled/pwntools/pull/2476
- [ ] Strip newline in `tube.recvline` family of functions by default
Please leave a comment for anything missing or concerns.
Contributor guide
Research direction
Start by reviewing the unchecked roadmap items and their linked pull requests or issues, including #2245, #2361, #2476, #2524, and the LIEF proposal. Each item needs its scope and acceptance criteria clarified before work begins. Done would mean implementing and separately validating an agreed change, then updating this checklist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100