Documentation Index

CPAINT :: Cross-Platform Asynchronous INterface Toolkit

Changelog

v2.1.0 (Released October 20, 2006)

» moved CPAINT 'core' files to lib to ease usage of CPAINT as SVN external
   without having to grab the examples and docs as well.
» PHP: Added configuration value $cpaint2_config['proxy']['stream_timeout']
   for the number of miliseconds to have the proxy wait for the response.
» PHP: Added configuration value $cpaint2_config['proxy']['connect_timeout']
   for the number of seconds to have the proxy wait until connection is established.
» PHP: Added configuration value $cpaint2_config['proxy']['time_limit']
   for the maximum runtime of the proxy script in seconds.
» PHP: Added configuration value $cpaint2_config['proxy']['security']['error_reporting']
   to set the level of PHP's error_reporting value for the proxy.
» PHP: Made use of whitelist for both POST and GET requests.
» PHP: Recognize http:// as default procotol in proxy script. (thanks oroshchuk)
» PHP: Refactored the proxy-script for better maintainability.
» PHP: Using &?php as PHP opening tag instead of &? in backend-debugger.
» PHP: Perfomed variable initialization in config script. Using &?php as PHP opening tag instead of &?.
» PHP: Cleaned up the code of the proxy script.
» PHP: Checks for existance of arguments before assigning to local variable.
» EXAMPLES: Fixed URL of proxy script in proxy-ping example.
» EXAMPLES: Cleaned up the code of the calculator example.
» EXAMPLES: Fixed issue in colorpicker example that prevented it from working.
» PHP, JS: Added support for aliasses to hide the names of CPAINT API methods in register().
» PHP: Removed configuration file dependency (core backend) (thanks miwhite)
» PHP: Commented out WSDL-specific code blocks and variables
» JS: Added ability to set HTTP Basic Authentication username and password
when accessing local scripts (including proxy utility).
» JS: Fixed typo in proxy calling code (thanks miwhite)
» JS: Fixed create_object_structure to handle text nodes >4096 bytes (thanks Nelson Antunes)
» JS: Fixed problem parsing attributes of first XML node element (thanks Nelson Antunes)
» EXAMPLES: Fixed typo in Google example (thanks Curtis Farnham)
» DOC: Fixed typo in frontend development guide (thanks James Johnson)
» PROXY: Added the ability to use the CURL library, with ability to failover to built-in PHP socket functionality

v2.0.3 (Released Feburary 8, 2006)

» PHP: nixed potential security hole with invalid response types (Thanks to James Bercegay)

v2.0.2 (Released January 20, 2006)

» JS: check HTTP response code and throw an error if request was  not accepted by server. (thanks gloomyandy)
» JS: allowing the underscore in node names.
» JS: added support for the passing of arrays and objects to the backend.
» JS: node names, attribute names and -values from backend are now expected to be valid ISO-8859-1
» JS: fixed wrong initialization of the data property to int zero in class cpaint_result_object.
» JS: removed unneccessary setter() methods from internal classes to reduce size.
» JS: added debugging level cp.set_debug(-1) to suppress errors.
» JS: fixed type conversion issue where non-empty, pure whitespace strings where interpreted as numbers.
» JS: fixed problem with callback being called twice. (thanks to Lance Rushing)
» JS: fixed problem with URLs with existing GET parameters. (thanks to Nelson Antunes)
» JS / PHP: added support for JSON as response type.
» JS / PHP: added support for E4X as response type.
» PHP: added cpaint::unregister()
» PHP: added cpaint::get_response_type();
» PHP: removed a bug in JSON library that prevented the generation of valid JSON
   when including a leading zero character.
» PHP: renamed the proxyscript from cpaint2_proxy.php to cpaint2.proxy.php.
» PHP: Removed unneccessary unescaping of parameters in proxy script.
» PHP: added support for array and object parameters from JavaScript.
» PHP: removed encoding of node names, attribute names and attribute
   values to UTF-8 if possible. those values must now be valid
   ISO-8859-1.
