Release Notes#
2.5.0#
New Features#
The
series list
andpatch list
commands now support--since
and--before
filters to list items created since or before a given date-time.
2.4.0#
New Features#
The
patch apply
command will now respect thepw.applyPatchDeps
git config option. This can be a boolean value (one of:yes
,on
,true
,1
,no
,off
,false
,0
).
Python 3.11 is now officially supported and tested.
2.3.0#
New Features#
Support for Python 3.10 has been added.
Upgrade Notes#
Support for Python 3.5 and 3.6 has been dropped.
2.2.0#
New Features#
The
-f
/--format
option used for manylist
commands now supports a new option:yaml
. This can be useful in environments where limited horizontal space is available.
2.1.0#
New Features#
The
series download
command now accepts an optional toggle flag pair,--separate
/--combine
, to either download series patches to separate files or to a combined mbox file (default).
The
patch download
,bundle download
, andseries download
commands now accept a directory for theOUTPUT
argument as well as a file. If a directory is provided, the file will use the name provided by Patchwork but will be downloaded to the specified directory rather than the current working directory.
It is no longer necessary to provide credentials when interacting with read-only APIs. You will continue to be prompted for credentials for write access.
2.0.0#
New Features#
It is now possible to filter patches by hash. For example:
git pw patch list --hash HASH
1.9.0#
New Features#
The following
bundle
commands have been added:bundle create
bundle update
bundle delete
bundle add
bundle remove
Together, these allow for creation, modification and deletion of bundles. Bundles are custom, user-defined groups of patches that can be used to keep patch lists, preserving order, for future inclusion in a tree.
These commands require API v1.2.
Other Notes#
git-pw 1.9.0 will be the last version to support Python 2.7. git-pw 2.0.0 will require Python 3.5 or greater.
1.8.0#
New Features#
The
--state
option of thegit pw patch update
command now supports auto-complete for the default set of states provided by Patchwork. If necessary, these states can be overridden using thepw.states
git config
setting.
1.7.0#
Upgrade Notes#
git-pw no longer officially supports PyPy.
CSV-formatted output is now quoted by default.
Bug Fixes#
Resolved an issue that prevented viewing patch diffs/mboxes in stdout on Python 3.
An info-level log is now correctly skipped when downloading patches, bundles or series to
STDOUT
on Python 3.
An issue with the unicode data when using the CSV format on Python 2.7 has been resolved.
1.6.0#
Upgrade Notes#
Support for Python 3.4 has been dropped.
1.5.2#
Upgrade Notes#
Downloaded patches, series and bundles are now saved to a temporary directory instead of the current directory.
Bug Fixes#
An issue that resulted in invalid output on Python 3 when a patch or series was not successfully applied has been resolved.
1.5.0#
New Features#
Many commands now take a
--format
/-f
parameter, which can be used to control the output format. Three formats are currently supported:table
(default)simple
(a version of table with less markup)csv
(comma-separated output)
All list comands now take a
--column
/-c
parameter, which can be used to control what columns are output. This can be specified multiples times. All columns are output by default.
1.4.0#
New Features#
It is now possible to filter patches, bundles and series and the IDs of users that submitted or are delegated to the item in question. For example:
$ git pw patch list --submitter 1
Filtering patches, bundles and series by user will now only display a warning if multiple matches are found for a given filter and you’re using API v1.0. Previously this would have been an unconditional error.
Bug Fixes#
Resolve an issue that prevented the following filtering when using API v1.1:
Filter patches or series by submitter using the submitter’s name
Filter patches by delegate using the delegate’s email
Filter bundles by owner using the owner’s email
1.3.0#
New Features#
git-pw will now choose use the same rules as Git to select the pager used for
list
commands. This means the pager will be chosen based on a variety of environment variables and git config options:The order of preference is the
$GIT_PAGER
environment variable, thencore.pager
configuration, then$PAGER
, and then the default chosen at compile time (usuallyless
)
Upgrade Notes#
git pw patch apply
,git pw bundle apply
andgit pw series apply
will now pass any additional arugments provided through togit am
. For example:$ git pw patch apply 123 --signoff
Previously it was necessary to escape these arguments with
--
.
A warning is now raised when using multiple filters (e.g.
git pw bundle --owner foo --owner bar
) with Patchwork API v1.0. This is not supported and will result in confusing results.
1.2.0#
New Features#
Patchwork API v1.1 is now supported.
Patches, series and bundles downloaded using the
download
command will now be saved to a file by default instead of output to stdout. By default, this will use the name provided by Patchwork but you can override this by passing a specific filename. For example:$ git pw patch download 1234 hello-world.patch
You can also output to
stdout
using the-
shortcut. For example:$ git pw patch download 1234 -
You can now list multiple patches for
git pw patch update
. This allows you to do bulk updates, e.g. for a series of patches (because series states are not yet supported). For example:$ git pw patch update --state accepted 123 124 125 126
It’s now possible to use a bundle name in addition to the numeric ID for the
bundle download
,bundle apply
andbundle show
commands. For example:$ git pw bundle show 'My sample bundle'
As bundle names are not necessarily unique, this will fail if multiple bundles match the provided string.
Upgrade Notes#
Configuring a server without the API version, e.g. via
git config pw.server
will now result in a warning. An error will be raised in a future release of git-pw.
Patches, series and bundles downloaded using the
download
command will now be saved to a file by default. To continue outputing tostdout
, use-
. For example:$ git pw patch download 1234 -
Bug Fixes#
HTTP 404 and HTTP 5xx errors are now handled correctly.
1.1.2#
Bug Fixes#
Patches are now automatically filtered by
new
state, as originally intended. You can override this by specifying the--state
filter.
Some issues with filtering patches, series and bundles by submitters and delegates, submitters, and owners respectively are resolved.
API errors are now handled correctly.
1.1.0#
Upgrade Notes#
Project configuration, e.g. via
git config pw.project
, is now required. Previously, not configuring a project would result in items for for all projects being listed. This did not scale for larger instances such as patchwork.ozlabs.org and proved confusing for some users. If this functionality is required, you must explicitly request it using the*
character, e.g.git pw patch list --project='*'
.
Bug Fixes#
The
git pw {patch,series,bundle} apply
commands will now save the downloaded patches before applying them. This avoids ascii/unicode issues on different versions of Python and avoids the need to load the entire patch into memory.
Other Notes#
Python 3.2 and 3.3 are no longer supported as both versions are EOL.
1.0.0#
Prelude#
Initial release of git-pw using the new REST API provided in Patchwork 2.0