Pycurl

Latest version: v7.45.3

Safety actively analyzes 629765 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 12

7.43.0

---------------------------------------------------------------

* Added CURLINFO_RTSP_* constants (libcurl 7.20.0+).

* Added CURLOPT_XOAUTH2_BEARER (libcurl 7.33.0+).

* Added CURLOPT_SASL_IR (libcurl 7.31.0+).

* Added CURLOPT_LOGIN_OPTIONS (libcurl 7.34.0+).

* Added CURLOPT_FTP_USE_PRET (libcurl 7.20.0+).

* Added setopt_string method to Curl objects to set arbitrary
string options.

* Switched to Bintray for hosting release distributions.

* Added CURLOPT_DEFAULT_PROTOCOL (libcurl 7.45.0+).

* Added CURLOPT_TLSAUTH_* options (libcurl 7.21.4+).

* Added CURLPROTO_SMB and CURLPROTO_SMBS constants (libcurl 7.40.0+).

* Added CURL_SOCKOPT_* constants (libcurl 7.21.5+).

* Added CURL_HTTP_VERSION_2_0, CURL_HTTP_VERSION_2 and
CURL_HTTP_VERSION_2TLS constants for CURLOPT_HTTP_VERSION
(various libcurl versions required for these).

* winbuild.py can now build binary wheels on Windows.

* Added failed memory allocation handling during SSL lock initialization.

* CURLOPT_IOCTLDATA option support has been removed.
This option is used internally by PycURL and is not settable by
applications.

* HTTPHEADER and PROXYHEADER options can now be unset.

* Added CURLPIPE_* constants (libcurl 7.43.0+).

* Added CURLOPT_PIPEWAIT (libcurl 7.43.0+).

* Added CURLOPT_PATH_AS_IS (libcurl 7.42.0+).

* Added CURLOPT_PROXYHEADER and CURLOPT_HEADEROPT as well as
CURLHEADER_UNIFIED and CURLHEADER_SEPARATE (libcurl 7.37.0+).

* Added CURLOPT_EXPECT_100_TIMEOUT_MS (libcurl 7.36.0+).

* Added CURLOPT_XFERINFOFUNCTION (libcurl 7.32.0+).

* Added CURLM_ADDED_ALREADY error constant (libcurl 7.32.1+).

* Added remaining CURLE_* constants through libcurl 7.46.0.

* Unbroken `curl' module import on Windows - apparently Windows now
has a `signal' Python module but no `SIGPIPE' (patch by Gabi Davar).

* Added CURLMOPT_PIPELINING_SITE_BL and CURLMOPT_PIPELINING_SERVER_BL
options (libcurl 7.30.0+).

* Added CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE and
CURLOPT_TCP_KEEPINTVL options (libcurl 7.25.0+).

* Added CURLOPT_ACCEPTTIMEOUT_MS (libcurl 7.24.0+).

* Added CURLOPT_ACCEPT_ENCODING and CURLOPT_TRANSFER_ENCODING
options (libcurl 7.21.6+).

* OPENSOCKETFUNCTION callback for AF_UNIX sockets was mistakenly
invoked with the address as a `string' rather than `bytes' on
Python 3. The callback now receives a `bytes' instance as was
documented.

7.21.5

---------------------------------------------------------------

* --with-openssl and its --win-ssl alias setup.py options are now
accepted under Windows in order to use OpenSSL's crypto locks
when building against OpenSSL.

* --with-openssl added as an alias for --with-ssl option to setup.py.

* Official Windows builds are now linked against C-Ares and libssh2.

* Official Windows builds are now linked against OpenSSL instead of
WinSSL.

* Official Windows builds are now statically linked against
their dependencies (libcurl and zlib).

* Added CURLOPT_USE_SSL and CURLUSESSL_* constants.

* Added CURLOPT_APPEND, CURLOPT_COOKIESESSION, CURLOPT_DIRLISTONLY,
CURLOPT_KEYPASSWD, CURLOPT_TELNETOPTIONS.

* Several CURLE_* and CURLM_* constants added.

* Add VERSION_* constants, corresponding to CURL_VERSION_*.

* Breaking change: OPENSOCKETFUNCTION callback API now mirrors that
of libcurl:
1. The callback now takes two arguments, `purpose' and `address`.
Previously the callback took `family', `socktype', `protocol`
and `addr' arguments.
2. The second argument to the callback, `address', is a
`namedtuple' with `family', `socktype', `protocol' and
`addr' fields.
3. `addr' field on `address' for AF_INET6 family addresses is a
4-tuple of (address, port, flow info, scope id) which matches
Python's `socket.getaddrinfo' API.

