🐛`408` Fix regression where keyring is unconditionally disabled. 🐛`404` Fix regression with upload exit code
:feature:`395 major` Add
twine checkcommand to check long description
:feature:`392 major` Drop support for Python 3.3
--skip-existingfor Artifactory repositories
🐛`367` Avoid MD5 when Python is compiled in FIPS mode 🐛`269 major` Avoid uploading to PyPI when given alternate repository URL, and require
:support:`277` Add instructions on how to use keyring.
:support:`314` Add new maintainer, release checklists.
🐛`322 major` Raise exception if attempting upload to deprecated legacy PyPI URLs.
:feature:`320` Remove PyPI as default
🐛`315 major` Degrade gracefully when keyring is unavailable
:feature:`304` Reorganize & improve user & developer documentation.
:feature:`46` Link to changelog from
:feature:`295` Add doc building instructions
:feature:`296` Add architecture overview to docs
:feature:`303` Revise docs predicting future of
🐛`298 major` Fix syntax highlighting in
🐛`299 major` Fix changelog formatting 🐛`200 major` Remove obsolete registration guidance 🐛`286 major` Fix Travis CI and test configuration
:feature:`257` Declare support for Python 3.6
🐛`297 major` Fix Read the Docs, tox, Travis configuration 🐛`268 major` Print progress to
🐛`265 major` Fix
:feature:`256` Improve progressbar
:support:`-` Twine will use
hashlib.blake2bon Python 3.6+ instead of using pyblake2 for Blake2 hashes 256 bit hashes.
:support:`-` Check if a package exists if the URL is one of:
This helps people with
https://upload.pypi.iostill in their :file:`.pypirc` file.
:feature:`201` Switch from upload.pypi.io to upload.pypi.org.
:feature:`144` Retrieve configuration from the environment as a default.
- Repository URL will default to
- Username will default to
- Password will default to
- Repository URL will default to
:feature:`166` Allow the Repository URL to be provided on the command-line (
--repository-url) or via an environment variable (
:support:`-` Generate SHA256 digest for all packages by default.
:feature:`171` Generate Blake2b 256 digests for packages if
pyblake2is installed. Users can use
python -m pip install twine[with-blake2]to have
pyblake2installed with Twine.
:support:`-` Stop testing on Python 2.6. 2.6 support will be "best effort" until 2.0.0
:support:`-` Warn users if they receive a 500 error when uploading to
🐛`-` Correct a packaging error. 🐛`195` 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.
:support:`-` Do not generate traffic to Legacy PyPI unless we're uploading to it or uploading to Warehouse (e.g., pypi.io). This avoids the attempt to upload a package to the index if we can find it on Legacy PyPI already.
🐛`187` Clint was not specified in the wheel metadata as a dependency.
--client-certcommand-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.
:feature:`152` Add progress bar to uploads.
--skip-existingto work for 409 status codes.
:feature:`167` Implement retries when the CDN in front of PyPI gives us a 5xx error.
:feature:`177` Switch Twine to upload to pypi.io instead of pypi.python.org.
🐛`186 major` Allow passwords to have
%s in them.
🐛`155` Bump requests-toolbelt version to ensure we avoid ConnectionErrors 🐛`145` Paths with hyphens in them break the Wheel regular expression. 🐛`146` Exception while accessing the
respositorykey (sic) when raising a redirect exception.
🐛`137`, 🐛`140` Uploading signatures was broken due to the pull request that added large file support via
requests-toolbelt. This caused a 500 error on PyPI and prevented package and signature upload in twine 1.6.0
🐛`132` Upload signatures with packages appropriately
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.
🐛`130` Fix signing support for uploads
:feature:`106` Upload wheels first to PyPI
:feature:`104` Large file support via the
🐛`92 major` Raise an exception on redirects
:feature:`115` Add the
twine uploadto allow users to skip releases that already exist on PyPI.
🐛`114 major` Warnings triggered by pkginfo searching for
PKG-INFOfiles should no longer be user visible.
🐛`116 major` Work around problems with Windows when using
:feature:`8` Support registering new packages with
🐛`85 major` Display information about the version of setuptools installed 🐛`61 major` Support deprecated pypirc file format
:feature:`29` Support commands not named "gpg" for signing
:support:`-` Add lower-limit to requests dependency
🐛`28 major` Prevent ResourceWarning from being shown 🐛`34 major` List registered commands in help text 🐛`32 major` Use
pkg_resourcesto load registered commands
🐛`47 major` Fix issue uploading packages with
_s in the name
🐛`26 major` Add support for uploading Windows installers 🐛`65 major` Expand globs and check for existence of dists to upload
:feature:`6` Switch to a git style dispatching for the commands to enable simpler commands and programmatic invocation.
:feature:`-` Additional functionality.
:feature:`0` Basic functionality.