CHANGES
=======

2.4.0
-----

* Release 2.4.0
* CI: Switch to pypa/gh-action-pypi-publish@release/v1
* Add Python 3.11 support

2.3.0
-----

* Fix release note
* Add release note for version 2.3
* api: Differentiate between archive None and False
* docs: Actually configure reno to use the main branch
* docs: Configure reno to use main branch
* setup: Set content type of README, avoid aliases
* CI: Update to latest versions of various actions
* Remove unnecessary verbosity from GitHub actions
* Fix 'apply', 'view'
* Remove unnecessary check for missing args
* Fix 'check\_get' command
* api: Use consistent variable naming

2.2.0
-----

* Add release note for version 2.2
* Add release note for PWCLIENTRC env var feature
* Allow reading pwclientrc path from environment (#16)
* mypy: Fix failing job
* pre-commit: Remove Python version specifier
* Create git-blame-ignore-revs file
* Add black configuration
* Blackify code
* Add '[$project] backend' config value
* Add REST API proxy layer
* Add '\_\_version\_\_' attribute
* Resolve check-related TODOs
* Resolve TODOs
* Move handling of mbox name to API layer
* Harden XML-RPC API proxy
* Move filtering to API proxy layer
* Integrate new pwclient.api module
* Add API proxy layer
* Remove 'Filters' object
* Don't build patch filters in 'pwclient.shell'
* Remove support for ancient XML-RPC API version
* parser: Generate help for check-list, check-create
* Add Python 3.10 support, drop 3.6 support

2.1.0
-----

* man: Update manpage
* Align check-get with other commands operating on patch IDs
* requirements: Remove version caps on dependencies
* tests: Replace mock with unittest.mock
* Remove remnants of Python 2 support
* README: Add build status
* Remove references to Travis
* Switch to GitHub Actions
* pre-commit: Update to Python 3
* tox: Use correct interpreter in Travis

2.0.0
-----

* action\_get: Fix race condition in patch creation
* Drop Python 2.7, 3.5 support
* action\_info: properly handle patch properties being encoded in utf-8

1.3.1
-----

* man: Update manpage for 'check-get'
* utils: Correct encoding
* Ignore redefined variable

1.3.0
-----

* pwclient: Add check-get subcommand
* .pwclientrc: Inital section is called "options"

1.2.0
-----

* Add release note for 'git-am -m' flag
* pwclient: support 'git am -m'
* Integrate 'pre-commit'

1.1.1
-----

* requirements: Make requirements less strict
* Drop PyPy testing
* setup.cfg: Specify support Python versions
* Ignore mypy cache
* trivial: noqa duplicate import
* travis: Re-generate password
* tox: Minor cleanups
* tox: Run flake8 over tests too

1.1.0
-----

* tox: Add all targets to default list
* shell: Trivial cleanup
* shell: Start using argparse.Namespace object directly
* parser: Add long-opts for most arguments
* shell: Only retrieve args where they're needed
* utils: Use SPDX license header
* patches: Encode string if on Python 2.7
* patches: Handle exceptions from Popen
* patches: Centralize how we grab mboxes
* patches: Use a sane variable name
* Split out 'action\_view' function

1.0.0
-----

* gitignore: Ignore 'build' directory
* setup.cfg: Update classifiers
* tests: Handle different argparse versions
* doc: Update manual setup description
* Add manpage generation support
* docs: Integrate 'sphinxcontrib.autoprogram'
* Add 'pwclient.parser'
* Add 'pwclient.utils'
* Add 'pwclient.patches'
* Add 'pwclient.states'
* Add 'pwclient.checks'
* Add 'pwclient.people'
* Add 'pwclient.projects'
* Add 'pwclient.xmlrpc'
* Various other parser improvements
* Replace invalid use of parser failure
* Convert '-h' to a flag
* Cleanup parser help messages
* Integrate travis
* Add more tests
* Add initial tests
* Make argv configurable
* py3: Remove use of 'string.strip()'
* trivial: Remove dead code
* trivial: Remove unused variable
* gitignore: Ignore reno artefacts
* docs: fix config example and restructure layout
* Fix return code when getting patch information fails
* docs: Document the format of the pwclientrc file
* docs: Populate README
* Convert to a package
* Import from Patchwork master
* Update license header
* pwclient: Fix pwclient am output formatting
* pwclient/get: Add suffix to created patch
* Fix sy -> sys in pwclient error path
* pwclient: Resolve pycode warnings
* pwclient: Force xmlrpc client to return unicode strings
* pwclient: Fix silent crash on python 2
* pwclient: support 3-way merge
* bin/pwclient: accept alternate http\_proxy forms
* trivial: PEP8 fixes
* pwclient: Fix encoding problems
* pwclient: Fix Python 3 encoding of received strings
* pwclient: Support proxy configuration
* pwclient: Rework HTTP authentication
* trivial: Resolve pep8 issues
* bin/pwclient: fix spurious except catch
* trivial: Remove broad exceptions where possible
* pwclient: Unhardcode prints to ~/.pwclientrc
* pwclient: Fix typos
* pep8: Remove errant line
* pwclient: Add 'check-info' command
* pwclient: Make 'check-list' a little more useful
* pwclient: Rename 'checks' -> 'check-list'
* pwclient: Fix bug with 'checks' target
* xmlrpc: Add a check\_create function
* xmlrpc: Treat negative max\_count as meaning "return last N results"
* pep8: Manually resolve remaining issues
* pep8: Autoresolve most PEP8 issues
* pwclient: Integrate 'checks' endpoint
* pwclient: use argparse's error() function for bad input
* pwclient: rework multi-command help text
* pwclient: require one or more of pwclient -{a,s}
* pwclient: dict.iteritems() is deprecated in Python 3
* pwclient: basic python3 support
* pwclient: use print\_function for better py3 compatibility
* pwclient: handle missing ~/.pwclientrc better
* pwclient: honor PAGER for view
* pwclient: support 'archived' filtering and updating
* pwclient: drop unused variables
* pwclient: exit on first patch which fails to apply
* pwclient: add project option to single-patch commands
* pwclient: add %{\_msgid\_} to print message-id without surrounding < and >
* pwclient: add output format option to list/search command
* COPYING: Add the text of the GPLv2 license
* pwclient: Remove unhandled action 'save'
* pwclient: Rephrase patch\_ids iterator
* pwclient: Simplify argument handling
* pwclient: add --help / -? to all sub commands
* pwclient: preserve ordering of patch ids
* pwclient: diagnose hash\_parser errors gracefully
* pwclient: allow multiple IDs
* pwclient: support signoff in the pwclientrc
* pwclient: Remove now obsolete usage()
* pwclient: simplify hash/id handling
* pwclient: add git-am -s support
* pwclient: accept more than one project in ~/.pwclientrc
* pwclient: rename variable CONFIG\_FILES to be singular
* pwclient: fix handling UTF-8 in patch info
* pwclient: Add a little more space in 'pwclient list'
* pwclient: Add command for printing patch info
* pwclient: lookup patch\_id given Message-Id
* pwclient: Pass input to git-am as a UTF-8 string
* patchwork: new pwclient git-am action
* templates: Fix pwclient no-match messages
* pwclient: fix handling of UTF-8 char in submitter name
* pwclient: allow authenticated https connections
* pwclient get: fix for handling messages encoded in UTF-8
* pwclient: fallback to patch\_get\_by\_hash
* pwclient,xmlrpc: Specify project for patch hash lookups
* pwclient: Add newline to 'no hash' message
* pwclient fix for handling messages with UTF-8
* pwclient: Get rid of underscore to dash replacement
* Allow pwclient to accept patch hashes
* Rename pwclient.py to pwclient
* Add usage info for pwclient 'update' action
* Add 'update' method to pwclient
* Use config file for pwclient settings
* Add XML-RPC interface and command line client