It seems that libcurl may mishandle error return from an
opensocket callback, as would happen when code written for
pre-PycURL 7.21.5 API is run with PycURL 7.21.5 or newer,
resulting in the application hanging.

* OPENSOCKETFUNCTION callback can now be unset.

* Added CURLOPT_CLOSESOCKETFUNCTION (libcurl 7.21.7+).
CURLOPT_CLOSESOCKETDATA is used internally by PycURL.

* Added CURLOPT_SOCKOPTFUNCTION. CURLOPT_SOCKOPTDATA is used
internally by PycURL.

* Added CURLOPT_SSH_KEYFUNCTION (libcurl 7.19.6+).
CURLOPT_SSH_KEYDATA is used internally by PycURL.

* Added CURLOPT_SSL_OPTIONS (libcurl 7.25.0+).

* Added CURLOPT_KRBLEVEL.

* Added CURLOPT_SSL_FALSESTART (libcurl 7.42.0+).

* Added CURLOPT_SSL_ENABLE_NPN (libcurl 7.36.0+).

* Added CURLOPT_SSL_ENABLE_ALPN (libcurl 7.36.0+).

* Added CURLOPT_UNIX_SOCKET_PATH (libcurl 7.40.0+).

* Added CURLOPT_WILDCARDMATCH (libcurl 7.21.0+).

* C module initialization changed to raise exceptions on failure
rather than trigger a fatal error and abort the Python interpreter.

* Added CURLOPT_PINNEDPUBLICKEY (libcurl 7.39.0-7.44.0+
depending on SSL backend and encoding algorithm).

* Fixed incorrect detection of libcurl 7.19.5 and 7.19.6
(thanks to bataniya).

7.19.5.3

-----------------------------------------------------------------

* python and nosetests binaries can now be overridden when running
the test suite (patch by Kamil Dudka).

* Files needed to run the test suite are distributed in sdist
(patch by Kamil Dudka).

7.19.5.2

-----------------------------------------------------------------

* C sources made 64-bit clean on Windows.

* Support for building against Python 3.5 added to winbuild.py.

* Fixed build on Windows when using MS SDK 8.1+ or MSVC 14/2015
(patch by Gisle Vanem).

* Added automatic SSL library detection on CentOS 6 by loading
libcurl shared library in setup.py. This automatic detection is
meant to permit installing pycurl seamlessly via `pip install pycurl`
on CentOS; as such, it is only employed when no other configuration
options or configuration environment variables are given to setup.py
(original patch by Francisco Alves).

* Added --libcurl-dll option to setup.py to take SSL library
information out of libcurl shared library (original patch by
Francisco Alves). This option is only usable
with Python 2.5 or higher.

* --with-ssl, --with-gnutls and --with-nss options to setup.py now
result in PycURL explicitly linking against the respective SSL
library. Previously setup.py relied on curl-config to supply the
needed libraries in this case.

* List and tuples are now accepted in all positions of HTTPPOST
option values.

* Tuples are now accepted for options taking list values (e.g.
HTTPHEADER).

* Fixed a use after free in HTTPPOST when using FORM_BUFFERPTR with
a Unicode string (patch by Clint Clayton).

* Fixed a memory leak in HTTPPOST for multiple FORM_BUFFERPTR
(patch by Clint Clayton).

* CURLMOPT_* option constants were mistakenly defined on Curl
instances but not on CurlMulti instances. These option constants
are now defined on CurlMulti instances and on pycurl module,
but not on Curl instances.

* Fixed several memory leaks when setting string options to
Unicode values failed.

* Fixed a memory leak when using POSTFIELDS with unicode objects
on Python 2 (patch by Clint Clayton).

* Official support for Python 2.4 and 2.5 dropped. PycURL is no
longer tested against these Python versions on Travis.

* Added CURLAUTH_NEGOTIATE (libcurl 7.38.0+), CURLAUTH_NTLM_WB
(libcurl 7.22.0+), CURLAUTH_ONLY (libcurl 7.21.3+),

* Added CURLOPT_SERVICE_NAME (libcurl 7.43.0+).

* Added CURLOPT_PROXY_SERVICE_NAME (libcurl 7.43.0+).

