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)