0.7-0

  • Added support for base64 encoding and decoding using the code from libcurl (copyright
    See the file COPYING.
  • 0.7-0

  • Added mechanism and example for reading binary data from a request.
    This is not connected to R's connection mechanism as the API for that is not public and external extensions (i.e. via packages) are not feasible. (R's internals are not object oriented; one must work through the interpreted language even if working directly in compiled languages.)

    This is useful for handling gzip/bzip2 files, images, etc. To uncompress such in-memory data directly, see the Rcompression package.

  • fileUpload() function and mechanism for specifying details about a file whose contents are to be included in a form submission via postForm.
  • 0.6-4

  • Fix the problem identified by Seth Falcon of releasing/free'ing an R function object in the RCurl memory management.
    Added a type to the RCurlMemory structure so we know when we should R_Release() an object. Probably will also duplicate such functions when preserving them.
  • 0.6-3

    Introduced mechanism for converting options to target types, including enumerated values.
    Works for netrc option and extensible for any of the values.
    Added support for specifying an R function or C routine for the SSL_CTX_FUNCTION option.
    Accept a logical value from the R function used for the write callback. FALSE indicates an error and TRUE means that the function processed the text successfully.
    Fixed bug in memory management and garbage collection of the curl handles.

    0.6-2

    Further changes re postForm() with a curl handle provided.
    Problem was NULL for httppost setting.

    0.6-1

    Fixed type in postForm() that caused error when a curl handle was specified.
    Name matching in ... of curlSetOpt() caught the cur which should have been curl. Thanks to Jim McDonal for catching this one and using the curl handle mechanism for repeated calls.

    0.6-0

  • Allow C routines to be passed as values for the CURL options that can be R functions. Use getNativeSymbolInfo(routine, package)$address to identify the routine.
  • Support for concurrent, asynchronous HTTP requests using the curl_multi interface.
  • See the examples in tests/ or on the Web:
  • 0.5-3

  • Fixed the SSL example in getURL to turn off verification of the peer, i.e.
    getURL('https://sourceforge.net', ssl.verifypeer = FALSE)
       
  • 0.5-2

    Fix for R-devel and counting of \0's in strings for the length.

    0.5-1

    When POSTing a form, only the first string in each element of the list was written to the body of the form. In other words, multi-valued elements such as for checkboxes with several elements selected were mishandled.

    0.5-0

    Internal correction for passing numbers as options.
    Manifested itself with progress function not being called.

    0.4-0

  • Use the return value from a CURLOPT_WRITEFUNCTION
    This allows the user to raise an error.
  • Support the CURLOPT_PROGRESSFUNCTION
  • CURL_CFLAGS and CURL_LIBS computed in configure so as to handle no-GNU versions of make.
  • 0.3-0

    Ensure that parameters for postForm are a list when passed to C code.

    Duncan Temple Lang <duncan@wald.ucdavis.edu>
    Last modified: Sat Sep 16 19:18:18 PDT 2006