0.8-3

  • Support for CURLOPT_POST and using application/x-www-form-urlencoded as the Content-Type in POST'ing a form. This is controlled via the style parameter in postForm.
  • Construct body of a form-urlencoded POST in R with the relevant escaping.
  • 0.8-1

  • Added code to support the new hashing of strings in R-devel (for what will be 2.6.0).
  • Bug fix which caused segmentation faults when external pointer objects were used as options for curl.
  • Allow dynamic symbol lookup in the RCurl DLL/SO to permit the use of routines such as R_curl_write_binary_data.
  • 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: Mon Jul 2 05:32:32 PDT 2007