Changelog¶
This project follows the semantic versioning and pre-release versioning schemes recommended by the Python Packaging Authority.
Twine 3.4.1 (2021-03-16)¶
Twine 3.4.0 (2021-03-15)¶
Twine 3.2.0 (2020-06-24)¶
Features¶
Improve display of HTTP errors during upload (#666)
Print packages and signatures to be uploaded when using
--verbose
option (#652)Use red text when printing errors on the command line (#649)
Require repository URL scheme to be
http
orhttps
(#602)Add type annotations, checked with mypy, with PEP 561 support for users of Twine’s API (#231)
Twine 3.1.1 (2019-11-27)¶
Twine 3.1.0 (2019-11-23)¶
Twine 3.0.0 (2019-11-18)¶
Features¶
When a client certificate is indicated, all password processing is disabled. (#336)
Add
--non-interactive
flag to abort upload rather than interactively prompt if credentials are missing. (#489)Twine now unconditionally requires the keyring library and no longer supports uninstalling
keyring
as a means to disable that functionality. Instead, usekeyring --disable
keyring functionality if necessary. (#524)Add Python 3.8 to classifiers. (#518)
Twine 2.0.0 (2019-09-24)¶
Twine 1.15.0 (2019-09-17)¶
Twine 1.13.0 (2019-02-13)¶
Features¶
Bugfixes¶
Restore prompts while retaining support for suppressing prompts. (#452)
Avoid requests-toolbelt to 0.9.0 to prevent attempting to use openssl when it isn’t available. (#447)
Use io.StringIO instead of StringIO. (#444)
Only install pyblake2 if needed. (#441)
Use modern Python language features. (#436)
Specify python_requires in setup.py (#435)
Use https URLs everywhere. (#432)
Fix –skip-existing for Nexus Repos. (#428)
Remove unnecessary usage of readme_render.markdown. (#421)
Don’t crash if there’s no package description. (#412)
Fix keyring support. (#408)
Twine 1.11.0 (2018-03-19)¶
Features¶
Bugfixes¶
Twine 1.10.0 (2018-03-07)¶
Features¶
Bugfixes¶
Degrade gracefully when keyring is unavailable (#315)
Fix changelog formatting (#299)
Fix syntax highlighting in
README
(#298)Fix Read the Docs, tox, Travis configuration (#297)
Fix Travis CI and test configuration (#286)
Print progress to
stdout
, notstderr
(#268)Fix
--repository[-url]
help text (#265)Remove obsolete registration guidance (#200)
Twine 1.8.1 (2016-08-09)¶
Misc¶
Check if a package exists if the URL is one of:
https://pypi.python.org/pypi/
https://upload.pypi.org/
https://upload.pypi.io/
This helps people with
https://upload.pypi.io
still in their.pypirc
file.
Twine 1.8.0 (2016-08-08)¶
Features¶
Switch from upload.pypi.io to upload.pypi.org. (#201)
Retrieve configuration from the environment as a default. (#144)
Repository URL will default to
TWINE_REPOSITORY
Username will default to
TWINE_USERNAME
Password will default to
TWINE_PASSWORD
Allow the Repository URL to be provided on the command-line (
--repository-url
) or via an environment variable (TWINE_REPOSITORY_URL
). (#166)Generate Blake2b 256 digests for packages if
pyblake2
is installed. Users can usepython -m pip install twine[with-blake2]
to havepyblake2
installed with Twine. (#171)
Twine 1.7.3 (2016-07-08)¶
Bugfixes¶
Fix uploads to instances of pypiserver using
--skip-existing
. We were not properly checking the return status code on the response after attempting an upload. (#195)
Misc¶
Avoid attempts to upload a package if we can find it on Legacy PyPI.
Twine 1.7.2 (2016-07-05)¶
Twine 1.7.1 (2016-07-05)¶
Twine 1.7.0 (2016-07-04)¶
Features¶
Support
--cert
and--client-cert
command-line flags and config file options for feature parity with pip. This allows users to verify connections to servers other than PyPI (e.g., local package repositories) with different certificates. (#142)Add progress bar to uploads. (#152)
Allow
--skip-existing
to work for 409 status codes. (#162)Implement retries when the CDN in front of PyPI gives us a 5xx error. (#167)
Switch Twine to upload to pypi.io instead of pypi.python.org. (#177)
Twine 1.6.5 (2015-12-16)¶
Twine 1.6.4 (2015-10-27)¶
Twine 1.6.3 (2015-10-05)¶
Twine 1.6.2 (2015-09-28)¶
Bugfixes¶
Upload signatures with packages appropriately (#132)
As part of the refactor for the 1.6.0 release, we were using the wrong name to find the signature file.
This also uncovered a bug where if you’re using twine in a situation where
*
is not expanded by your shell, we might also miss uploading signatures to PyPI. Both were fixed as part of this.
Twine 1.6.0 (2015-09-14)¶
Features¶
Allow the user to specify the location of their
.pypirc
(#97)Support registering new packages with
twine register
(#8)Add the
--skip-existing
flag totwine upload
to allow users to skip releases that already exist on PyPI. (#115)Upload wheels first to PyPI (#106)
Large file support via the
requests-toolbelt
(#104)
Twine 1.4.0 (2014-12-12)¶
Features¶
Bugfixes¶
Expand globs and check for existence of dists to upload (#65)
Fix issue uploading packages with
_
s in the name (#47)List registered commands in help text (#34)
Use
pkg_resources
to load registered commands (#32)Prevent ResourceWarning from being shown (#28)
Add support for uploading Windows installers (#26)