Bugfixes
* WG-47527 Multiple calls to disconnect cause hang
* WG-44991 Add support for subprocesses (Closes 1)
* Added check for None decoupler, otherwise null dereferencing when connection failed
Misc
* Updated pipfile to latest dependency versions
Prerequisites
The following packages are needed for the release process:
- build
- pipenv
- setuptools
- twine
- wheel
Steps
Update Pipfile.lock
Make sure the Pipfile.lock is up to date with the latest dependencies:
python3 -m pipenv update
Validate tests pass
To release a new version of waapi-client-python, make sure the test suite passes for all versions covered by `tox.ini`.
Bump version
The version is a field in `setup.py`: only bump the major on a breaking change.
Update the CHANGELOG
Make sure to update the CHANGELOG file with the latest changes for that release.
Explain any changes and/or limitation, and the impact it has on users of the library.
Test install from the pypitest server
To test the package installs correctly, first package it with the following command:
Run from clone root, first install the `build` package if you don't have it
python3 -m build --wheel --sdist .
Then, upload to the `pypitest` to make sure the install process works.
You will need to first log into test.pypi.org, enable 2-factor authentication and generate an API token at
https://test.pypi.org/manage/account/token/ (or go to your Account Settings, scroll down to the "API tokens" section and
click on "Add API token"). Make it a project-scope token only to waapi-client.
Once this is done, copy the token and run:
Run from clone root, first install the `twine` package if you don't have it
python3 -m twine upload -r testpypi dist/*
When asked for a username, enter `__token__` and paste the token you generated at password input.
If successful, you can validate the package installs correctly by doing:
python3 -m pip install -i https://test.pypi.org/simple/ waapi-client
Upload on the real server
You can do the same as the above on the real server:
python3 -m twine upload dist/*
Again, confirm the version installs correctly.
Release on Github
Finally, release the code on Github with a version tag.
Tag the HEAD commit of master you uploaded with