123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227 |
- Version 7.19.5 [requires libcurl-7.19.0 or better] - 2014-07-12
- ---------------------------------------------------------------
- * 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:
- http://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 contstants 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.
- Version 7.19.3.1 [requires libcurl-7.19.0 or better] - 2014-02-05
- -----------------------------------------------------------------
- * Added --avoid-stdio setup.py option to avoid passing FILE
- pointers from Python to libcurl. Applies to Python 2 only.
- * Added CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE,
- CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS
- CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS
- multi options (patch by Jakob Truelsen).
- * SSL detection logic changed to consult `curl-config --static-libs`
- even if `curl-config --libs` succeeded. This should achieve
- pre-7.19.3 behavior with respect to automatic SSL detection
- (patch by Andjelko Horvat).
- Version 7.19.3 [requires libcurl-7.19.0 or better] - 2014-01-09
- ---------------------------------------------------------------
- * Added CURLOPT_NOPROXY.
- * Added CURLINFO_LOCAL_PORT, CURLINFO_PRIMARY_PORT and
- CURLINFO_LOCAL_IP (patch by Adam Jacob Muller).
- * When running on Python 2.x, for compatibility with Python 3.x,
- Unicode strings containing ASCII code points only are now accepted
- in setopt() calls.
- * PycURL now requires that compile time SSL backend used by libcurl
- is the same as the one used at runtime. setup.py supports
- --with-ssl, --with-gnutls and --with-nss options like libcurl does,
- to specify which backend libcurl uses. On some systems PycURL can
- automatically figure out libcurl's backend.
- If the backend is not one for which PycURL provides crypto locks
- (i.e., any of the other backends supported by libcurl),
- no runtime SSL backend check is performed.
- * Default PycURL user agent string is now built at runtime, and will
- include the user agent string of libcurl loaded at runtime rather
- than the one present at compile time.
- * PycURL will now use WSAduplicateSocket rather than dup on Windows
- to duplicate sockets obtained from OPENSOCKETFUNCTION.
- Using dup may have caused crashes, OPENSOCKETFUNCTION should
- now be usable on Windows.
- * A new script, winbuild.py, was added to build PycURL on Windows
- against Python 2.6, 2.7, 3.2 and 3.3.
- * Added CURL_LOCK_DATA_SSL_SESSION (patch by Tom Pierce).
- * Added E_OPERATION_TIMEDOUT (patch by Romuald Brunet).
- * setup.py now handles --help argument and will print PycURL-specific
- configuration options in addition to distutils help.
- * Windows build configuration has been redone:
- PYCURL_USE_LIBCURL_DLL #define is gone, use --use-libcurl-dll
- argument to setup.py to build against a libcurl DLL.
- CURL_STATICLIB is now #defined only when --use-libcurl-dll is not
- given to setup.py, and PycURL is built against libcurl statically.
- --libcurl-lib-name option can be used to override libcurl import
- library name.
- * Added CURLAUTH_DIGEST_IE as pycurl.HTTPAUTH_DIGEST_IE.
- * Added CURLOPT_POSTREDIR option and CURL_REDIR_POST_301,
- CURL_REDIR_POST_302, CURL_REDIR_POST_303 and CURL_REDIR_POST_ALL
- constants. CURL_REDIR_POST_303 requires libcurl 7.26.0 or higher,
- all others require libcurl 7.19.1 or higher.
- * As part of Python 3 support, WRITEDATA option now accepts
- any object with a write method on Python 2 and Python 3.
- For non-file objects, c.setopt(c.WRITEDATA, buf) is equivalent to
- c.setopt(c.WRITEFUNCTION, buf.write).
- * PycURL now supports Python 3.1 through 3.3. Python 3.0 might
- work but it appears to ship with broken distutils, making virtualenv
- not function on it.
- * PycURL multi objects now have the multi constants defined on them.
- Previously the constants were only available on pycurl module.
- The new behavior matches that of curl and share objects.
- * PycURL share objects can now be closed via the close() method.
- * PycURL will no longer call `curl-config --static-libs` if
- `curl-config --libs` succeeds and returns output.
- Systems on which neither `curl-config --libs` nor
- `curl-config --static-libs` do the right thing should provide
- a `curl-config` wrapper that is sane.
- * Added CURLFORM_BUFFER and CURLFORM_BUFFERPTR.
- * pycurl.version and user agent string now include both
- PycURL version and libcurl version as separate items.
- * Added CURLOPT_DNS_SERVERS.
- * PycURL can now be dynamically linked against libcurl on Windows
- if PYCURL_USE_LIBCURL_DLL is #defined during compilation.
- * Breaking change: opensocket callback now takes an additional
- (address, port) tuple argument. Existing callbacks will need to
- be modified to accept this new argument.
- https://github.com/pycurl/pycurl/pull/18
- Version 7.19.0.3 [requires libcurl-7.19.0 or better] - 2013-12-24
- -----------------------------------------------------------------
- * Re-release of 7.19.0.2 with minor changes to build Windows packages
- due to botched 7.19.0.2 files on PyPi.
- http://curl.haxx.se/mail/curlpython-2013-12/0021.html
- Version 7.19.0.2 [requires libcurl-7.19.0 or better] - 2013-10-08
- -----------------------------------------------------------------
- * Fixed a bug in a commit made in 2008 but not released until 7.19.0.1
- which caused CURLOPT_POSTFIELDS to not correctly increment reference
- count of the object being given as its argument, despite libcurl not
- copying the data provided by said object.
- * Added support for libcurl pause/unpause functionality,
- via curl_easy_pause call and returning READFUNC_PAUSE from
- read callback function.
- Version 7.19.0.1 [requires libcurl-7.19.0 or better] - 2013-09-23
- -----------------------------------------------------------------
- * Test matrix tool added to test against all supported Python and
- libcurl versions.
- * Python 2.4 is now the minimum required version.
- * Source code, bugs and patches are now kept on GitHub.
- * Added CURLINFO_CERTINFO and CURLOPT_CERTINFO.
- * Added CURLOPT_RESOLVE.
- * PycURL can now be used with Python binaries without thread
- support.
- * gcrypt is no longer initialized when a newer version of gnutls
- is used.
- * Marked NSS as supported.
- * Fixed relative URL request logic.
- * Fixed a memory leak in util_curl_init.
- * Added CURLOPT_USERNAME and CURLOPT_PASSWORD.
- * Fixed handling of big timeout values.
- * Added GLOBAL_ACK_EINTR.
- * setopt(..., None) can be used as unsetopt().
- * CURLOPT_RANGE can now be unset.
- * Write callback can return -1 to signal user abort.
- * Reorganized tests into an automated test suite.
- * Added CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA.
- * Cleaned up website.
- * Fix pycurl.reset() (patch by <johansen at sun.com>).
- * Fix install routine in setup.py where
- certain platforms (Solaris, Mac OSX, etc)
- would search for a static copy of libcurl (dbp).
- * Fixed build on OpenSolaris 0906 and other platforms on which
- curl-config does not have a --static-libs option.
- * No longer keep string options copies in the
- Curl Python objects, since string options are
- now managed by libcurl.
- Version 7.19.0 [requires libcurl-7.19.0 or better]
- --------------------------------------------------
- * Added CURLFILE, ADDRESS_SCOPE and ISSUERCERT options,
- as well as the APPCONNECT_TIME info.
- * Added PRIMARY_IP info (patch by
- Yuhui H <eyecat at gmail.com>).
- * Added support for curl_easy_reset through a
- new 'reset' method on curl objects
- (patch by Nick Pilon <npilon at oreilly.com>).
- * Added support for OPENSOCKET callbacks.
- See 'tests/test_opensocket.py' for example
- usage (patch by Thomas Hunger <teh at camvine.com>).
- Version 7.18.2
- --------------
- * Added REDIRECT_URL info and M_MAXCONNECTS option
- (patch by Yuhui H <eyecat at gmail.com>).
- * Added socket_action() method to CurlMulti objects.
- See 'tests/test_multi_socket_select.py' for example
- usage (patch by Yuhui H <eyecat at gmail.com>).
- * Added AUTOREFERER option.
- * Allow resetting some list operations (HTTPHEADER,
- QUOTE, POSTQUOTE, PREQUOTE) by passing an empty
- list to setopt (patch by Jim Patterson).
- Version 7.18.1
- --------------
- * Added POST301, SSH_HOST_PUBLIC_KEY_MD5,
- COPYPOSTFIELDS and PROXY_TRANSFER_MODE options.
- * Check for static libs in setup.py to better detect
- whether libcurl was linked with OpenSSL or GNUTLS.
- * PycURL is now dual licensed under the LGPL and
- a license similar to the cURL license (an MIT/X
- derivative).
- Version 7.16.4
- --------------
- * Allow any callable object as the callback function.
- This change comes handy when you would like to use objects
- which are callable but are not functions or methods, for
- example those objects created by the functions in the functools
- module (patch by Daniel Pena Arteaga <dpena at ph.tum.de>).
- * Added NEW_DIRECTORY_PERMS and NEW_FILE_PERMS options.
- Version 7.16.2.1
- ----------------
- * Added IOCMD_NOP and IOCMD_RESTARTREAD for ioctl callback
- handling (patch by Mark Eichin).
- * Use Py_ssize_t where appropriate for Python 2.5 and 64-bit
- compatibility. This fixes the problem reported by Aaron
- Hill, where the exception "pycurl.error: (2, '')" is thrown
- when calling setopt(pycurl.POSTFIELDS,...) on 64-bit
- platforms.
- Version 7.16.2
- --------------
- * Added options HTTP_TRANSFER_DECODING, HTTP_CONTENT_DECODING,
- TIMEOUT_MS, CONNECTTIMEOUT_MS from libcurl 7.16.2.
- * Right-strip URLs read from files in the test scripts
- to avoid sending requests with '\n' at the end.
- Version 7.16.1
- --------------
- * Added constants for all libcurl (error) return codes. They
- are named the same as the macro constants in curl.h but prefixed
- with E_ instead of CURLE. Return codes for the multi API are
- prefixed with M_ instead of CURLM.
- * Added CURLOPT_FTP_SSL_CCC, CURLOPT_SSH_PUBLIC_KEYFILE,
- CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPT_SSH_AUTH_TYPES.
- * Removed CLOSEPOLICY and friends since this option is now
- deprecated in libcurl.
- * Set the _use_datetime attribute on the CURLTransport class
- to unbreak xmlrpc_curl.py on Python 2.5.
- Version 7.16.0 [no public release]
- --------------
- * Added CURLOPT_SSL_SESSIONID_CACHE.
- * Removed SOURCE_* options since they are no longer
- supported by libcurl.
- Version 7.15.5.1
- ----------------
- * Added test for basic ftp usage (tests/test_ftp.py).
- * Fix broken ssl mutex lock function when using
- GNU TLS (Debian bug #380156, fix by Bastian Kleineidam)
- Version 7.15.5
- --------------
- * Added CURLOPT_FTP_ALTERNATIVE_TO_USER,
- CURLOPT_MAX_SEND_SPEED_LARGE,
- and CURLOPT_MAX_RECV_SPEED_LARGE.
- Version 7.15.4.2
- ----------------
- * Use SSL locking callbacks, fixes random
- crashes for multithreaded SSL connections
- (patch by Jayne <corvine at gmail.com>).
- Version 7.15.4.1
- ----------------
- * Fixed compilation problem with C compilers
- not allowing declarations in the middle of
- code blocks (patch by
- K.S.Sreeram <sreeram at tachyontech.net>).
- * Fixed bug in curl_multi_fdset wrapping,
- max_fd < 0 is not an error (patch by
- K.S.Sreeram <sreeram at tachyontech.net>).
- Version 7.15.4
- --------------
- * Added support for libcurl shares, patch from
- Victor Lascurain <bittor at eleka.net>. See the
- file tests/test_share.py for example usage.
- * Added support for CURLINFO_FTP_ENTRY_PATH.
- Version 7.15.2
- --------------
- * Added CURLOPT_CONNECT_ONLY, CURLINFO_LASTSOCKET,
- CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE.
- Version 7.15.1
- --------------
- 2006-01-31 Kjetil Jacobsen <kjetilja>
- * Fixed memory leak for getinfo calls that return a
- list as result. Patch by Paul Pacheco.
- Version 7.15.0
- --------------
- 2005-10-18 Kjetil Jacobsen <kjetilja>
- * Added CURLOPT_FTP_SKIP_PASV_IP.
- Version 7.14.1
- --------------
- 2005-09-05 Kjetil Jacobsen <kjetilja>
- * Added CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPT_COOKIELIST as
- COOKIELIST and CURLINFO_COOKIELIST as INFO_COOKIELIST.
- Version 7.14.0
- --------------
- 2005-05-18 Kjetil Jacobsen <kjetilja>
- * Added missing information returned from the info() method
- in the high-level interface.
- * Added the FORM_FILENAME option to the CURLFORM API
- with HTTPPOST.
- Version 7.13.2
- --------------
- 2005-03-30 Kjetil Jacobsen <kjetilja>
- * Unbreak tests/test_gtk.py and require pygtk >= 2.0.
- 2005-03-15 Kjetil Jacobsen <kjetilja>
- * Cleaned up several of the examples.
- 2005-03-11 Kjetil Jacobsen <kjetilja>
- * WARNING: multi.select() now requires the previously optional
- timeout parameter. Updated the tests and examples to reflect
- this change. If the timeout is not set, select could block
- infinitely and cause problems for the internal timeout handling
- in the multi stack. The problem was identified by
- <unknownsoldier93 at yahoo.com>.
- Version 7.13.1
- --------------
- 2005-03-04 Kjetil Jacobsen <kjetilja>
- * Use METH_NOARGS where appropriate.
- 2005-03-03 Kjetil Jacobsen <kjetilja>
- * Added support for CURLFORM API with HTTPPOST: Supports a
- a tuple with pairs of options and values instead of just
- supporting string contents. See tests/test_post2.py
- for example usage. Options are FORM_CONTENTS, FORM_FILE and
- FORM_CONTENTTYPE, corresponding to the CURLFORM_* options,
- and values are strings.
- 2005-02-13 Markus F.X.J. Oberhumer <mfx>
- * Read callbacks (pycurl.READFUNCTION) can now return
- pycurl.READFUNC_ABORT to immediately abort the current transfer.
- * The INFILESIZE, MAXFILESIZE, POSTFIELDSIZE and RESUME_FROM
- options now automatically use the largefile version to handle
- files > 2GB.
- * Added missing pycurl.PORT constant.
- Version 7.13.0
- --------------
- 2005-02-10 Kjetil Jacobsen <kjetilja>
- * Added file_upload.py to examples, shows how to upload
- a file.
- * Added CURLOPT_IOCTLFUNCTION/DATA.
- * Added options from libcurl 7.13.0: FTP_ACCOUNT, SOURCE_URL,
- SOURCE_QUOTE.
- * Obsoleted options: SOURCE_HOST, SOURCE_PATH, SOURCE_PORT,
- PASV_HOST.
- Version 7.12.3
- --------------
- 2004-12-22 Markus F.X.J. Oberhumer <mfx>
- * Added CURLINFO_NUM_CONNECTS and CURLINFO_SSL_ENGINES.
- * Added some other missing constants.
- * Updated pycurl.version_info() to return a 12-tuple
- instead of a 9-tuple.
- Version 7.12.2
- --------------
- 2004-10-15 Kjetil Jacobsen <kjetilja>
- * Added CURLOPT_FTPSSLAUTH (and CURLFTPAUTH_*).
- * Added CURLINFO_OS_ERRNO.
- 2004-08-17 Kjetil Jacobsen <kjetilja>
- * Use LONG_LONG instead of PY_LONG_LONG to make pycurl compile
- on Python versions < 2.3 (fix from Domenico Andreoli
- <cavok at libero.it>).
- Version 7.12.1
- --------------
- 2004-08-02 Kjetil Jacobsen <kjetilja>
- * Added INFOTYPE_SSL_DATA_IN/OUT.
- 2004-07-16 Markus F.X.J. Oberhumer <mfx>
- * WARNING: removed deprecated PROXY_, TIMECOND_ and non-prefixed
- INFOTYPE constant names. See ChangeLog entry 2003-06-10.
- 2004-06-21 Kjetil Jacobsen <kjetilja>
- * Added test program for HTTP post using the read callback (see
- tests/test_post3.py for details).
- * Use the new CURL_READFUNC_ABORT return code where appropriate
- to avoid hanging in perform() when read callbacks are used.
- * Added support for libcurl 7.12.1 CURLOPT features:
- SOURCE_HOST, SOURCE_USERPWD, SOURCE_PATH, SOURCE_PORT,
- PASV_HOST, SOURCE_PREQUOTE, SOURCE_POSTQUOTE.
- 2004-06-08 Markus F.X.J. Oberhumer <mfx>
- * Setting CURLOPT_POSTFIELDS now allows binary data and
- automatically sets CURLOPT_POSTFIELDSIZE for you. If you really
- want a different size you have to manually set POSTFIELDSIZE
- after setting POSTFIELDS.
- (Based on a patch by Martin Muenstermann).
- 2004-06-05 Markus F.X.J. Oberhumer <mfx>
- * Added stricter checks within the callback handlers.
- * Unify the behaviour of int and long parameters where appropriate.
- Version 7.12
- ------------
- 2004-05-18 Kjetil Jacobsen <kjetilja>
- * WARNING: To simplify code maintenance pycurl now requires
- libcurl 7.11.2 and Python 2.2 or newer to work.
- * GC support is now always enabled.
- Version 7.11.3
- --------------
- 2004-04-30 Kjetil Jacobsen <kjetilja>
- * Do not use the deprecated curl_formparse function.
- API CHANGE: HTTPPOST now takes a list of tuples where each
- tuple contains a form name and a form value, both strings
- (see test/test_post2.py for example usage).
- * Found a possible reference count bug in the multithreading
- code which may have contributed to the long-standing GC
- segfault which has haunted pycurl. Fingers crossed.
- Version 7.11.2
- --------------
- 2004-04-21 Kjetil Jacobsen <kjetilja>
- * Added support for libcurl 7.11.2 CURLOPT features:
- CURLOPT_TCP_NODELAY.
- 2004-03-25 Kjetil Jacobsen <kjetilja>
- * Store Python longs in off_t with PyLong_AsLongLong instead
- of PyLong_AsLong. Should make the options which deal
- with large files behave a little better. Note that this
- requires the long long support in Python 2.2 or newer to
- work properly.
- Version 7.11.1
- --------------
- 2004-03-16 Kjetil Jacobsen <kjetilja>
- * WARNING: Removed support for the PASSWDFUNCTION callback, which
- is no longer supported by libcurl.
- 2004-03-15 Kjetil Jacobsen <kjetilja>
- * Added support for libcurl 7.11.1 CURLOPT features:
- CURLOPT_POSTFIELDSIZE_LARGE.
- Version 7.11.0
- --------------
- 2004-02-11 Kjetil Jacobsen <kjetilja>
- * Added support for libcurl 7.11.0 CURLOPT features:
- INFILESIZE_LARGE, RESUME_FROM_LARGE, MAXFILESIZE_LARGE
- and FTP_SSL.
- * Circular garbage collection support can now be enabled or
- disabled by passing the '--use-gc=[1|0]' parameter to setup.py
- when building pycurl.
- * HTTP_VERSION options are known as CURL_HTTP_VERSION_NONE,
- CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1 and
- CURL_HTTP_VERSION_LAST.
- 2003-11-16 Markus F.X.J. Oberhumer <mfx>
- * Added support for these new libcurl 7.11.0 features:
- CURLOPT_NETRC_FILE.
- Version 7.10.8
- --------------
- 2003-11-04 Markus F.X.J. Oberhumer <mfx>
- * Added support for these new libcurl 7.10.8 features:
- CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_IPRESOLVE,
- CURLOPT_MAXFILESIZE,
- CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL,
- CURL_IPRESOLVE_* constants.
- * Added support for these new libcurl 7.10.7 features:
- CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPT_PROXYAUTH,
- CURLINFO_HTTP_CONNECTCODE.
- 2003-10-28 Kjetil Jacobsen <kjetilja>
- * Added missing CURLOPT_ENCODING option (patch by Martijn
- Boerwinkel <xim at xs4all.nl>)
- Version 7.10.6
- --------------
- 2003-07-29 Markus F.X.J. Oberhumer <mfx>
- * Started working on support for CURLOPT_SSL_CTX_FUNCTION and
- CURLOPT_SSL_CTX_DATA (libcurl-7.10.6) - not yet finished.
- 2003-06-10 Markus F.X.J. Oberhumer <mfx>
- * Added support for CURLOPT_HTTPAUTH (libcurl-7.10.6), including
- the new HTTPAUTH_BASIC, HTTPAUTH_DIGEST, HTTPAUTH_GSSNEGOTIATE
- and HTTPAUTH_NTML constants.
- * Some constants were renamed for consistency:
- All curl_infotype constants are now prefixed with "INFOTYPE_",
- all curl_proxytype constants are prefixed with "PROXYTYPE_" instead
- of "PROXY_", and all curl_TimeCond constants are now prefixed
- with "TIMECONDITION_" instead of "TIMECOND_".
- (The old names are still available but will get removed
- in a future release.)
- * WARNING: Removed the deprecated pycurl.init() and pycurl.multi_init()
- names - use pycurl.Curl() and pycurl.CurlMulti() instead.
- * WARNING: Removed the deprecated Curl.cleanup() and
- CurlMulti.cleanup() methods - use Curl.close() and
- CurlMulti.close() instead.
- Version 7.10.5
- --------------
- 2003-05-15 Markus F.X.J. Oberhumer <mfx>
- * Added support for CURLOPT_FTP_USE_EPRT (libcurl-7.10.5).
- * Documentation updates.
- 2003-05-07 Eric S. Raymond <esr>
- * Lifted all HTML docs to clean XHTML, verified by tidy.
- 2003-05-02 Markus F.X.J. Oberhumer <mfx>
- * Fixed some `int' vs. `long' mismatches that affected 64-bit systems.
- * Fixed wrong pycurl.CAPATH constant.
- 2003-05-01 Markus F.X.J. Oberhumer <mfx>
- * Added new method Curl.errstr() which returns the internal
- libcurl error buffer string of the handle.
- Version 7.10.4.2
- ----------------
- 2003-04-15 Markus F.X.J. Oberhumer <mfx>
- * Allow compilation against the libcurl-7.10.3 release - some
- recent Linux distributions (e.g. Mandrake 9.1) ship with 7.10.3,
- and apart from the new CURLOPT_UNRESTRICTED_AUTH option there is
- no need that we require libcurl-7.10.4.
- Version 7.10.4
- --------------
- 2003-04-01 Kjetil Jacobsen <kjetilja>
- * Markus added CURLOPT_UNRESTRICTED_AUTH (libcurl-7.10.4).
- 2003-02-25 Kjetil Jacobsen <kjetilja>
- * Fixed some broken test code and removed the fileupload test
- since it didn't work properly.
- 2003-01-28 Kjetil Jacobsen <kjetilja>
- * Some documentation updates by Markus and me.
- 2003-01-22 Kjetil Jacobsen <kjetilja>
- * API CHANGE: the CurlMulti.info_read() method now returns
- a separate array with handles that failed. Each entry in this array
- is a tuple with (curl object, error number, error message).
- This addition makes it simpler to do error checking of individual
- curl objects when using the multi interface.
- Version 7.10.3
- --------------
- 2003-01-13 Kjetil Jacobsen <kjetilja>
- * PycURL memory usage has been reduced.
- 2003-01-10 Kjetil Jacobsen <kjetilja>
- * Added 'examples/retriever-multi.py' which shows how to retrieve
- a set of URLs concurrently using the multi interface.
- 2003-01-09 Kjetil Jacobsen <kjetilja>
- * Added support for CURLOPT_HTTP200ALIASES.
- 2002-11-22 Kjetil Jacobsen <kjetilja>
- * Updated pycurl documentation in the 'doc' directory.
- 2002-11-21 Kjetil Jacobsen <kjetilja>
- * Updated and improved 'examples/curl.py'.
- * Added 'tests/test_multi6.py' which shows how to use the
- info_read method with CurlMulti.
- 2002-11-19 Kjetil Jacobsen <kjetilja>
- * Added new method CurlMulti.info_read().
- Version 7.10.2
- --------------
- 2002-11-14 Kjetil Jacobsen <kjetilja>
- * Free options set with setopt after cleanup is called, as cleanup
- assumes that options are still valid when invoked. This fixes the
- bug with COOKIEJAR reported by Bastiaan Naber
- <bastiaan at ricardis.tudelft.nl>.
- 2002-11-06 Markus F.X.J. Oberhumer <mfx>
- * Install documentation under /usr/share/doc instead of /usr/doc.
- Also, start shipping the (unfinished) HTML docs and some
- basic test scripts.
- 2002-10-30 Markus F.X.J. Oberhumer <mfx>
- * API CHANGE: For integral values, Curl.getinfo() now returns a
- Python-int instead of a Python-long.
- Version 7.10.1
- --------------
- 2002-10-03 Markus F.X.J. Oberhumer <mfx>
- * Added new module-level function version_info() from
- libcurl-7.10.
- Version 7.10
- ------------
- 2002-09-13 Kjetil Jacobsen <kjetilja>
- * Added commandline options to setup.py for specifying the path to
- 'curl-config' (non-windows) and the curl installation directory
- (windows). See the 'INSTALL' file for details.
- * Added CURLOPT_ENCODING, CURLOPT_NOSIGNAL and CURLOPT_BUFFERSIZE
- from libcurl-7.10 (by Markus Oberhumer).
- Version 7.9.8.4
- ---------------
- 2002-08-28 Kjetil Jacobsen <kjetilja>
- * Added a simple web-browser example based on gtkhtml and pycurl.
- See the file 'examples/gtkhtml_demo.py' for details. The example
- requires a working installation of gnome-python with gtkhtml
- bindings enabled (pass --with-gtkhtml to gnome-python configure).
- 2002-08-14 Kjetil Jacobsen <kjetilja>
- * Added new method 'select' on CurlMulti objects. Example usage
- in 'tests/test_multi5.py'. This method is just an optimization of
- the combined use of fdset and select.
- 2002-08-12 Kjetil Jacobsen <kjetilja>
- * Added support for curl_multi_fdset. See the file
- 'tests/test_multi4.py' for example usage. Contributed by Conrad
- Steenberg <conrad at hep.caltech.edu>.
- * perform() on multi objects now returns a tuple (result, number
- of handles) like the libcurl interface does.
- 2002-08-08 Kjetil Jacobsen <kjetilja>
- * Added the 'sfquery' script which retrieves a SourceForge XML
- export object for a given project. See the file 'examples/sfquery.py'
- for details and usage. 'sfquery' was contributed by Eric
- S. Raymond <esr at thyrsus.com>.
- 2002-07-20 Markus F.X.J. Oberhumer <mfx>
- * API enhancements: added Curl() and CurlMulti() as aliases for
- init() and multi_init(), and added close() methods as aliases
- for the cleanup() methods. The new names much better match
- the actual intended use of the objects, and they also nicely
- correspond to Python's file object.
- * Also, all constants for Curl.setopt() and Curl.getinfo() are now
- visible from within Curl objects.
- All changes are fully backward-compatible.
- Version 7.9.8.3
- ---------------
- 2002-07-16 Markus F.X.J. Oberhumer <mfx>
- * Under Python 2.2 or better, Curl and CurlMulti objects now
- automatically participate in cyclic garbarge collection
- (using the gc module).
- Version 7.9.8.2
- ---------------
- 2002-07-05 Markus F.X.J. Oberhumer <mfx>
- * Curl and CurlMulti objects now support standard Python attributes.
- See tests/test_multi2.py for an example.
- 2002-07-02 Kjetil Jacobsen <kjetilja>
- * Added support for the multi-interface.
- Version 7.9.8.1
- ---------------
- 2002-06-25 Markus F.X.J. Oberhumer <mfx>
- * Fixed a couple of `int' vs. `size_t' mismatches in callbacks
- and Py_BuildValue() calls.
- 2002-06-25 Kjetil Jacobsen <kjetilja>
- * Use 'double' type instead of 'size_t' for progress callbacks
- (by Conrad Steenberg <conrad at hep.caltech.edu>). Also cleaned up
- some other type mismatches in the callback interfaces.
- 2002-06-24 Kjetil Jacobsen <kjetilja>
- * Added example code on how to upload a file using HTTPPOST in
- pycurl (code by Amit Mongia <amit_mongia at hotmail.com>). See the
- file 'test_fileupload.py' for details.
- Version 7.9.8
- -------------
- 2002-06-24 Kjetil Jacobsen <kjetilja>
- * Resolved some build problems on Windows (by Markus Oberhumer).
- 2002-06-19 Kjetil Jacobsen <kjetilja>
- * Added CURLOPT_CAPATH.
- * Added option constants for CURLOPT_NETRC: CURL_NETRC_OPTIONAL,
- CURL_NETRC_IGNORED and CURL_NETRC_REQUIRED.
- * Added option constants for CURLOPT_TIMECONDITION:
- TIMECOND_IFMODSINCE and TIMECOND_IFUNMODSINCE.
- * Added an simple example crawler, which downloads documents
- listed in a file with a configurable number of worker threads.
- See the file 'crawler.py' in the 'tests' directory for details.
- * Removed the redundant 'test_xmlrpc2.py' test script.
- * Disallow recursive callback invocations (by Markus Oberhumer).
- 2002-06-18 Kjetil Jacobsen <kjetilja>
- * Made some changes to setup.py which should fix the build
- problems on RedHat 7.3 (suggested by Benji <benji at kioza.net>).
- * Use CURLOPT_READDATA instead of CURLOPT_INFILE, and
- CURLOPT_WRITEDATA instead of CURLOPT_FILE. Also fixed some
- reference counting bugs with file objects.
- * CURLOPT_FILETIME and CURLINFO_FILETIME had a namespace clash
- which caused them not to work. Use OPT_FILETIME for setopt() and
- INFO_FILETIME for getinfo(). See example usage in
- 'test_getinfo.py' for details.
- Version 7.9.7
- -------------
- 2002-05-20 Kjetil Jacobsen <kjetilja>
- * New versioning scheme. Pycurl now has the same version number
- as the libcurl version it was built with. The pycurl version
- number thus indicates which version of libcurl is required to run.
- 2002-05-17 Kjetil Jacobsen <kjetilja>
- * Added CURLINFO_REDIRECT_TIME and CURLINFO_REDIRECT_COUNT.
- 2002-04-27 Kjetil Jacobsen <kjetilja>
- * Fixed potential memory leak and thread race (by Markus
- Oberhumer).
- Version 0.4.9
- -------------
- 2002-04-15 Kjetil Jacobsen <kjetilja>
- * Added CURLOPT_DEBUGFUNCTION to allow debug callbacks to be
- specified (see the file 'test_debug.py' for details on how to use
- debug callbacks).
- * Added CURLOPT_DNS_USE_GLOBAL_CACHE and
- CURLOPT_DNS_CACHE_TIMEOUT.
- * Fixed a segfault when finalizing curl objects in Python 1.5.2.
- * Now requires libcurl 7.9.6 or greater.
- 2002-04-12 Kjetil Jacobsen <kjetilja>
- * Added 'test_post2.py' file which is another example on how to
- issue POST requests.
- 2002-04-11 Markus F.X.J. Oberhumer <mfx>
- * Added the 'test_post.py' file which demonstrates the use of
- POST requests.
- Version 0.4.8
- -------------
- 2002-03-07 Kjetil Jacobsen <kjetilja>
- * Added CURLOPT_PREQUOTE.
- * Now requires libcurl 7.9.5 or greater.
- * Other minor code cleanups and bugfixes.
- 2002-03-05 Kjetil Jacobsen <kjetilja>
- * Do not allow WRITEFUNCTION and WRITEHEADER on the same handle.
- Version 0.4.7
- -------------
- 2002-02-27 Kjetil Jacobsen <kjetilja>
- * Abort callback if the thread state of the calling thread cannot
- be determined.
- * Check that the installed version of libcurl matches the
- requirements of pycurl.
- 2002-02-26 Kjetil Jacobsen <kjetilja>
- * Clarence Garnder <clarence at silcom.com> found a bug where string
- arguments to setopt sometimes were prematurely deallocated, this
- should now be fixed.
- 2002-02-21 Kjetil Jacobsen <kjetilja>
- * Added the 'xmlrpc_curl.py' file which implements a transport
- for xmlrpclib (xmlrpclib is part of Python 2.2).
- * Added CURLINFO_CONTENT_TYPE.
- * Added CURLOPT_SSLCERTTYPE, CURLOPT_SSLKEY, CURLOPT_SSLKEYTYPE,
- CURLOPT_SSLKEYPASSWD, CURLOPT_SSLENGINE and
- CURLOPT_SSLENGINE_DEFAULT.
- * When thrown, the pycurl.error exception is now a tuple consisting
- of the curl error code and the error message.
- * Now requires libcurl 7.9.4 or greater.
- 2002-02-19 Kjetil Jacobsen <kjetilja>
- * Fixed docstring for getopt() function.
- 2001-12-18 Kjetil Jacobsen <kjetilja>
- * Updated the INSTALL information for Win32.
- 2001-12-12 Kjetil Jacobsen <kjetilja>
- * Added missing link flag to make pycurl build on MacOS X (by Matt
- King <matt at gnik.com>).
- 2001-12-06 Kjetil Jacobsen <kjetilja>
- * Added CURLINFO_STARTTRANSFER_TIME and CURLOPT_FTP_USE_EPSV from
- libcurl 7.9.2.
- 2001-12-01 Markus F.X.J. Oberhumer <mfx>
- * Added the 'test_stringio.py' file which demonstrates the use of
- StringIO objects as callback.
- 2001-12-01 Markus F.X.J. Oberhumer <mfx>
- * setup.py: Do not remove entries from a list while iterating
- over it.
- 2001-11-29 Kjetil Jacobsen <kjetilja>
- * Added code in setup.py to install on Windows. Requires some
- manual configuration (by Tino Lange <Tino.Lange at gmx.de>).
- 2001-11-27 Kjetil Jacobsen <kjetilja>
- * Improved detection of where libcurl is installed in setup.py.
- Should make it easier to install pycurl when libcurl is not
- located in regular lib/include paths.
- 2001-11-05 Kjetil Jacobsen <kjetilja>
- * Some of the newer options to setopt were missing, this should
- now be fixed.
- 2001-11-04 Kjetil Jacobsen <kjetilja>
- * Exception handling has been improved and should no longer throw
- spurious exceptions (by Markus F.X.J. Oberhumer
- <markus at oberhumer.com>).
- 2001-10-15 Kjetil Jacobsen <kjetilja>
- * Refactored the test_gtk.py script to avoid global variables.
- 2001-10-12 Kjetil Jacobsen <kjetilja>
- * Added module docstrings, terse perhaps, but better than nothing.
- * Added the 'basicfirst.py' file which is a Python version of the
- corresponding Perl script by Daniel.
- * PycURL now works properly under Python 1.5 and 1.6 (by Markus
- F.X.J. Oberhumer <markus at oberhumer.com>).
- * Allow C-functions and Python methods as callbacks (by Markus
- F.X.J. Oberhumer <markus at oberhumer.com>).
- * Allow None as success result of write, header and progress
- callback invocations (by Markus F.X.J. Oberhumer
- <markus at oberhumer.com>).
- * Added the 'basicfirst2.py' file which demonstrates the use of a
- class method as callback instead of just a function.
- 2001-08-21 Kjetil Jacobsen <kjetilja>
- * Cleaned up the script with GNOME/PycURL integration.
- 2001-08-20 Kjetil Jacobsen <kjetilja>
- * Added another test script for shipping XML-RPC requests which
- uses py-xmlrpc to encode the arguments (tests/test_xmlrpc2.py).
- 2001-08-20 Kjetil Jacobsen <kjetilja>
- * Added test script for using PycURL and GNOME (tests/test_gtk.py).
- 2001-08-20 Kjetil Jacobsen <kjetilja>
- * Added test script for using XML-RPC (tests/test_xmlrpc.py).
- * Added more comments to the test sources.
- 2001-08-06 Kjetil Jacobsen <kjetilja>
- * Renamed module namespace to pycurl instead of curl.
- 2001-08-06 Kjetil Jacobsen <kjetilja>
- * Set CURLOPT_VERBOSE to 0 by default.
- 2001-06-29 Kjetil Jacobsen <kjetilja>
- * Updated INSTALL, curl version 7.8 or greater is now mandatory to
- use pycurl.
- 2001-06-13 Kjetil Jacobsen <kjetilja>
- * Set NOPROGRESS to 1 by default.
- 2001-06-07 Kjetil Jacobsen <kjetilja>
- * Added global_init/cleanup.
- 2001-06-06 Kjetil Jacobsen <kjetilja>
- * Added HEADER/PROGRESSFUNCTION callbacks (see files in tests/).
- * Added PASSWDFUNCTION callback (untested).
- * Added READFUNCTION callback (untested).
- 2001-06-05 Kjetil Jacobsen <kjetilja>
- * WRITEFUNCTION callbacks now work (see tests/test_cb.py for details).
- * Preliminary distutils installation.
- * Added CLOSEPOLICY constants to module namespace.
- 2001-06-04 Kjetil Jacobsen <kjetilja>
- * Return -1 on error from Python callback in WRITEFUNCTION callback.
- 2001-06-01 Kjetil Jacobsen <kjetilja>
- * Moved source to src and tests to tests directory.
- 2001-05-31 Kjetil Jacobsen <kjetilja>
- * Added better type checking for setopt.
- 2001-05-30 Kjetil Jacobsen <kjetilja>
- * Moved code to sourceforge.
- * Added getinfo support.
- # vi:ts=8:et
|