» PHP: removed output buffer to make it possible to include backend
   and frontend in the same file
» PHP: fixed error output (a function was called...) when no
   parameters where sent to CPAINT indicating a function call, thus
   making it possible to include backend and frontend in the same file
   (thanks S. Alexandre M. Lemaire)
» PHP: added backend debugger code to main source tree & documentation.
» PHP: secured proxy utility (see documentation).
» PHP: added backend configuration file (for proxy security and future use)
» ASP: removed from distribution to focus on PHP and other ports.

v2.0.1 (Released September 5, 2005)

» JS: added the returning of plain-text response when using XML|OBJECT response type
   as second parameter to user-defined callback function (thanks Gunther)
» JS: added cpaint.capable property to determine AJAX-compatible browsers
» JS: cleaned up CPAINT parameters when not using CPAINT API w/ proxy
» PHP: fixed callability of object methods (thanks Markus Wolf)
» PHP: fixed HTTP authentication in proxy file
» ASP: improved security regarding incoming function arguments

v2.0 (Released August 19, 2005)

» completely rewrote the JavaScript frontend.
  » 100% OOP approach.
  » completely configurable through setter methods.
  » support for syncronized calls (SJAX?) ;-).
  » automatic XML parsing into JavaScript document structure if response_type='object'.
  » support for arbitrary character sets, including non-printable characters.
  » automatic detection and conversion of numeric data into integers / floats.
  » unified use of call() for local and remote targets.
  » can now use frontend to retrieve static files or backend functions not implemented with CPAINT
  » use of a single (persistent) connection for multiple calls.
  » XML to JavaScript parser is able to parse any XML structure now.
  » support for XML attributes.
  » added find_item_by_type() to cpaint_result_object.
  » added get_attribute(), set_attribute() to cpaint_result_object.
  » improved debugging, added debuglevels 1, 2. see set_debug()

» completely rewrote the PHP and ASP backends.
  » 100% OOP approach.
  » protection against remote code-execution.
  » support for object methods as callable functions.
  » nested XML support through composite pattern.
  » arbitrary XML structure creation support.
  » support for arbitrary character sets.
  » replaced remote code-execution blacklisting approach of v1.3-SP with whitelisting through cpaint.register().
  » changed XML name convention. Attributes and tagnames are send as-is, not in uppercase.

» improved readability of the ASP and PHP proxy utilities.
  » fixed GET requests.
  » proxy now uses attributenames identical to the CPAINT backend itself whenever possible.
  » added support for target ports other than 80.
  » added support for Basic Authentication.
  » completely redesigned and rewritten documentation!

v1.3-SP2 (Released August 16, 2005)

» improved the remote-code execution fix.

v1.3-SP (Released August 15, 2005)

» fixed a remote code-execution vulnerability on the backend by adding a blacklist test on the function name passed by the frontend.

v1.3 (Released July 10, 2005)

» rewrote cpaint_parse_ajax_xml() to be able to parse arbitrary XML.
» added bugfix from v1.01 to cpaint_get_remote_file() as well.

v1.2 (Released June 20, 2005)

» added method cpaint_parse_ajax_xml() to the JavaScript frontend for primitive XML to JavaScript transformation of response data.

v1.01 (Released June 16, 2005)

» bugfix regarding Unicode character encoding in cpaint_call().

v1.0 (Released June 13, 2005)

» added support for XML/DOM document object returns.
» added support for XML on the backend.
» added proxy files for accessing remote functions & data.
» greatly improved documentation & examples.
» code stablized
» development effort moved to SourceForge.Net

Pre-1.0 Releases and Dates

» v0.7 - released June 8, 2005
» v0.5 & 0.6 - released June 6, 2005
» v0.4 - released June 3, 2005
» v0.2 & 0.3 - released June 2, 2005
» v0.1 - released May 31, 2005 (first release)