Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4
This documents track potential backward compatibility issues for Joomla 2.5 and Joomla Platform 11.4 which is included in Joomla 2.5. Listed are issues which potentially break extensions and newly deprecated APIs.
Please help making this document complete.
The base of this comparison is Joomla 1.7/Platform 11.2.
Backwards compatibility issues were also tracked for Joomla 1.7: Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2
CMS Libraries and Platform Version
- All class members except JFTP::$instances have become private
- JError::$_error has become protected
- JRequest::_cleanArray() has been removed
- The following class member have become private:
- JArchiveGzip:: $_flags
- JArchiveGzip:: $_data
- JArchiveTar:: $_types
- JArchiveTar:: $_flags
- JArchiveTar:: $_data
- JArchiveTar:: $_metadata
- JArchiveZip:: $_methods
- JArchiveZip:: $_ctrlDirHeader
- JArchiveZip:: $_ctrlDirEnd
- JArchiveZip:: $_fileHeader
- JArchiveZip:: $_data
- The following class members have become private:
- JSimpleXML:: $_parser
- JSimpleXML:: $_xml
- JSimpleXML:: $_stack
- In JComponentHelper::renderComponent the execution of the component is moved to the new function JComponentHelper::executeComponent. This means that a component cannot change or use any of the (internal) variables of renderComponent that might be used by the function later on, like $task or $option. Solution is to get the values, via JRequest, in the component itself.
- onPrepareUserProfileData has been removed. Instead respond to onContentPrepareData with a context of com_users.profile
The Associative array of user groups for a user no longer contains the group name, but only the group id in both the key and value. The names of groups for a user can be obtained from getGroupsByUser in JAccess.
Plugin Extension Manifest for Update Servers
(as of 1.7.3) The xml extension manifest for plugins on update servers must specify the client <client>0</client> in the <update> sections. Example:
<type>plugin</type> <folder>content</folder> <client>0</client>