* Added CURLE_SSL_CRL_BADFILE, CURLE_SSL_INVALIDCERTSTATUS
(libcurl 7.41.0+), CURLE_SSL_ISSUER_ERROR and
CURLE_SSL_PINNEDPUBKEYNOTMATCH (libcurl 7.39.0+).

* Added CURLOPT_SSL_VERIFYSTATUS (libcurl 7.41.0+).

* Added CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1
and CURL_SSLVERSION_TLSv1_2 (libcurl 7.34.0+).

* The second argument of DEBUGFUNCTION callback is now of type bytes on
Python 3. When response body contains non-ASCII data and
DEBUGFUNCTION is enabled, this argument would receive non-ASCII data.
Which encoding this data is in is unknown by PycURL, and e.g. in
the case of HTTP requires parsing response headers. GitHub issue
210, patch by Barry Warsaw with help from Gregory Petukhov.

* Fixed build on GCC 4.4.5 (patch by Travis Jensen).

* Added CURLOPT_GSSAPI_DELEGATION, CURLGSSAPI_DELEGATION_FLAG,
CURLGSSAPI_DELEGATION_NONE and CURLGSSAPI_DELEGATION_POLICY_FLAG
(libcurl 7.22.0+, patch by Dmitry Ketov).

7.19.5.1

-----------------------------------------------------------------

* Added CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5_HOSTNAME.

* setup.py now prints PycURL-specific option help when -h is used.

* LibreSSL is now supported (patch by JiCiT).

* Fixed an oversight that broke PycURL building against libcurl 7.19.4
through 7.21.1. The bug was introduced in PycURL 7.19.5.

* Tests are now included in source distributions again, thanks to
Kamil Dudka and Johan Bergstroem.

* Added CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT (libcurl 7.20.0+)
and CURLOPT_MAIL_AUTH (libcurl 7.25.0+).

7.19.5

---------------------------------------------------------------

* Tests removed from source and binary distributions.

* Documentation greatly improved. Quickstart guide added.

* pycurl.Curl, pycurl.CurlMulti and pycurl.CurlShare are now classes
rather than factory functions. Previously, the classes were "hidden"
(they were accessible as e.g. type(pycurl.Curl()), but could not be
instantiated, nor could class methods be obtained from the classes.
Please see this mailing list post for further information:
https://curl.haxx.se/mail/curlpython-2014-06/0004.html

* When passing a file-like object to READDATA option, PycURL was
mistakenly looking for write method on this object. Now read method
is looked up, as would be expected.

* Python 3.4 is now officially supported.

* Windows packages now build libcurl against zlib.

* CherryPy is no longer required for the test suite, ssl module from
the Python standard library is used instead.

* Fixed a reference leak of SOCKET and TIMER callbacks on
CurlMulti instances, thanks to Ben Darnell.

* Fixed build against openssl on cygwin, where pycurl needs to link
against libcrypto rather than libssl.

* Added CURLOPT_SSH_KNOWNHOSTS (libcurl 7.19.6+).

* Added CURLE_FTP_ACCEPT_FAILED (libcurl 7.24.0+).

* Added CURLE_NOT_BUILT_IN and CURLE_UNKNOWN_OPTION (libcurl 7.21.5+).

* Added CURL_SEEKFUNC_OK, CURL_SEEKFUNC_FAIL and
CURL_SEEKFUNC_CANTSEEK. All constants require libcurl 7.19.5+;
numeric values of CURL_SEEKFUNC_OK and CURL_SEEKFUNC_FAIL were
understood earlier but constants only exist as of libcurl 7.19.5.

* Added CURLINFO_CONDITION_UNMET (libcurl 7.19.4+).

* Added CURLPROXY_HTTP_1_0 (libcurl 7.19.4+).

* Added CURLOPT_SOCKS5_GSSAPI_SERVICE and
CURLOPT_SOCKS5_GSSAPI_NEC (libcurl 7.19.4+).

* Added CURLOPT_TFTP_BLKSIZE (libcurl 7.19.4+).

* Added CURLOPT_PROTOCOLS, CURLOPT_REDIR_PROTOCOLS and associated
CURLPROTO_* constants, which require libcurl 7.19.4+.

* Fixed a reference leak of OPENSOCKET and SEEK callbacks, thanks to
Ben Darnell.

* C source is now split into several files.

* Documentation is now processed by sphinx.

Page 3 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.