# 2.3.3 (2009-08-03)


## Upgrading

### DataObjectDecorator::extraStatics()

DataObjectDecorator::extraStatics() can no longer refer to $this because it's called statically

## Changelog

###  API Change

 * ![rev:79430] #4255 sharvey: DataObjectDecorator::extraStatics() can no longer refer to $this because it's called staticly (Merged via: r81698)


###  Bugfixes

 * ![rev:82094] applied patch from #4381. Observable doesnt play nice with jQuery
 * ![rev:82035] Fixed double up of `<span>` highlight tags around keywords in Text::ContextSummary()
 * ![rev:81942] Fixed bugs in content differencer, and improved styling. BUGFIX: fixed notice when getting title of member which didnt exist. Merged from trunk r77661.
 * ![rev:81894] Convert::recursiveXMLToArray() did not always check if the passed in XML is an object before calling get_class() on it
 * ![rev:81883] Merged in PHP 5.3 bugfixes from trunk
 * ![rev:81822] Deleted duplicate call to curl_exec() in RestfulService (merge error from r69704) (Merged via: r81823)
 * ![rev:81698] #4285: Fixed static application bug that appeared in 2.3.2
 * ![rev:81693] Fix static application for translatable (Merged via: r81698)
 * ![rev:81676] #4285: Fixed application of decorators when add_extension not used. (Merged via: r81698)
 * ![rev:81544] Calling parent constructors in ModelViewer
 * ![rev:81467] Fixed Hierarchy->markChildren() to only mark nodes as unexpanded if they actually have children. This avoids UI glitches with "plus"-icons beside unexpandable nodes, and prevents batch actions and TreeNode->open() to trigger ajaxExpansion on nodes without children (from r78339) (Merged via: r81971)
 * ![rev:81461] Correct behaviour if CMSMain::tellBrowserAboutPublicationChange() isn't passed a status message (Merged via: r81965)
 * ![rev:81460] Fixed FileSearch parameter in AssetTableField. Pagination of filtered search results and refresh of the tabular view after saving a popup wasn't working because the search parameter wasn't retained (Merged via: r81962)
 * ![rev:81450] If referrer had spaces, they would be encoded as %20, which would cause problems when interpolated into an sprintf pattern. Inject instead.
 * ![rev:81262] Relax type checking in RequestHandler::checkAccessAction()
 * ![rev:81173] Fixed application of parameterised extensions with Object::add_extension() (Merged via: r81698)
 * ![rev:81050] prevented cms from dying when a page has no published children. Added check before stepping into the loop
 * ![rev:80863] Fixed invalid HTML in AssetAdmin_uploadiframe.ss which could have an effect on file uploads
 * ![rev:80382] Fixed Image_iframe.ss to use X-UA-Compatible IE7 emulation meta tag
 * ![rev:80380] Fixed "method is not a string" error in Form::httpSubmission()
 * ![rev:80131] Fix behaviour of FILE_TO_URL_MAPPING on Windows. (Merged via: r81883)
 * ![rev:79720] Added explicit DataObjectDecorator::load_extra_statics() calls as a workaround for issues with extensions defined directly in-object. (Merged via: r81698)
 * ![rev:79599] Allow extraDBFields() on decorators for compatibility, throw a deprecated notice (Merged via: r81698)
 * ![rev:79433] Object::add_extension() should only load statics for extensions of DataObject, since it is specific to DataObjectDecorator (Merged via: r81698)
 * ![rev:79430] #4255 sharvey: Fix application of extra db fields by DataObjectDecorators.
 * ![rev:78628] Added better support for newly created records in DataDifferencer (Merged via: r81475)
 * ![rev:78392] Fixed FileSearch parameter in AssetTableField. Pagination of filtered search results and refresh of the tabular view after saving a popup wasn't working because the search parameter wasn't retained (Merged via: r81962)


###  Enhancement

 * ![rev:81933] Updated Versioned::compareVersions() to use DataDifferencer. Merged from trunk r77660
 * ![rev:81544] Checking for GraphViz dependency in ModelViewer (Merged via: r81546)
 * ![rev:81475] Improvements to DataDifferencer for cmsworkflow.
 * ![rev:80863] Removed JS generated from PHP code in AssetAdmin::UploadForm() and placed it into AssetAdmin_uploadiframe.ss
 * ![rev:80340] simpleXML() now catches the error if you try to call it on anything other then xml. MINOR: added test to RESTFul Service
 * ![rev:79404] Added better support for using DataDifferencer to look at new records. (Merged via: r81475)
 * ![rev:79400] Added better support for using DataDifferencer to look at new records. (Merged via: r81475)
 * ![rev:78329] Added API docs and changedFieldNames() method to DataDifferencer (Merged via: r81475)
 * ![rev:77787] Allow altering of DataObject:$api_access by decorators. (Merged via: r81698)


###  Other

 * ![rev:81993] e:
 * ![rev:81965] Merged r81461 from trunk
 * ![rev:81962] Merged r81460 from trunk