- Add support for Python 3.14 (PR 145
- Allow passing a base branch that doesn't have version info
(PR 70
- This makes cherry-picker useful for projects other than CPython that don't have versioned branch names.
- Add support for Python 3.13 (PR 127, PR 134)
- Drop support for EOL Python 3.8 (PR 133, PR 137)
- Resolve usernames when the remote ends with a trailing slash (PR 110)
- Optimize
validate_sha()
with--max-count=1
(PR 111) - Make # replacing more strict (PR 115)
- Remove multiple commit prefixes (PR 118)
- Handle whitespace when calculating usernames (PR 132)
- Publish to PyPI using Trusted Publishers (PR 94)
- Generate digital attestations for PyPI (PEP 740) (PR 135)
- Add log messages
- Fix for conflict handling, get the state correctly (PR 88)
- Drop support for Python 3.7 (PR 90)
- Mix fixes: #28, #29, #31, #32, #33, #34, #36
-
Support the
main
branch by default (PR 23). To use a different default branch, please configure it in the.cherry-picker.toml
file. -
Renamed
cherry-picker
's own default branch tomain
- Use
--no-tags
option when fetching upstream (PR 319)
-
Modernize cherry_picker's pyproject.toml file (PR #316)
-
Remove the
BACKPORT_COMPLETE
state. Unset the states when backport is completed (PR #315) -
Run Travis CI test on Windows (PR #311)
- Implement state machine and storing reference to the config used at the beginning of the backport process using commit sha and a repo-local Git config. (PR #295)
- Relaxed click dependency (PR #302)
-
Validate the branch name to operate on with
--continue
and fail early if the branch could not have been created by cherry_picker (PR #266) -
Bugfix: Allow
--continue
to support version branches that have dashes in them. This is a bugfix of the additional branch versioning schemes introduced in 1.2.0. (PR #265). -
Bugfix: Be explicit about the branch name on the remote to push the cherry pick to. This allows cherry_picker to work correctly when the user has a git push strategy other than the default configured (PR #264).
-
Add
default_branch
configuration item. The default ismaster
, which is the default branch for CPython. It can be configured to other branches like,devel
, ordevelop
. The default branch is the branch cherry_picker will return to after backporting (PR #254 and Issue #250). -
Support additional branch versioning schemes, such as
something-X.Y
, orX.Y-somethingelse
. (PR #253 and Issue #251).
- Change the calls to
subprocess
to use lists instead of strings. This fixes the bug that affects users in Windows (PR #238).
- Add
fix_commit_msg
configuration item. Setting fix_commit_msg totrue
will replace the issue number in the commit message, from#
toGH-
. This is the default behavior for CPython. Other projects can opt out by setting it tofalse
(PR #233 and aiohttp issue #2853).
- Support configuration file by using
--config-path
option, or by adding.cherry-picker.toml
file to the root of the project (Issue #225)