<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Realityking</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Realityking"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Realityking"/>
	<updated>2026-05-24T21:44:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=74269</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=74269"/>
		<updated>2012-09-11T12:18:32Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This document tracks potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1, which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help make this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5, the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions -- developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Updated System Requirements ==&lt;br /&gt;
The system requirements have changed in the following points:&lt;br /&gt;
*PHP 5.3.1&lt;br /&gt;
*register_globals must be off&lt;br /&gt;
*magic_quotes_gpc must be off&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Almost all functions, methods, members and classed marked as deprecated in Platform 11.4 have been removed. They won&#039;t be listed in this document.&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature).&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead.&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*The name of modules now have to start with &amp;quot;mod_&amp;quot;.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
*Some cookies are only accessible through HTTP (not via JavaScript). For example; the session cookie.&lt;br /&gt;
*Due to upcoming changes to the MVC implementation in the platform, JModel, JView, and JController are re-used as the names of the new interfaces. For now, use JModelLegacy, JViewLegacy and JControllerLegacy instead.&lt;br /&gt;
*JFolder and JFile now require you to do your own jimport statement (You always had to do that, just before it was rather likely something else had loaded them before)&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead.&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead.&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; prepare each client as a separate extension and optionally bundle them as a package extension instead.&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must now be in its own folder (i.e. plugins/system/cache/cache.php).&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore (this was a Joomla 1.0 legacy feature).&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JRules (use JAccessRules instead)&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
=== Component ===&lt;br /&gt;
&lt;br /&gt;
==== JComponentHelper ====&lt;br /&gt;
*The behavior of JComponentHelper::isEnabled() has been changed to match developer expectations.&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController::setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
==== JControllerLegacy ====&lt;br /&gt;
* JControllerLegacy::display() needs an extra parameter: ($cachable = false, $urlparams = false).&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting, a connection is only opened when running a query or explicitly calling JDatabaseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentXml ====&lt;br /&gt;
*JDocumentXml::$_name has been renamed to JDocumentXml::$name.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
*JBrowser::$_majorVersion has been renamed to JBrowser::$majorVersion.&lt;br /&gt;
*JBrowser::$_minorVersion has been renamed to JBrowser::$minorVersion.&lt;br /&gt;
*JBrowser::$_browser has been renamed to JBrowser::$browser.&lt;br /&gt;
*JBrowser::$_agent has been renamed to JBrowser::$agent.&lt;br /&gt;
*JBrowser::$_lowerAgent has been renamed to JBrowser::$lowerAgent.&lt;br /&gt;
*JBrowser::$_accept has been renamed to JBrowser::$accept.&lt;br /&gt;
*JBrowser::$_accept_parsed has been renamed to JBrowser::$acceptParsed.&lt;br /&gt;
*JBrowser::$_platform has been renamed to JBrowser::$platform.&lt;br /&gt;
*JBrowser::$_robots has been renamed to JBrowser::$robots.&lt;br /&gt;
*JBrowser::$_mobile has been renamed to JBrowser::$mobile.&lt;br /&gt;
*JBrowser::$_images has been renamed to JBrowser::$images.&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JUri::$_uri has been renamed to JUri::$uri.&lt;br /&gt;
*JUri::$_scheme has been renamed to JUri::$scheme.&lt;br /&gt;
*JUri::$_host has been renamed to JUri::$host.&lt;br /&gt;
*JUri::$_port has been renamed to JUri::$port.&lt;br /&gt;
*JUri::$_user has been renamed to JUri::$user.&lt;br /&gt;
*JUri::$_pass has been renamed to JUri::$pass.&lt;br /&gt;
*JUri::$_path has been renamed to JUri::$path.&lt;br /&gt;
*JUri::$_query has been renamed to JUri::$query.&lt;br /&gt;
*JUri::$_fragment has been renamed to JUri::$fragment.&lt;br /&gt;
*JUri::$_vars has been renamed to JUri::$vars.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JProfiler::$_start has been renamed to JProfiler::$start.&lt;br /&gt;
*JProfiler::$_prefix has been renamed to JProfiler::$prefix.&lt;br /&gt;
*JProfiler::$_buffer has been renamed to JProfiler::$buffer.&lt;br /&gt;
*JProfiler::$_previous_time has been renamed to JProfiler::$previousTime.&lt;br /&gt;
*JProfiler::$_previous_mem has been renamed to JProfiler::$previousMem.&lt;br /&gt;
*JProfiler::$_iswin has been renamed to JProfiler::$isWin.&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
==== JStream ====&lt;br /&gt;
*JStream::$_fh has been renamed to JStream::$fh.&lt;br /&gt;
*JStream::$_filesize has been renamed to JStream::$filesize.&lt;br /&gt;
*JStream::$_context has been renamed to JStream::$context.&lt;br /&gt;
*JStream::$_contextOptions has been renamed to JStream::$contextOptions.&lt;br /&gt;
*JStream::$_openmode has been renamed to JStream::$openmode.&lt;br /&gt;
&lt;br /&gt;
==== JStreamString ====&lt;br /&gt;
*JStream::$_currentstring has been renamed to JStream::$currentString.&lt;br /&gt;
*JStream::$_path has been renamed to JStream::$path.&lt;br /&gt;
*JStream::$_mode has been renamed to JStream::$mode.&lt;br /&gt;
*JStream::$_options has been renamed to JStream::$options.&lt;br /&gt;
*JStream::$_opened_path has been renamed to JStream::$openedPath.&lt;br /&gt;
*JStream::$_pos has been renamed to JStream::$pos.&lt;br /&gt;
*JStream::$_len has been renamed to JStream::$len.&lt;br /&gt;
*JStream::$_stat has been renamed to JStream::$stat.&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlSelect ====&lt;br /&gt;
*JHtmlSelect::$_optionDefaults has been renamed to JHtmlSelect::$optionDefaults.&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JToolBar no longer supports the &#039;X&#039; functions (eg, addNewX, editListX) that hide the main menu before doing the function.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JPagination ====&lt;br /&gt;
*JPagination::$_viewall has been renamed to JPagination::$viewall.&lt;br /&gt;
*JPagination::$_additionalUrlParams has been renamed to JPagination::$additionalUrlParams.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
*JInstaller::$_paths has been renamed to JInstaller::$paths.&lt;br /&gt;
*JInstaller::$_upgrade has been renamed to JInstaller::$upgrade.&lt;br /&gt;
*JInstaller::$_overwrite has been renamed to JInstaller::$overwrite.&lt;br /&gt;
*JInstaller::$_stepStack has been renamed to JInstaller::$stepStack.&lt;br /&gt;
&lt;br /&gt;
==== JInstallerLanguage ====&lt;br /&gt;
*JInstallerLanguage::$_core as been renamed to JInstallerLanguage::$core.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLanguage::_parseLanguageFiles() has been removed. Use JLanguage::parseLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles() has been removed. Use JLanguage::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile() has been removed. Use JLanguage::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
*JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Session ===&lt;br /&gt;
&lt;br /&gt;
==== JSessionStorageDatabase ====&lt;br /&gt;
*JSessionStorageDatabase::$_data has been renamed to JSessionStorageDatabase::$data.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::getInstance() parameters are now case sensitive, e.g. &#039;MenuType&#039;.&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdate ====&lt;br /&gt;
*JUpdate::$_xml_parser has been renamed to JUpdate::$xmlParser.&lt;br /&gt;
*JUpdate::$_stack has been renamed to JUpdate::$stack.&lt;br /&gt;
*JUpdate::$_state_store has been renamed to JUpdate::$stateStore.&lt;br /&gt;
*JUpdate::$_current_update has been renamed to JUpdate::$currentUpdate.&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication::STATUS_FAILURE instead.&lt;br /&gt;
*JAuthentication::$_observers has been renamed to JAuthentication::$observers.&lt;br /&gt;
*JAuthentication::$_state has been renamed to JAuthentication::$state.&lt;br /&gt;
*JAuthentication::$_methods has been renamed to JAuthentication::$methods.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JBuffer ====&lt;br /&gt;
*JBuffer::$_buffers has been renamed to JBuffer::$buffers.&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate::__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
*JDate::$_tz has been renamed to JDate::$tz.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail::sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed.&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed.&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;.&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*JUtility is not always loaded. If you need it you have to add jimport(&#039;joomla.utilities.utility&#039;); to your code.&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Component Classes ===&lt;br /&gt;
*MenusModelItem::getItem() no longer returns a JObject but a stdClass.&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Platform]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=72169</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=72169"/>
		<updated>2012-08-29T17:28:41Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This document tracks potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1, which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help make this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5, the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions -- developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Updated System Requirements ==&lt;br /&gt;
The system requirements have changed in the following points:&lt;br /&gt;
*PHP 5.3.1&lt;br /&gt;
*register_globals must be off&lt;br /&gt;
*magic_quotes_gpc must be off&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Almost all functions, methods, members and classed marked as deprecated in Platform 11.4 have been removed. They won&#039;t be listed in this document.&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature).&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead.&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*The name of modules now have to start with &amp;quot;mod_&amp;quot;.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
*Some cookies are only accessible through HTTP (not via JavaScript). For example; the session cookie.&lt;br /&gt;
*Due to upcoming changes to the MVC implementation in the platform, JModel, JView, and JController are re-used as the names of the new interfaces. For now, use JModelLegacy, JViewLegacy and JControllerLegacy instead.&lt;br /&gt;
*JFolder and JFile now require you to do your own jimport statement (You always had to do that, just before it was rather likely something else had loaded them before)&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead.&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead.&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; prepare each client as a separate extension and optionally bundle them as a package extension instead.&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must now be in its own folder (i.e. plugins/system/cache/cache.php).&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore (this was a Joomla 1.0 legacy feature).&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
A number of platform classes have moved to the legacy or cms folder. All of the classes moved are now autoloadable. Also a number of classes moved within the platform to facilitate autoloading. Unless you tried to include files with a require_once you should be fine (jimport() fails silently).&lt;br /&gt;
&lt;br /&gt;
== Removed classes and methods ==&lt;br /&gt;
With very few exceptions (notably JRequest and JError) all classes and methods that were marked as @deprecated 12.1 or @dperecated 3.0 have been removed.&lt;br /&gt;
&lt;br /&gt;
There are also a few methods which haven&#039;t been marked as deprecated but were still removed. These are listed here:&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending JObject ===&lt;br /&gt;
The following classes don&#039;t extend JObject anymore:&lt;br /&gt;
*JArchiveBzip2&lt;br /&gt;
*JArchiveGzip&lt;br /&gt;
*JArchiveTar&lt;br /&gt;
*JArchiveZip&lt;br /&gt;
*JClientLdap&lt;br /&gt;
*JDocumentRenderer&lt;br /&gt;
*JFeedItem&lt;br /&gt;
*JFeedEnclosure&lt;br /&gt;
*JFeedImage&lt;br /&gt;
*JOpenSearchUrl&lt;br /&gt;
*JOpenSearchImage&lt;br /&gt;
*JBrowser&lt;br /&gt;
*JUri&lt;br /&gt;
*JProfiler&lt;br /&gt;
*JFilterInput&lt;br /&gt;
*JPaginationObject&lt;br /&gt;
*JPagination (the get() and set() methods are retained for backwards compatibility)&lt;br /&gt;
*JToolbar&lt;br /&gt;
*JToolbarButton (former JButton)&lt;br /&gt;
*JLanguage&lt;br /&gt;
&lt;br /&gt;
=== JDocumentXml ===&lt;br /&gt;
*JDocumentXml::$_name has been renamed to JDocumentXml::$name.&lt;br /&gt;
&lt;br /&gt;
=== JBrowser ===&lt;br /&gt;
*JBrowser::$_majorVersion has been renamed to JBrowser::$majorVersion.&lt;br /&gt;
*JBrowser::$_minorVersion has been renamed to JBrowser::$minorVersion.&lt;br /&gt;
*JBrowser::$_browser has been renamed to JBrowser::$browser.&lt;br /&gt;
*JBrowser::$_agent has been renamed to JBrowser::$agent.&lt;br /&gt;
*JBrowser::$_lowerAgent has been renamed to JBrowser::$lowerAgent.&lt;br /&gt;
*JBrowser::$_accept has been renamed to JBrowser::$accept.&lt;br /&gt;
*JBrowser::$_accept_parsed has been renamed to JBrowser::$acceptParsed.&lt;br /&gt;
*JBrowser::$_platform has been renamed to JBrowser::$platform.&lt;br /&gt;
*JBrowser::$_robots has been renamed to JBrowser::$robots.&lt;br /&gt;
*JBrowser::$_mobile has been renamed to JBrowser::$mobile.&lt;br /&gt;
*JBrowser::$_images has been renamed to JBrowser::$images.&lt;br /&gt;
&lt;br /&gt;
=== JUri ===&lt;br /&gt;
*JUri::$_uri has been renamed to JUri::$uri.&lt;br /&gt;
*JUri::$_scheme has been renamed to JUri::$scheme.&lt;br /&gt;
*JUri::$_host has been renamed to JUri::$host.&lt;br /&gt;
*JUri::$_port has been renamed to JUri::$port.&lt;br /&gt;
*JUri::$_user has been renamed to JUri::$user.&lt;br /&gt;
*JUri::$_pass has been renamed to JUri::$pass.&lt;br /&gt;
*JUri::$_path has been renamed to JUri::$path.&lt;br /&gt;
*JUri::$_query has been renamed to JUri::$query.&lt;br /&gt;
*JUri::$_fragment has been renamed to JUri::$fragment.&lt;br /&gt;
*JUri::$_vars has been renamed to JUri::$vars.&lt;br /&gt;
&lt;br /&gt;
=== JStream ===&lt;br /&gt;
*JStream::$_fh has been renamed to JStream::$fh.&lt;br /&gt;
*JStream::$_filesize has been renamed to JStream::$filesize.&lt;br /&gt;
*JStream::$_context has been renamed to JStream::$context.&lt;br /&gt;
*JStream::$_contextOptions has been renamed to JStream::$contextOptions.&lt;br /&gt;
*JStream::$_openmode has been renamed to JStream::$openmode.&lt;br /&gt;
&lt;br /&gt;
=== JStreamString ===&lt;br /&gt;
*JStream::$_currentstring has been renamed to JStream::$currentString.&lt;br /&gt;
*JStream::$_path has been renamed to JStream::$path.&lt;br /&gt;
*JStream::$_mode has been renamed to JStream::$mode.&lt;br /&gt;
*JStream::$_options has been renamed to JStream::$options.&lt;br /&gt;
*JStream::$_opened_path has been renamed to JStream::$openedPath.&lt;br /&gt;
*JStream::$_pos has been renamed to JStream::$pos.&lt;br /&gt;
*JStream::$_len has been renamed to JStream::$len.&lt;br /&gt;
*JStream::$_stat has been renamed to JStream::$stat.&lt;br /&gt;
&lt;br /&gt;
=== JHtmlSelect ===&lt;br /&gt;
*JHtmlSelect::$_optionDefaults has been renamed to JHtmlSelect::$optionDefaults.&lt;br /&gt;
&lt;br /&gt;
=== JPagination ===&lt;br /&gt;
*JPagination::$_viewall has been renamed to JPagination::$viewall.&lt;br /&gt;
*JPagination::$_additionalUrlParams has been renamed to JPagination::$additionalUrlParams.&lt;br /&gt;
&lt;br /&gt;
=== JInstaller ===&lt;br /&gt;
*JInstaller::$_paths has been renamed to JInstaller::$paths.&lt;br /&gt;
*JInstaller::$_upgrade has been renamed to JInstaller::$upgrade.&lt;br /&gt;
*JInstaller::$_overwrite has been renamed to JInstaller::$overwrite.&lt;br /&gt;
*JInstaller::$_stepStack has been renamed to JInstaller::$stepStack.&lt;br /&gt;
&lt;br /&gt;
=== JInstallerLanguage ===&lt;br /&gt;
*JInstallerLanguage::$_core as been renamed to JInstallerLanguage::$core.&lt;br /&gt;
&lt;br /&gt;
=== JLanguage ===&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
*JLanguage::parseXMLLanguageFiles() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== JSessionStorageDatabase ===&lt;br /&gt;
*JSessionStorageDatabase::$_data has been renamed to JSessionStorageDatabase::$data.&lt;br /&gt;
&lt;br /&gt;
== JavaScript changes ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed.&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; or custom handling.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*JUtility is not always loaded. If you need it you have to add jimport(&#039;joomla.utilities.utility&#039;); to your code.&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Component Classes ===&lt;br /&gt;
*MenusModelItem::getItem() no longer returns a JObject but a stdClass.&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Framework]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=71912</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=71912"/>
		<updated>2012-08-27T00:20:39Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* General changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This document tracks potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1, which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help make this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5, the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions -- developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Updated System Requirements ==&lt;br /&gt;
The system requirements have changed in the following points:&lt;br /&gt;
*PHP 5.3.1&lt;br /&gt;
*register_globals must be off&lt;br /&gt;
*magic_quotes_gpc must be off&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Almost all functions, methods, members and classed marked as deprecated in Platform 11.4 have been removed. They won&#039;t be listed in this document.&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature).&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead.&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*The name of modules now have to start with &amp;quot;mod_&amp;quot;.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
*Some cookies are only accessible through HTTP (not via JavaScript). For example; the session cookie.&lt;br /&gt;
*Due to upcoming changes to the MVC implementation in the platform, JModel, JView, and JController are re-used as the names of the new interfaces. For now, use JModelLegacy, JViewLegacy and JControllerLegacy instead.&lt;br /&gt;
*JFolder and JFile now require you to do your own jimport statement (You always had to do that, just before it was rather likely something else had loaded them before)&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead.&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead.&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; prepare each client as a separate extension and optionally bundle them as a package extension instead.&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must now be in its own folder (i.e. plugins/system/cache/cache.php).&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore (this was a Joomla 1.0 legacy feature).&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController::setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
==== JControllerLegacy ====&lt;br /&gt;
* JControllerLegacy::display() needs an extra parameter: ($cachable = false, $urlparams = false).&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting, a connection is only opened when running a query or explicitly calling JDatabaseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentXml ====&lt;br /&gt;
*JDocumentXml::$_name has been renamed to JDocumentXml::$name.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
*JBrowser::$_majorVersion has been renamed to JBrowser::$majorVersion.&lt;br /&gt;
*JBrowser::$_minorVersion has been renamed to JBrowser::$minorVersion.&lt;br /&gt;
*JBrowser::$_browser has been renamed to JBrowser::$browser.&lt;br /&gt;
*JBrowser::$_agent has been renamed to JBrowser::$agent.&lt;br /&gt;
*JBrowser::$_lowerAgent has been renamed to JBrowser::$lowerAgent.&lt;br /&gt;
*JBrowser::$_accept has been renamed to JBrowser::$accept.&lt;br /&gt;
*JBrowser::$_accept_parsed has been renamed to JBrowser::$acceptParsed.&lt;br /&gt;
*JBrowser::$_platform has been renamed to JBrowser::$platform.&lt;br /&gt;
*JBrowser::$_robots has been renamed to JBrowser::$robots.&lt;br /&gt;
*JBrowser::$_mobile has been renamed to JBrowser::$mobile.&lt;br /&gt;
*JBrowser::$_images has been renamed to JBrowser::$images.&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JUri::$_uri has been renamed to JUri::$uri.&lt;br /&gt;
*JUri::$_scheme has been renamed to JUri::$scheme.&lt;br /&gt;
*JUri::$_host has been renamed to JUri::$host.&lt;br /&gt;
*JUri::$_port has been renamed to JUri::$port.&lt;br /&gt;
*JUri::$_user has been renamed to JUri::$user.&lt;br /&gt;
*JUri::$_pass has been renamed to JUri::$pass.&lt;br /&gt;
*JUri::$_path has been renamed to JUri::$path.&lt;br /&gt;
*JUri::$_query has been renamed to JUri::$query.&lt;br /&gt;
*JUri::$_fragment has been renamed to JUri::$fragment.&lt;br /&gt;
*JUri::$_vars has been renamed to JUri::$vars.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JProfiler::$_start has been renamed to JProfiler::$start.&lt;br /&gt;
*JProfiler::$_prefix has been renamed to JProfiler::$prefix.&lt;br /&gt;
*JProfiler::$_buffer has been renamed to JProfiler::$buffer.&lt;br /&gt;
*JProfiler::$_previous_time has been renamed to JProfiler::$previousTime.&lt;br /&gt;
*JProfiler::$_previous_mem has been renamed to JProfiler::$previousMem.&lt;br /&gt;
*JProfiler::$_iswin has been renamed to JProfiler::$isWin.&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
==== JStream ====&lt;br /&gt;
*JStream::$_fh has been renamed to JStream::$fh.&lt;br /&gt;
*JStream::$_filesize has been renamed to JStream::$filesize.&lt;br /&gt;
*JStream::$_context has been renamed to JStream::$context.&lt;br /&gt;
*JStream::$_contextOptions has been renamed to JStream::$contextOptions.&lt;br /&gt;
*JStream::$_openmode has been renamed to JStream::$openmode.&lt;br /&gt;
&lt;br /&gt;
==== JStreamString ====&lt;br /&gt;
*JStream::$_currentstring has been renamed to JStream::$currentString.&lt;br /&gt;
*JStream::$_path has been renamed to JStream::$path.&lt;br /&gt;
*JStream::$_mode has been renamed to JStream::$mode.&lt;br /&gt;
*JStream::$_options has been renamed to JStream::$options.&lt;br /&gt;
*JStream::$_opened_path has been renamed to JStream::$openedPath.&lt;br /&gt;
*JStream::$_pos has been renamed to JStream::$pos.&lt;br /&gt;
*JStream::$_len has been renamed to JStream::$len.&lt;br /&gt;
*JStream::$_stat has been renamed to JStream::$stat.&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlSelect ====&lt;br /&gt;
*JHtmlSelect::$_optionDefaults has been renamed to JHtmlSelect::$optionDefaults.&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JPagination ====&lt;br /&gt;
*JPagination::$_viewall has been renamed to JPagination::$viewall.&lt;br /&gt;
*JPagination::$_additionalUrlParams has been renamed to JPagination::$additionalUrlParams.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
*JInstaller::$_paths has been renamed to JInstaller::$paths.&lt;br /&gt;
*JInstaller::$_upgrade has been renamed to JInstaller::$upgrade.&lt;br /&gt;
*JInstaller::$_overwrite has been renamed to JInstaller::$overwrite.&lt;br /&gt;
*JInstaller::$_stepStack has been renamed to JInstaller::$stepStack.&lt;br /&gt;
&lt;br /&gt;
==== JInstallerLanguage ====&lt;br /&gt;
*JInstallerLanguage::$_core as been renamed to JInstallerLanguage::$core.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLanguage::_parseLanguageFiles() has been removed. Use JLanguage::parseLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles() has been removed. Use JLanguage::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile() has been removed. Use JLanguage::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
*JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Session ===&lt;br /&gt;
&lt;br /&gt;
==== JSessionStorageDatabase ====&lt;br /&gt;
*JSessionStorageDatabase::$_data has been renamed to JSessionStorageDatabase::$data.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdate ====&lt;br /&gt;
*JUpdate::$_xml_parser has been renamed to JUpdate::$xmlParser.&lt;br /&gt;
*JUpdate::$_stack has been renamed to JUpdate::$stack.&lt;br /&gt;
*JUpdate::$_state_store has been renamed to JUpdate::$stateStore.&lt;br /&gt;
*JUpdate::$_current_update has been renamed to JUpdate::$currentUpdate.&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication::STATUS_FAILURE instead.&lt;br /&gt;
*JAuthentication::$_observers has been renamed to JAuthentication::$observers.&lt;br /&gt;
*JAuthentication::$_state has been renamed to JAuthentication::$state.&lt;br /&gt;
*JAuthentication::$_methods has been renamed to JAuthentication::$methods.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JBuffer ====&lt;br /&gt;
*JBuffer::$_buffers has been renamed to JBuffer::$buffers.&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate::__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
*JDate::$_tz has been renamed to JDate::$tz.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail::sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed.&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed.&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;.&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*JUtility is not always loaded. If you need it you have to add jimport(&#039;joomla.utilities.utility&#039;); to your code.&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Component Classes ===&lt;br /&gt;
*MenusModelItem::getItem() no longer returns a JObject but a stdClass.&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Framework]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=68228</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=68228"/>
		<updated>2012-07-10T14:33:02Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Updated System Requirements ==&lt;br /&gt;
The system requirements have changed in the following points:&lt;br /&gt;
*PHP 5.3.1&lt;br /&gt;
*register_globals must be off&lt;br /&gt;
*magic_quotes_gpc must be off&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Almost all functions, methods, members and classed marked as deprecated 12.1 have been removed. They won&#039;t be listed in this document.&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
*Some cookies are only accessible trough HTTP (not via JavaScript). For example the session cookie.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting a connection is only opened when running a query or explicitly calling JDatabseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentXml ====&lt;br /&gt;
*JDocumentXml::_name has been renamed to JDocumentXml::name&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
*JBrowser::_majorVersion has been renamed to JBrowser::majorVersion&lt;br /&gt;
*JBrowser::_minorVersion has been renamed to JBrowser::minorVersion&lt;br /&gt;
*JBrowser::_browser has been renamed to JBrowser::browser&lt;br /&gt;
*JBrowser::_agent has been renamed to JBrowser::agent&lt;br /&gt;
*JBrowser::_lowerAgent has been renamed to JBrowser::lowerAgent&lt;br /&gt;
*JBrowser::_accept has been renamed to JBrowser::accept&lt;br /&gt;
*JBrowser::_accept_parsed has been renamed to JBrowser::acceptParsed&lt;br /&gt;
*JBrowser::_platform has been renamed to JBrowser::platform&lt;br /&gt;
*JBrowser::_robots has been renamed to JBrowser::robots&lt;br /&gt;
*JBrowser::_mobile has been renamed to JBrowser::mobile&lt;br /&gt;
*JBrowser::_images has been renamed to JBrowser::images&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JUri::_uri has been renamed to JUri::uri&lt;br /&gt;
*JUri::_scheme has been renamed to JUri::scheme&lt;br /&gt;
*JUri::_host has been renamed to JUri::host&lt;br /&gt;
*JUri::_port has been renamed to JUri::port&lt;br /&gt;
*JUri::_user has been renamed to JUri::user&lt;br /&gt;
*JUri::_pass has been renamed to JUri::pass&lt;br /&gt;
*JUri::_path has been renamed to JUri::path&lt;br /&gt;
*JUri::_query has been renamed to JUri::query&lt;br /&gt;
*JUri::_fragment has been renamed to JUri::fragment&lt;br /&gt;
*JUri::_vars has been renamed to JUri::vars&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JProfiler::_start has been renamed to JProfiler::start&lt;br /&gt;
*JProfiler::_prefix has been renamed to JProfiler::prefix&lt;br /&gt;
*JProfiler::_buffer has been renamed to JProfiler::buffer&lt;br /&gt;
*JProfiler::_previous_time has been renamed to JProfiler::previousTime&lt;br /&gt;
*JProfiler::_previous_mem has been renamed to JProfiler::previousMem&lt;br /&gt;
*JProfiler::_iswin has been renamed to JProfiler::isWin&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
==== JStream ====&lt;br /&gt;
*JStream::_fh has been renamed to JStream::fh&lt;br /&gt;
*JStream::_filesize has been renamed to JStream::filesize&lt;br /&gt;
*JStream::_context has been renamed to JStream::context&lt;br /&gt;
*JStream::_contextOptions has been renamed to JStream::contextOptions&lt;br /&gt;
*JStream::_openmode has been renamed to JStream::openmode&lt;br /&gt;
&lt;br /&gt;
==== JStreamString ====&lt;br /&gt;
*JStream::_currentstring has been renamed to JStream::currentString&lt;br /&gt;
*JStream::_path has been renamed to JStream::path&lt;br /&gt;
*JStream::_mode has been renamed to JStream::mode&lt;br /&gt;
*JStream::_options has been renamed to JStream::options&lt;br /&gt;
*JStream::_opened_path has been renamed to JStream::openedPath&lt;br /&gt;
*JStream::_pos has been renamed to JStream::pos&lt;br /&gt;
*JStream::_len has been renamed to JStream::len&lt;br /&gt;
*JStream::_stat has been renamed to JStream::stat&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlSelect ====&lt;br /&gt;
*JHtmlSelect::_optionDefaults has been renamed to JHtmlSelect::optionDefaults&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JPagination ====&lt;br /&gt;
*JPagination::_viewall has been renamed to JPagination::viewall&lt;br /&gt;
*JPagination::_additionalUrlParams has been renamed to JPagination::additionalUrlParams&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
*JInstaller::_paths has been renamed to JInstaller::paths&lt;br /&gt;
*JInstaller::_upgrade has been renamed to JInstaller::upgrade&lt;br /&gt;
*JInstaller::_overwrite has been renamed to JInstaller::overwrite&lt;br /&gt;
*JInstaller::_stepStack has been renamed to JInstaller::stepStack&lt;br /&gt;
&lt;br /&gt;
==== JInstallerLanguage ====&lt;br /&gt;
*JInstallerLanguage::_core as been renamed to JInstallerLanguage::core&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLanguage::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Session ===&lt;br /&gt;
&lt;br /&gt;
==== JSessionStorageDatabase ====&lt;br /&gt;
*JSessionStorageDatabase::_data has been renamed to JSessionStorageDatabase::data&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdate ====&lt;br /&gt;
*JUpdate::_xml_parser has been renamed to JUpdate::xmlParser&lt;br /&gt;
*JUpdate::_stack has been renamed to JUpdate::stack&lt;br /&gt;
*JUpdate::_state_store has been renamed to JUpdate::stateStore&lt;br /&gt;
*JUpdate::_current_update has been renamed to JUpdate::currentUpdate&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
*JAuthentication::_observers has been renamed to JAuthentication::observers&lt;br /&gt;
*JAuthentication::_state has been renamed to JAuthentication::state&lt;br /&gt;
*JAuthentication::_methods has been renamed to JAuthentication::methods&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JBuffer ====&lt;br /&gt;
*JBuffer::_buffers has been renamed to JBuffer::buffers&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
*JDate::_tz has been renamed to JDate::tz.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*JUtility is not always loaded. If you need it you have to add jimport(&#039;joomla.utilities.utility&#039;); to your code.&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Component Classes ===&lt;br /&gt;
*MenusModelItem::getItem() no longer returns a JObject but a stdClass.&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=68227</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=68227"/>
		<updated>2012-07-10T14:09:00Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Updated System Requirements ==&lt;br /&gt;
The system requirements have changed in the following points:&lt;br /&gt;
*PHP 5.3.1&lt;br /&gt;
*register_globals must be off&lt;br /&gt;
*magic_quotes_gpc must be off&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Almost all functions, methods, members and classed marked as deprecated 12.1 have been removed. They won&#039;t be listed in this document.&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
*Some cookies are only accessible trough HTTP (not via JavaScript). For example the session cookie.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting a connection is only opened when running a query or explicitly calling JDatabseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentXml ====&lt;br /&gt;
*JDocumentXml::_name has been renamed to JDocumentXml::name&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
*JBrowser::_majorVersion has been renamed to JBrowser::majorVersion&lt;br /&gt;
*JBrowser::_minorVersion has been renamed to JBrowser::minorVersion&lt;br /&gt;
*JBrowser::_browser has been renamed to JBrowser::browser&lt;br /&gt;
*JBrowser::_agent has been renamed to JBrowser::agent&lt;br /&gt;
*JBrowser::_lowerAgent has been renamed to JBrowser::lowerAgent&lt;br /&gt;
*JBrowser::_accept has been renamed to JBrowser::accept&lt;br /&gt;
*JBrowser::_accept_parsed has been renamed to JBrowser::acceptParsed&lt;br /&gt;
*JBrowser::_platform has been renamed to JBrowser::platform&lt;br /&gt;
*JBrowser::_robots has been renamed to JBrowser::robots&lt;br /&gt;
*JBrowser::_mobile has been renamed to JBrowser::mobile&lt;br /&gt;
*JBrowser::_images has been renamed to JBrowser::images&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JUri::_uri has been renamed to JUri::uri&lt;br /&gt;
*JUri::_scheme has been renamed to JUri::scheme&lt;br /&gt;
*JUri::_host has been renamed to JUri::host&lt;br /&gt;
*JUri::_port has been renamed to JUri::port&lt;br /&gt;
*JUri::_user has been renamed to JUri::user&lt;br /&gt;
*JUri::_pass has been renamed to JUri::pass&lt;br /&gt;
*JUri::_path has been renamed to JUri::path&lt;br /&gt;
*JUri::_query has been renamed to JUri::query&lt;br /&gt;
*JUri::_fragment has been renamed to JUri::fragment&lt;br /&gt;
*JUri::_vars has been renamed to JUri::vars&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JProfiler::_start has been renamed to JProfiler::start&lt;br /&gt;
*JProfiler::_prefix has been renamed to JProfiler::prefix&lt;br /&gt;
*JProfiler::_buffer has been renamed to JProfiler::buffer&lt;br /&gt;
*JProfiler::_previous_time has been renamed to JProfiler::previousTime&lt;br /&gt;
*JProfiler::_previous_mem has been renamed to JProfiler::previousMem&lt;br /&gt;
*JProfiler::_iswin has been renamed to JProfiler::isWin&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
==== JStream ====&lt;br /&gt;
*JStream::_fh has been renamed to JStream::fh&lt;br /&gt;
*JStream::_filesize has been renamed to JStream::filesize&lt;br /&gt;
*JStream::_context has been renamed to JStream::context&lt;br /&gt;
*JStream::_contextOptions has been renamed to JStream::contextOptions&lt;br /&gt;
*JStream::_openmode has been renamed to JStream::openmode&lt;br /&gt;
&lt;br /&gt;
==== JStreamString ====&lt;br /&gt;
*JStream::_currentstring has been renamed to JStream::currentString&lt;br /&gt;
*JStream::_path has been renamed to JStream::path&lt;br /&gt;
*JStream::_mode has been renamed to JStream::mode&lt;br /&gt;
*JStream::_options has been renamed to JStream::options&lt;br /&gt;
*JStream::_opened_path has been renamed to JStream::openedPath&lt;br /&gt;
*JStream::_pos has been renamed to JStream::pos&lt;br /&gt;
*JStream::_len has been renamed to JStream::len&lt;br /&gt;
*JStream::_stat has been renamed to JStream::stat&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlSelect ====&lt;br /&gt;
*JHtmlSelect::_optionDefaults has been renamed to JHtmlSelect::optionDefaults&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JPagination ====&lt;br /&gt;
*JPagination::_viewall has been renamed to JPagination::viewall&lt;br /&gt;
*JPagination::_additionalUrlParams has been renamed to JPagination::additionalUrlParams&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
*JInstaller::_paths has been renamed to JInstaller::paths&lt;br /&gt;
*JInstaller::_upgrade has been renamed to JInstaller::upgrade&lt;br /&gt;
*JInstaller::_overwrite has been renamed to JInstaller::overwrite&lt;br /&gt;
*JInstaller::_stepStack has been renamed to JInstaller::stepStack&lt;br /&gt;
&lt;br /&gt;
==== JInstallerLanguage ====&lt;br /&gt;
*JInstallerLanguage::_core as been renamed to JInstallerLanguage::core&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLanguage::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Session ===&lt;br /&gt;
&lt;br /&gt;
==== JSessionStorageDatabase ====&lt;br /&gt;
*JSessionStorageDatabase::_data has been renamed to JSessionStorageDatabase::data&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdate ====&lt;br /&gt;
*JUpdate::_xml_parser has been renamed to JUpdate::xmlParser&lt;br /&gt;
*JUpdate::_stack has been renamed to JUpdate::stack&lt;br /&gt;
*JUpdate::_state_store has been renamed to JUpdate::stateStore&lt;br /&gt;
*JUpdate::_current_update has been renamed to JUpdate::currentUpdate&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
*JAuthentication::_observers has been renamed to JAuthentication::observers&lt;br /&gt;
*JAuthentication::_state has been renamed to JAuthentication::state&lt;br /&gt;
*JAuthentication::_methods has been renamed to JAuthentication::methods&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JBuffer ====&lt;br /&gt;
*JBuffer::_buffers has been renamed to JBuffer::buffers&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
*JDate::_tz has been renamed to JDate::tz.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Component Classes ===&lt;br /&gt;
*MenusModelItem::getItem() no longer returns a JObject but a stdClass.&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=68226</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=68226"/>
		<updated>2012-07-10T14:05:22Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Updated System Requirements ==&lt;br /&gt;
The system requirements have changed in the following points:&lt;br /&gt;
*PHP 5.3.1&lt;br /&gt;
*register_globals must be off&lt;br /&gt;
*magic_quotes_gpc must be off&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
*Some cookies are only accessible trough HTTP (not via JavaScript). For example the session cookie.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting a connection is only opened when running a query or explicitly calling JDatabseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentXml ====&lt;br /&gt;
*JDocumentXml::_name has been renamed to JDocumentXml::name&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
*JBrowser::_majorVersion has been renamed to JBrowser::majorVersion&lt;br /&gt;
*JBrowser::_minorVersion has been renamed to JBrowser::minorVersion&lt;br /&gt;
*JBrowser::_browser has been renamed to JBrowser::browser&lt;br /&gt;
*JBrowser::_agent has been renamed to JBrowser::agent&lt;br /&gt;
*JBrowser::_lowerAgent has been renamed to JBrowser::lowerAgent&lt;br /&gt;
*JBrowser::_accept has been renamed to JBrowser::accept&lt;br /&gt;
*JBrowser::_accept_parsed has been renamed to JBrowser::acceptParsed&lt;br /&gt;
*JBrowser::_platform has been renamed to JBrowser::platform&lt;br /&gt;
*JBrowser::_robots has been renamed to JBrowser::robots&lt;br /&gt;
*JBrowser::_mobile has been renamed to JBrowser::mobile&lt;br /&gt;
*JBrowser::_images has been renamed to JBrowser::images&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JUri::_uri has been renamed to JUri::uri&lt;br /&gt;
*JUri::_scheme has been renamed to JUri::scheme&lt;br /&gt;
*JUri::_host has been renamed to JUri::host&lt;br /&gt;
*JUri::_port has been renamed to JUri::port&lt;br /&gt;
*JUri::_user has been renamed to JUri::user&lt;br /&gt;
*JUri::_pass has been renamed to JUri::pass&lt;br /&gt;
*JUri::_path has been renamed to JUri::path&lt;br /&gt;
*JUri::_query has been renamed to JUri::query&lt;br /&gt;
*JUri::_fragment has been renamed to JUri::fragment&lt;br /&gt;
*JUri::_vars has been renamed to JUri::vars&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JProfiler::_start has been renamed to JProfiler::start&lt;br /&gt;
*JProfiler::_prefix has been renamed to JProfiler::prefix&lt;br /&gt;
*JProfiler::_buffer has been renamed to JProfiler::buffer&lt;br /&gt;
*JProfiler::_previous_time has been renamed to JProfiler::previousTime&lt;br /&gt;
*JProfiler::_previous_mem has been renamed to JProfiler::previousMem&lt;br /&gt;
*JProfiler::_iswin has been renamed to JProfiler::isWin&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
==== JStream ====&lt;br /&gt;
*JStream::_fh has been renamed to JStream::fh&lt;br /&gt;
*JStream::_filesize has been renamed to JStream::filesize&lt;br /&gt;
*JStream::_context has been renamed to JStream::context&lt;br /&gt;
*JStream::_contextOptions has been renamed to JStream::contextOptions&lt;br /&gt;
*JStream::_openmode has been renamed to JStream::openmode&lt;br /&gt;
&lt;br /&gt;
==== JStreamString ====&lt;br /&gt;
*JStream::_currentstring has been renamed to JStream::currentString&lt;br /&gt;
*JStream::_path has been renamed to JStream::path&lt;br /&gt;
*JStream::_mode has been renamed to JStream::mode&lt;br /&gt;
*JStream::_options has been renamed to JStream::options&lt;br /&gt;
*JStream::_opened_path has been renamed to JStream::openedPath&lt;br /&gt;
*JStream::_pos has been renamed to JStream::pos&lt;br /&gt;
*JStream::_len has been renamed to JStream::len&lt;br /&gt;
*JStream::_stat has been renamed to JStream::stat&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlSelect ====&lt;br /&gt;
*JHtmlSelect::_optionDefaults has been renamed to JHtmlSelect::optionDefaults&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JPagination ====&lt;br /&gt;
*JPagination::_viewall has been renamed to JPagination::viewall&lt;br /&gt;
*JPagination::_additionalUrlParams has been renamed to JPagination::additionalUrlParams&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
*JInstaller::_paths has been renamed to JInstaller::paths&lt;br /&gt;
*JInstaller::_upgrade has been renamed to JInstaller::upgrade&lt;br /&gt;
*JInstaller::_overwrite has been renamed to JInstaller::overwrite&lt;br /&gt;
*JInstaller::_stepStack has been renamed to JInstaller::stepStack&lt;br /&gt;
&lt;br /&gt;
==== JInstallerLanguage ====&lt;br /&gt;
*JInstallerLanguage::_core as been renamed to JInstallerLanguage::core&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLanguage::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Session ===&lt;br /&gt;
&lt;br /&gt;
==== JSessionStorageDatabase ====&lt;br /&gt;
*JSessionStorageDatabase::_data has been renamed to JSessionStorageDatabase::data&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdate ====&lt;br /&gt;
*JUpdate::_xml_parser has been renamed to JUpdate::xmlParser&lt;br /&gt;
*JUpdate::_stack has been renamed to JUpdate::stack&lt;br /&gt;
*JUpdate::_state_store has been renamed to JUpdate::stateStore&lt;br /&gt;
*JUpdate::_current_update has been renamed to JUpdate::currentUpdate&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
*JAuthentication::_observers has been renamed to JAuthentication::observers&lt;br /&gt;
*JAuthentication::_state has been renamed to JAuthentication::state&lt;br /&gt;
*JAuthentication::_methods has been renamed to JAuthentication::methods&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JBuffer ====&lt;br /&gt;
*JBuffer::_buffers has been renamed to JBuffer::buffers&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
*JDate::_tz has been renamed to JDate::tz.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:Questions_to_ask_a_prospective_hosting_company&amp;diff=67511</id>
		<title>Talk:Questions to ask a prospective hosting company</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:Questions_to_ask_a_prospective_hosting_company&amp;diff=67511"/>
		<updated>2012-06-06T13:32:12Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Aim:&#039;&#039;&#039; A simple list of questions anyone could copy &amp;amp; paste to their prospective host before purchasing hosting plus a list of &#039;acceptable/minimum&#039; answers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target:&#039;&#039;&#039; Although it could apply to everyone who uses Joomla!, it would be good to target new non-technical users and make it as simple as possible for them to buy good hosting at whatever level&lt;br /&gt;
&lt;br /&gt;
These would be helpful guidelines and no responsibility could be taken by Joomla! for misinformation. It is not within the scope of this list to help choose a hosting company or offer advice on type or cost.&lt;br /&gt;
&lt;br /&gt;
KISS&lt;br /&gt;
&lt;br /&gt;
1. What version of PHP do you use?&lt;br /&gt;
Answer should be 5.3.1 or newer. [Maybe ask for 5.3.6 instead?)&lt;br /&gt;
&lt;br /&gt;
2. (if you plan to use MySQL) Is InnoDB as a MySQL storage engine available?&lt;br /&gt;
Answer should be yes&lt;br /&gt;
[Alternatively we could ask for at least MySQL 5.5]&lt;br /&gt;
&lt;br /&gt;
3. Are files uploaded trough FTP writeable trough PHP without setting permissions to 777?&lt;br /&gt;
Answer should be yes.&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_Platform_autoloader_coverage&amp;diff=67466</id>
		<title>Joomla Platform autoloader coverage</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_Platform_autoloader_coverage&amp;diff=67466"/>
		<updated>2012-06-02T13:31:20Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Created page with &amp;quot;Current trunk is used as the base. Note the classes in the legacy folder should all be autoloadable so they are ignored in this listing. Classes made autoloadable by registering ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Current trunk is used as the base. Note the classes in the legacy folder should all be autoloadable so they are ignored in this listing. Classes made autoloadable by registering them to JLoader count as not autoloadable. Classes only kept around to load the new classes (aliases) are ignored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Package || Coverage &lt;br /&gt;
|- &lt;br /&gt;
|| Access || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Application || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| Archive || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Base || style=&amp;quot;background: red&amp;quot; | None&lt;br /&gt;
|- &lt;br /&gt;
|| Cache || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Client || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Controller || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Crypt || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Database || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Date || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Document || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| Environment || style=&amp;quot;background: red&amp;quot; | None&lt;br /&gt;
|- &lt;br /&gt;
|| Event || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| FileSystem || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| Filter || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Form || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| GitHub || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| HTML || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| HTTP || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Image || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Input || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Installer || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| Language || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| Log || style=&amp;quot;background: yellow&amp;quot; | Buggy&lt;br /&gt;
|- &lt;br /&gt;
|| Mail || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Model || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Object || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Pagination || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Plugin || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Profiler || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Registry || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Session || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| String || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Table || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Updater || style=&amp;quot;background: yellow&amp;quot; | Partly&lt;br /&gt;
|- &lt;br /&gt;
|| User || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|- &lt;br /&gt;
|| Utilities || style=&amp;quot;background: red&amp;quot; | None&lt;br /&gt;
|- &lt;br /&gt;
|| View || style=&amp;quot;background: lightgreen&amp;quot; | Complete&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65661</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65661"/>
		<updated>2012-03-14T03:28:35Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting a connection is only opened when running a query or explicitly calling JDatabseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLangauge::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65660</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65660"/>
		<updated>2012-03-14T03:27:16Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy connection handling a connection is only opened when running a query or explicitly calling JDatabseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLangauge::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:GSOC_2012_Project_Ideas&amp;diff=65472</id>
		<title>Archived:GSOC 2012 Project Ideas</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:GSOC_2012_Project_Ideas&amp;diff=65472"/>
		<updated>2012-03-06T02:51:19Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* Project: Document Classes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome!==&lt;br /&gt;
Welcome to the Joomla! Google Summer of Code (GSoC) 2012 project ideas page. As we move forward with the 2012 version of the Joomla! GSoC, we will use this page to develop possible project ideas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. Thanks!&lt;br /&gt;
&lt;br /&gt;
Discussion of ideas and other GSoC related items is welcome on our Google Group: https://groups.google.com/forum/?fromgroups#!forum/joomla-gsoc-2012&lt;br /&gt;
&lt;br /&gt;
If you are interested in serving as a mentor, please fill out the [https://docs.google.com/spreadsheet/viewform?formkey=dERlY0dxekFUWEg4ME1YZDhVMDhJMGc6MQ#gid=0 Mentor Application Form].&lt;br /&gt;
&lt;br /&gt;
If you are interested in participating as a student please review the materials on applying that are available at [http://code.google.com/soc/ Google].  We strongly encourage you to ask questions about process and ideas on the mailing list.&lt;br /&gt;
&lt;br /&gt;
* [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/userguide#depth_mentor Guide for Mentors]&lt;br /&gt;
* [http://www.google-melange.com/document/show/gsoc_program/google/gsoc2012/faqs Google Summer of Code™ 2012 Frequently Asked Questions]&lt;br /&gt;
&lt;br /&gt;
==Ideas==&lt;br /&gt;
&lt;br /&gt;
Opportunities exist for students to work with projects from either the Joomla CMS, the Joomla Platform or in some cases a combination of both.&lt;br /&gt;
&lt;br /&gt;
In addition to this ideas list, the Joomla! Community is able to voice their opinion on features they would like to see via the [http://ideas.joomla.org/ Joomla! Idea Pool].  Those wishing to add ideas to this listing are encouraged to review the Idea Pool and base their idea on the input received there.&lt;br /&gt;
&lt;br /&gt;
===Joomla CMS===&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/joomla/joomla-cms Source Code]&lt;br /&gt;
* [http://groups.google.com/d/forum/joomla-dev-cms Developer Mailing List]&lt;br /&gt;
&lt;br /&gt;
====Project: Language Installation====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief Explanation:&#039;&#039;&#039; Create an interface to install language packs from a generated list of accredited language packs during Joomla installation and subsequently from the administrator interface, either the extension manager or the language manager.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://joomlacode.org/gf/project/jtranslation1_6/frs/&lt;br /&gt;
* https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/updater&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; The goal is to have code implementing this functionally complete and in a format ready for testings by the Joomla Bug Squad as a new feature in the CMS using the normal new feature process.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, JSON, web services&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: Joomla Translations====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Create a centralized translation tool, which will be a kind of Facebook Self-Translation App for Joomla! communities to have better translation.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; The centralized website will make better translations for Joomla! It will help non-English speaking translation teams to get feedback about translation quality from people, who speak the same language. So translation teams can involve more volunteers in translation process. It will help also extension developers to translate their software. It will enable ability to submit a new extension translation INI file in English and get the translated version from the translation teams.&lt;br /&gt;
&lt;br /&gt;
:See&lt;br /&gt;
:*[http://www.facebook.com/translations/ Facebook Self-Translation]&lt;br /&gt;
:*[http://localize.drupal.org localize.drupal.org]&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; PHP, JavaScript, MySQL, Joomla! Framework&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Edvard Ananyan&lt;br /&gt;
&lt;br /&gt;
====Project: CMS Unit Testing====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; The Joomla CMS has its own set of classes that augment the Joomla platform but these are not well tested. The goal of this project is to improve the code coverage by writing unit tests for library classes specific to the Joomla CMS.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; The student will be expected to review the current code coverage for the Joomla CMS libraries (/libraries/cms) and write and agreed-upon number of unit tests with particular attention to packages and classes that are below 50% coverage.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; PHP, PHPUnit&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: Add Article Image support to Core Content Modules====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Joomla 2.5.x ships with several core content modules. These modules can display article lists or links. However they do not support bringing in article images. This project would be to make some minor code updates to all the core content modules to add article image support and parameters. Some basic parameters would be to show / hide the article image, specify a thumbnail size, enable or disable article links on the image, and whether or not to respect the image&#039;s proportion when resized as a thumbnail.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; The student will be expected to modify and update Joomla&#039;s core content modules and make modifications to the multiple files in the MVC structure to add parameters, and add additional code to the module&#039;s HTML output. The module should interface with the Joomla core class JImage as well to create the thumbnail image. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; PHP, Joomla! Framework&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Chad Windnagle&lt;br /&gt;
&lt;br /&gt;
===Joomla Platform===&lt;br /&gt;
&lt;br /&gt;
The Joomla Platform allows for ideas that can work within the Joomla CMS, or could be completely separate applications that have no connection at all. The Joomla Platform allows for applications to be built for the command line, process daemons and web services. The follow list outlines some ideas that will be immediately useful for the Joomla Platform project that a student may consider taking on. In addition to PHP libraries, the Joomla Platform also ships with Mootools and project ideas can be related to client-side operations as well as server-side.&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/joomla/joomla-platform github Source Code]&lt;br /&gt;
*[http://developer.joomla.org/strategy.html Development Strategy]&lt;br /&gt;
*[http://groups.google.com/d/forum/joomla-dev-platform Developer Mailing List]&lt;br /&gt;
&lt;br /&gt;
All code contributions must follow Joomla coding standards and include full unit test coverage.&lt;br /&gt;
&lt;br /&gt;
====Project: Document Classes====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Create JCard, JCalendar and other extensible classes that will read and produce standards compliant documents of specific types (e.g. vCard,iCal).&lt;br /&gt;
References (examples):&lt;br /&gt;
* http://en.wikipedia.org/wiki/ICalendar&lt;br /&gt;
* http://www.imc.org/pdi/&lt;br /&gt;
* http://tools.ietf.org/html/rfc5545&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, XML, web standards, &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; A fully developed, unit tested and document set of classes (specific number and choices will be finalized in discussion with the mentor and platform maintainers) and a simple platform application illustrating use.&lt;br /&gt;
&lt;br /&gt;
====Project: Library to Compile and Compress Javascript and CSS Files====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Compiling and compressng javascript and CSS files can substantially the improve performance of a web site. Providing a package to do this will help the CMS and other web applications.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, PHP, javascript&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: JMailer====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Build out a JMailer class to replace PHPMailer in the platform. This should build upon preliminary work that has already been implemented and is available here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, web standards, e-mail protocols.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: JStemmer====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Currently the Joomla CMS includes only a Joomla stemmer for English while the Snowball stemmer is wrapped. We would like to move the English stemmer to the Joomla platform and make the class useful by adding Joomla stemmers for other languages.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* https://github.com/joomla/joomla-cms/tree/master/administrator/components/com_finder/helpers/indexer&lt;br /&gt;
* http://snowball.tartarus.org/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Stemming&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, language issues, web standards, &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; A platform class for stemming with subclasses for a number of specific languages (number and specific languages to be determined in discussion with mentor and the search and translation teams). The final product should be fully documented and unit tested.&lt;br /&gt;
&lt;br /&gt;
====Project: JCommerce====&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Create a commerce class based on preliminary work that has been done.&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
* https://github.com/LouisLandry/joomla-platform/tree/commerce/libraries/joomla/commerce&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, JSON, web security, standards &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: JTranscode ====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Create a  class for transcoding video using ffmpeg.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, JSON, standards, media handling &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
References: &lt;br /&gt;
*http://ffmpeg.org/&lt;br /&gt;
*http://en.wikipedia.org/wiki/Transcoding&lt;br /&gt;
&lt;br /&gt;
====Project: Extend JImage to work with IMagick ====&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; JImage is an important library added in late 2011. Extend it to work with Imagick.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
*http://www.imagemagick.org/script/index.php&lt;br /&gt;
*https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/image&lt;br /&gt;
&lt;br /&gt;
====Project: JGoogle Package ====&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Working from the model of JGithub, implement a class for incorporating Google APIs.&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
*https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/github&lt;br /&gt;
*http://code.google.com/more/&lt;br /&gt;
*http://code.google.com/more/table/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, familiarity with working with APIs&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: JFacebook Package ====&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Working from the model of JGithub, implement a class for incorporating Google APIs.&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
*https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/github&lt;br /&gt;
*http://developers.facebook.com/docs/guides/web/&lt;br /&gt;
*http://www.pluralsight-training.net/microsoft/courses/TableOfContents?courseName=fb-platform&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, familiarity with working with APIs&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: JAmazonS3 Package ====&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Working from the model of JGithub, implement a class for incorporating the Amazon S3 APIs.&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
*https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/github&lt;br /&gt;
*http://aws.amazon.com/archives/Amazon-S3/123&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, familiarity with working with APIs&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: JRackspace Package ====&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Working from the model of JGithub, implement a class for incorporating Rackspace Cloud APIs.&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
*https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/github&lt;br /&gt;
*http://www.rackspace.com/cloud/cloud_hosting_products/servers/api/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, familiarity with working with APIs&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: Social Package====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Over the last several years, social media has become a dominant force in online media.  Based on the number of extensions interacting with various social media APIs, it would be logical to build a Social package for the Joomla! Platform that provides a common and simplified interface to post and retrieve data from various social media networks.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, familiarity with social media APIs (Facebook, Twitter, Google+, etc.), OAuth&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Michael Babker&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: Platform Unit Testing====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; The Joomla Platform has a good suite of automated Unit Tests, but code coverage is lacking in some areas. The goal of this project is to improve the code coverage by writing unit tests for the Joomla Platform.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; The student will be expected to review the current [http://developer.joomla.org/coverage/ code coverage report] for the Joomla Platform and write and agreed-upon number of unit tests with particular attention to packages that are below 50% coverage. Preference should be given to non-deprecated classes but the student may choose from either the core tree (/libraries/joomla) or the legacy tree (/libraries/legacy).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; PHP, PHPUnit&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Platform Applications===&lt;br /&gt;
&lt;br /&gt;
The creation of useful platform applications that can also serve as examplars for other platform developers is a third type of project. These applications, whether web or command line based, are built on the Joomla! Platform.&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
*https://github.com/joomla/joomla-platform-examples&lt;br /&gt;
*https://github.com/joomla/joomla-platform&lt;br /&gt;
&lt;br /&gt;
====Project: Platform Application to Create PHAR Packages====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; Create a platform application that creates PHAR packages for each library in the Joomla Platform.The goal here is to make the platform accessible to developers in a modular fashion so that they can access only the libraries they need for a given application. &lt;br /&gt;
Reference:&lt;br /&gt;
*http://php.net/manual/en/intro.phar.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, PHP  &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Project: Platform Example or Building Block Applications====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; The Platform Examples repository currently contains a number of very simple sample &amp;quot;Hello world!&amp;quot; applications. Create a number of example web and command line applications using the platform API that could be used as building blocks by developers building more complex applications. Examples would include authentication, cache, form, filesystem, http, and streams classes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; Joomla Platform, PHP  &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium to Hard&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Project: Joomla Platform Application Directory====&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Brief explanation:&#039;&#039;&#039; The Joomla project has several directory sites dedicated to extensions for the Joomla CMS (the [http://extensions.joomla.org JED]) and free and commercial resources (the [http://resources.joomla.org JRD]). With the release of the Joomla Platform, and it&#039;s particular attention to allowing other types of applications (not just the CMS), there is a need for a new website to act as a directory for these applications. The goal of this project is to build a new Joomla Platform application (not a Joomla component but a full application) to serve as this directory.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Expected Results:&#039;&#039;&#039; The student will be expected to build a new web application based on JApplicationWeb and the new Universal Content Model (UCM) package loosely inline with the other Joomla directory sites (the JED and the JRD). This is expected to be a &amp;quot;phase 1&amp;quot; project where the features will include user registration (agreeing to terms) and login, simple information pages (like Joomla articles) and listing pages for Joomla Platform applications. Suitable fields will be required and should include such things as application type (command line application, daemon, web application, web service, etc), what the application does, how to get it and so forth. The student is not expected to design the final template but should look to [http://twitter.github.com/bootstrap/ Bootstrap] for basic inspiration. Simple categorization will also be required. Global search can be added if time permits.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Knowledge Prerequisite:&#039;&#039;&#039; PHP, OOP&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard but very rewarding&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Mentor:&#039;&#039;&#039; Andrew Eddie&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65107</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65107"/>
		<updated>2012-02-22T15:37:53Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLangauge::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65104</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65104"/>
		<updated>2012-02-22T11:58:04Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
= Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLangauge::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65079</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65079"/>
		<updated>2012-02-19T22:37:59Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* JavaScript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JHtmlList::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65078</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65078"/>
		<updated>2012-02-19T22:36:09Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* JRequest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JHtmlList::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65075</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65075"/>
		<updated>2012-02-19T19:37:32Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JHtmlList::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65073</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=65073"/>
		<updated>2012-02-19T19:28:23Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* Classes moved within the platform */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64977</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64977"/>
		<updated>2012-02-13T20:24:42Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64876</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64876"/>
		<updated>2012-02-12T23:43:07Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64875</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64875"/>
		<updated>2012-02-12T23:42:58Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64873</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64873"/>
		<updated>2012-02-12T23:30:01Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Undo revision 64864 by Elkuku (talk) SimpleXMLElement::attributes is not a method, it&amp;#039;s a class member&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== JFactory ===&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64861</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64861"/>
		<updated>2012-02-12T15:06:34Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead.&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::_createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::_createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::_createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::_createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64848</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64848"/>
		<updated>2012-02-11T15:40:34Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== Genereal changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*Note that the 1.5 XML format using &#039;install&#039; is not supported anymore.&lt;br /&gt;
*Plug-ins now have to be in their own folder.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::oadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::ueryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods anymore.&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. &lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::_createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::_createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::_createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::_createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools has been removed. Use JHtmlBehavior::framework instead,&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64847</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64847"/>
		<updated>2012-02-11T15:13:21Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Removed Constants ==&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
*Note that the 1.5 XML format using &#039;install&#039; is not supported anymore.&lt;br /&gt;
*Plug-ins now have to be in their own folder.&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite()  instead.&lt;br /&gt;
JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade()  instead.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLangauge::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLangauge::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64846</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64846"/>
		<updated>2012-02-11T15:06:59Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Removed Constants ==&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot; by default&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64845</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=64845"/>
		<updated>2012-02-11T14:34:32Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Created page with &amp;quot;= Platform =  == Removed classes == *JParameter and its subclasses (use JForm instead) *JFormFieldEditors (use JFormFieldPlugins instead) *JHtmlImage *JSimpleXML *JPane  == Remov...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Platform =&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter and its subclasses (use JForm instead)&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Removed Methods ==&lt;br /&gt;
&lt;br /&gt;
== Removed Constants ==&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=64818</id>
		<title>Technical requirements</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=64818"/>
		<updated>2012-02-08T14:27:00Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More details can be found on [http://www.joomla.org/about-joomla/technical-requirements.html Joomla.org].&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.6/1.7/2.5 {{JVer|1.6}}{{JVer|1.7}}{{JVer|2.5}} =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&lt;br /&gt;
|5.3+&lt;br /&gt;
|5.2.4+&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot;&amp;gt;In order to use [[SEF URLs]], you will need to have the Apache mod_rewrite extension installed.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|2.x+&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&amp;lt;ref&amp;gt;For Microsoft IIS you need MySQL 5.1 or newer.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|7&lt;br /&gt;
|7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.5 {{JVer|1.5}} =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&amp;lt;ref&amp;gt;Do not use PHP 4.3.9, 4.4.2 or 5.0.4. These releases have known bugs that will interfere with installation. Zend Optimizer 2.5.10 for PHP 4.4.x also has serious bugs and you should ask your host to upgrade to a newer version. Joomla! versions 1.5.15 + are compatible with PHP 5.3. Note that the OpenID library is not yet compatible with PHP 5.3.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|5.2+&lt;br /&gt;
|4.3.10&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|4.1.x+&lt;br /&gt;
|3.23&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot; /&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|1.3&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Joomla! 1.5]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=64287</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=64287"/>
		<updated>2012-01-11T00:11:28Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 2.5 and Joomla Platform 11.4 which will be included in Joomla 2.5. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray() has been removed&lt;br /&gt;
&lt;br /&gt;
== JArchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
== JSimpleXML ==&lt;br /&gt;
*The following class members have become private:&lt;br /&gt;
**JSimpleXML:: $_parser&lt;br /&gt;
**JSimpleXML:: $_xml&lt;br /&gt;
**JSimpleXML:: $_stack&lt;br /&gt;
&lt;br /&gt;
== JComponentHelper ==&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
== Plug-in events ==&lt;br /&gt;
*onPrepareUserProfileData has been removed. Instead respond to onContentPrepareData with a context of com_users.profile&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=64286</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=64286"/>
		<updated>2012-01-10T23:46:47Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* JRequest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 2.5 and Joomla Platform 11.4 which will be included in Joomla 2.5. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray() has been removed&lt;br /&gt;
&lt;br /&gt;
== JArchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
== JSimpleXML ==&lt;br /&gt;
*The following class members have become private:&lt;br /&gt;
**JSimpleXML:: $_parser&lt;br /&gt;
**JSimpleXML:: $_xml&lt;br /&gt;
**JSimpleXML:: $_stack&lt;br /&gt;
&lt;br /&gt;
== JComponentHelper ==&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Plug-in events ==&lt;br /&gt;
*onPrepareUserProfileData has been removed. Instead respond to onContentPrepareData with a context of com_users.profile&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=64284</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=64284"/>
		<updated>2012-01-10T16:00:59Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 2.5 and Joomla Platform 11.4 which will be included in Joomla 2.5. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray has been removed&lt;br /&gt;
&lt;br /&gt;
== JArchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
== JSimpleXML ==&lt;br /&gt;
*The following class members have become private:&lt;br /&gt;
**JSimpleXML:: $_parser&lt;br /&gt;
**JSimpleXML:: $_xml&lt;br /&gt;
**JSimpleXML:: $_stack&lt;br /&gt;
&lt;br /&gt;
== JComponentHelper ==&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Plug-in events ==&lt;br /&gt;
*onPrepareUserProfileData has been removed. Instead respond to onContentPrepareData with a context of com_users.profile&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_Browser_Support&amp;diff=63752</id>
		<title>Joomla Browser Support</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_Browser_Support&amp;diff=63752"/>
		<updated>2011-12-21T21:23:30Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ambox|image=notice|text=This is a work in progress and not the official policy of the Joomla project.|style=width:400px}}&lt;br /&gt;
&lt;br /&gt;
This document lists which browsers are fully supported by a given Joomla release. In general all code should be written in a way that the content is still accessible in older browsers as well. In case Joomla doesn&#039;t work with one of the listed browser please file a bug report.&lt;br /&gt;
&lt;br /&gt;
In general we will only support the newest releases of Opera and Chrome. For Internet Explorer, Firefox and Safari the current browser version at the time of Joomla&#039;s release and all future versions are supported. Also selected older versions are supported based on market share.&lt;br /&gt;
&lt;br /&gt;
Note: Information for feature version may change up to the date of the release&lt;br /&gt;
&lt;br /&gt;
= Joomla 3.0 (July 2012) =&lt;br /&gt;
*Internet Explorer 8 and newer&lt;br /&gt;
*Firefox 13 and newer&lt;br /&gt;
*Safari 5.1 and newer&lt;br /&gt;
*Chrome XY and newer&lt;br /&gt;
*Opera 11.6&lt;br /&gt;
&lt;br /&gt;
= Joomla 2.5 (January 2012, LTS) =&lt;br /&gt;
*Internet Explorer 7 and newer&lt;br /&gt;
*Firefox 3.6&lt;br /&gt;
*Firefox 9&lt;br /&gt;
*Safari 5 and newer&lt;br /&gt;
*Chrome 17&lt;br /&gt;
*Opera 11.6&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63413</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63413"/>
		<updated>2011-12-04T17:30:38Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray has been removed&lt;br /&gt;
&lt;br /&gt;
== JArchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
== JSimpleXML ==&lt;br /&gt;
*The following class members have become private:&lt;br /&gt;
**JSimpleXML:: $_parser&lt;br /&gt;
**JSimpleXML:: $_xml&lt;br /&gt;
**JSimpleXML:: $_stack&lt;br /&gt;
&lt;br /&gt;
== Plug-in events ==&lt;br /&gt;
*onPrepareUserProfileData has been removed. Instead respond to onContentPrepareData with a context of com_users.profile&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63412</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63412"/>
		<updated>2011-12-04T17:29:05Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray has been removed&lt;br /&gt;
&lt;br /&gt;
== JArchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
== Plug-in events ==&lt;br /&gt;
*onPrepareUserProfileData has been removed. Instead respond to onContentPrepareData with a context of com_users.profile&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63370</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63370"/>
		<updated>2011-12-02T23:50:56Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray has been removed&lt;br /&gt;
&lt;br /&gt;
== JAtchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63369</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63369"/>
		<updated>2011-12-02T23:50:04Z</updated>

		<summary type="html">&lt;p&gt;Realityking: /* JFTP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*All class members except JFTP::$instances have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray has been removed&lt;br /&gt;
&lt;br /&gt;
== JAtchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63368</id>
		<title>J2.5:Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Potential_backward_compatibility_issues_in_Joomla_2.5_and_Joomla_Platform_11.4&amp;diff=63368"/>
		<updated>2011-12-02T23:48:10Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Created page with &amp;quot;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially bre...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.7/Platform 11.2.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 1.7: [Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
&lt;br /&gt;
== JFTP ==&lt;br /&gt;
*Some class variables have become private&lt;br /&gt;
&lt;br /&gt;
== JError ==&lt;br /&gt;
*JError::$_error has become protected&lt;br /&gt;
&lt;br /&gt;
== JRequest ==&lt;br /&gt;
* JRequest::_cleanArray has been removed&lt;br /&gt;
&lt;br /&gt;
== JAtchive ==&lt;br /&gt;
* The following class member have become private:&lt;br /&gt;
**JArchiveGzip:: $_flags&lt;br /&gt;
**JArchiveGzip:: $_data&lt;br /&gt;
**JArchiveTar:: $_types&lt;br /&gt;
**JArchiveTar:: $_flags&lt;br /&gt;
**JArchiveTar:: $_data&lt;br /&gt;
**JArchiveTar:: $_metadata&lt;br /&gt;
**JArchiveZip:: $_methods&lt;br /&gt;
**JArchiveZip:: $_ctrlDirHeader&lt;br /&gt;
**JArchiveZip:: $_ctrlDirEnd&lt;br /&gt;
**JArchiveZip:: $_fileHeader&lt;br /&gt;
**JArchiveZip:: $_data&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.2&amp;diff=63366</id>
		<title>Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.2&amp;diff=63366"/>
		<updated>2011-12-02T23:40:37Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 1.6.&lt;br /&gt;
&lt;br /&gt;
= Platform {{JVer|11.1}} = &lt;br /&gt;
*JPATH_PLATFORM is now used instead of JPATH_LIBRARIES (JPATH_LIBRARIES will continue to be supported for version 1.7)&lt;br /&gt;
&lt;br /&gt;
== JDatabaseQuery ==&lt;br /&gt;
&lt;br /&gt;
JDatabaseQuery is now abstract due of the work done to support new database engines (Windows Azure and Microsoft SQL Server). This means you &#039;&#039;&#039;must&#039;&#039;&#039; use &amp;lt;code&amp;gt;$db-&amp;gt;getQuery(true);&amp;lt;/code&amp;gt; to instantiate a query as is the &#039;&#039;&#039;correct&#039;&#039;&#039; practice in Joomla 1.6.&lt;br /&gt;
&lt;br /&gt;
== JDatabase ==&lt;br /&gt;
&lt;br /&gt;
The getConnectors method formerly supported a file called driver.php that it searched for in a folder with the same name as the database, such as /mydatabasename/driver.php. This seems never to have actually been used in the core. If you have a driver with that structure simply rename the file with the name of the database (mydatabasename.php) and place it in the libraries/database/database folder. The files and class names for database support that are currently in that folder can be used as models for this.&lt;br /&gt;
&lt;br /&gt;
== JDocument ==&lt;br /&gt;
*getHeadData(), setHeadData() and mergeHeadData() are from now on only present in JDocumentHTML. They have been removed from JDocument and JDocumentXML.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/2a72ba9e73dbd4ef1484ef0af29249aa3e0c6067 Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument since it only applies to JDocumentHTML. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JDocumentHTML ===&lt;br /&gt;
*JDocumentHTML::$_links has changed to a multidimensional array. Also the rendering of the link elements has been moved from JDocumentHTML to JDocumentRenderHead.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/7884e7d9456afac17558f6e90a0e7e86be8b14f2 Move the rendering of HTML link elements to JDocumentRendererHead. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JDocumentRendererMessage ===&lt;br /&gt;
*A div element with the ID &amp;quot;system-message-container&amp;quot; is always rendered, whether there are messages or not. This ID should not be used in any extension or template.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/bade3acf0f5ea588be92cb24d4237228c043a3c7 Modify JDocumentRendererMessage to always render &amp;amp;lt;div id=&amp;quot;system-message-container&amp;quot;&amp;gt;&amp;amp;lt;/div&amp;gt;. This makes it possible to render messages via JavaScript. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JError &amp;amp; JException ==&lt;br /&gt;
JError and JException have been deprecated with Joomla Platform 11.1.  Please see [[Exceptions and Logging in Joomla 1.7 and Joomla Platform 11.1]] for more information.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/912c09814fb45f23df8cc1ec8bfa26d92c342525 Deprecate JException (GitHub)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/aacdb90df74c00c0849e6e4694bc6e033ad0fa8c#libraries/joomla/error/error.php Deprecate JError (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JLoader ==&lt;br /&gt;
*JLoader can&#039;t load files multiple times anymore.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/bfef02de71db7aa5cb46ffdff92778fd6f14f621 Use include_once instead of include in JLoader (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JLog ==&lt;br /&gt;
* JLog has shifted to joomla.log.log from joomla.error.log and features support for multiple loggers.&lt;br /&gt;
&lt;br /&gt;
== JModuleHelper ==&lt;br /&gt;
*JModuleHelper::getModule can now match a module either with the name (usually mod_something) or module (usually something without the mod_ prefix) which means that parameters will be used if there is an instance of the module. If a faux name was being used to generate a module without parameters that will no longer work.&lt;br /&gt;
&lt;br /&gt;
== JURI ==&lt;br /&gt;
*The unused parameter $akey has been removed from JURI::buildQuery().&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/14ebbbd702c2d79098057647fcc4603157896509 Remove an unused paramet in JURI::buildQuery(). (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JUpdater ==&lt;br /&gt;
*JUpdater:: arrayUnique() has been deprecated Use JArrayHelper::arrayUnique() instead. Note that the later is static.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/354a7653ca81acc1b12a3b1c1e6188e078bd9451 Move JUpdater:arrayUnique() to JArrayHelper::arrayUnique(). Keep JUpdater:arrayUnique() as an alias an deprecate it. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*MooTools Core has been updated to version 1.3.2, MooTools More to 1.3.2.1. Due to a change in JSON handling a slight change in behavior can occur. More details can be found on the [https://github.com/mootools/mootools-core/wiki/Update-from-1.2-to-1.3 MooTools Wiki].&amp;lt;ref&amp;gt; Update Mootools to version 1.3.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=25082 Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21357 Revision]) ([https://github.com/joomla/joomla-platform/commit/2bf2ba5c7cbba19fae78b06da4fe8ddc8bce4063 GitHub])&amp;lt;/ref&amp;gt;&lt;br /&gt;
* checkAll() has been deprecated, use Joomla.checkAll() instead. Note that Joomla.checkAll() doesn&#039;t include some legacy functionality.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/d9ec6d3e15344727dc7453c4cce9137b634e8b2c Namespace the checkAll() function. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CMS {{JVer|1.7}} =&lt;br /&gt;
== General Coding Principles ==&lt;br /&gt;
Within the new Joomla release cycle, developers need to be conscious of more frequent changes to version numbers. If you are doing hard checks against, for example, a version number exactly equal to &amp;quot;1.6&amp;quot; then as we move to 1.7, those checks may fail with unexpected results.  You should ensure that version checks appropriately allow for future increments like 1.7, 1.8, 2.0, 3.0, and so on.&lt;br /&gt;
&lt;br /&gt;
== TinyMCE ==&lt;br /&gt;
*TinyMCE has been updated to the 3.4 series requiring new language files and potentially breaking TinyMCE plug-ins.&amp;lt;ref&amp;gt;Update TinyMCE to version 3.4.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=25313  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21449  Revision])&amp;lt;/ref&amp;gt;  As of 1.7 RC1, version 3.4.3.2 is distributed.&amp;lt;ref&amp;gt;Update TinyMCE to version 3.4.3.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=26349  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21783  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*MooTools Core and MooTools More will not always be loaded in the backend as it was in the past. Extensions have to specifically include it using &amp;lt;code&amp;gt;JHtml::_(&#039;behavior.framework&#039;);&amp;lt;/code&amp;gt; for Core and adding the &#039;true&#039; option for More.&amp;lt;ref&amp;gt;Don&#039;t always load Mootools (More) in the backend ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=26084  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21523  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
*The link to &amp;quot;View Site&amp;quot; is no longer included in mod_status. Administrator templates have to add it themselves.&amp;lt;ref name=ADMmodules&amp;gt;Unused admin modules ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=26174  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21721  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
*mod_online and mod_status have been removed&amp;lt;ref name=ADMmodules/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== mod_menu ===&lt;br /&gt;
*mod_menu uses a class instead of an id attribute for the itemid.&amp;lt;ref&amp;gt; mod_menu can create invalid id attribute HTML ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=24629  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21572  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Moved Files ==&lt;br /&gt;
&lt;br /&gt;
The file /libraries/version.php has been moved from the platform to the CMS, specifically to /includes/version.php. If direct access to this file is needed jimport will need to be adjusted but it also can be access by loading framework.php &lt;br /&gt;
&lt;br /&gt;
 require_once JPATH_BASE.&#039;/includes/framework.php&#039;&lt;br /&gt;
or by using JLoader.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.7 FAQ]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.1&amp;diff=63365</id>
		<title>Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.1&amp;diff=63365"/>
		<updated>2011-12-02T23:40:17Z</updated>

		<summary type="html">&lt;p&gt;Realityking: moved Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1 to Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2: Joomla 1.7 shipped with platform 11.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.2&amp;diff=63364</id>
		<title>Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.2&amp;diff=63364"/>
		<updated>2011-12-02T23:40:17Z</updated>

		<summary type="html">&lt;p&gt;Realityking: moved Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.1 to Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2: Joomla 1.7 shipped with platform 11.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This documents track potential backward compatibility issues for Joomla 1.7 and Joomla Platform 11.1 which will be included in Joomla 1.7. Listed are issues which potentially breaks extensions and newly deprecated APIs.&lt;br /&gt;
&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
= Platform {{JVer|11.1}} = &lt;br /&gt;
*JPATH_PLATFORM is now used instead of JPATH_LIBRARIES (JPATH_LIBRARIES will continue to be supported for version 1.7)&lt;br /&gt;
&lt;br /&gt;
== JDatabaseQuery ==&lt;br /&gt;
&lt;br /&gt;
JDatabaseQuery is now abstract due of the work done to support new database engines (Windows Azure and Microsoft SQL Server). This means you &#039;&#039;&#039;must&#039;&#039;&#039; use &amp;lt;code&amp;gt;$db-&amp;gt;getQuery(true);&amp;lt;/code&amp;gt; to instantiate a query as is the &#039;&#039;&#039;correct&#039;&#039;&#039; practice in Joomla 1.6.&lt;br /&gt;
&lt;br /&gt;
== JDatabase ==&lt;br /&gt;
&lt;br /&gt;
The getConnectors method formerly supported a file called driver.php that it searched for in a folder with the same name as the database, such as /mydatabasename/driver.php. This seems never to have actually been used in the core. If you have a driver with that structure simply rename the file with the name of the database (mydatabasename.php) and place it in the libraries/database/database folder. The files and class names for database support that are currently in that folder can be used as models for this.&lt;br /&gt;
&lt;br /&gt;
== JDocument ==&lt;br /&gt;
*getHeadData(), setHeadData() and mergeHeadData() are from now on only present in JDocumentHTML. They have been removed from JDocument and JDocumentXML.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/2a72ba9e73dbd4ef1484ef0af29249aa3e0c6067 Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument since it only applies to JDocumentHTML. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JDocumentHTML ===&lt;br /&gt;
*JDocumentHTML::$_links has changed to a multidimensional array. Also the rendering of the link elements has been moved from JDocumentHTML to JDocumentRenderHead.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/7884e7d9456afac17558f6e90a0e7e86be8b14f2 Move the rendering of HTML link elements to JDocumentRendererHead. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JDocumentRendererMessage ===&lt;br /&gt;
*A div element with the ID &amp;quot;system-message-container&amp;quot; is always rendered, whether there are messages or not. This ID should not be used in any extension or template.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/bade3acf0f5ea588be92cb24d4237228c043a3c7 Modify JDocumentRendererMessage to always render &amp;amp;lt;div id=&amp;quot;system-message-container&amp;quot;&amp;gt;&amp;amp;lt;/div&amp;gt;. This makes it possible to render messages via JavaScript. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JError &amp;amp; JException ==&lt;br /&gt;
JError and JException have been deprecated with Joomla Platform 11.1.  Please see [[Exceptions and Logging in Joomla 1.7 and Joomla Platform 11.1]] for more information.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/912c09814fb45f23df8cc1ec8bfa26d92c342525 Deprecate JException (GitHub)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/aacdb90df74c00c0849e6e4694bc6e033ad0fa8c#libraries/joomla/error/error.php Deprecate JError (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JLoader ==&lt;br /&gt;
*JLoader can&#039;t load files multiple times anymore.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/bfef02de71db7aa5cb46ffdff92778fd6f14f621 Use include_once instead of include in JLoader (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JLog ==&lt;br /&gt;
* JLog has shifted to joomla.log.log from joomla.error.log and features support for multiple loggers.&lt;br /&gt;
&lt;br /&gt;
== JModuleHelper ==&lt;br /&gt;
*JModuleHelper::getModule can now match a module either with the name (usually mod_something) or module (usually something without the mod_ prefix) which means that parameters will be used if there is an instance of the module. If a faux name was being used to generate a module without parameters that will no longer work.&lt;br /&gt;
&lt;br /&gt;
== JURI ==&lt;br /&gt;
*The unused parameter $akey has been removed from JURI::buildQuery().&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/14ebbbd702c2d79098057647fcc4603157896509 Remove an unused paramet in JURI::buildQuery(). (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JUpdater ==&lt;br /&gt;
*JUpdater:: arrayUnique() has been deprecated Use JArrayHelper::arrayUnique() instead. Note that the later is static.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/354a7653ca81acc1b12a3b1c1e6188e078bd9451 Move JUpdater:arrayUnique() to JArrayHelper::arrayUnique(). Keep JUpdater:arrayUnique() as an alias an deprecate it. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*MooTools Core has been updated to version 1.3.2, MooTools More to 1.3.2.1. Due to a change in JSON handling a slight change in behavior can occur. More details can be found on the [https://github.com/mootools/mootools-core/wiki/Update-from-1.2-to-1.3 MooTools Wiki].&amp;lt;ref&amp;gt; Update Mootools to version 1.3.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=25082 Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21357 Revision]) ([https://github.com/joomla/joomla-platform/commit/2bf2ba5c7cbba19fae78b06da4fe8ddc8bce4063 GitHub])&amp;lt;/ref&amp;gt;&lt;br /&gt;
* checkAll() has been deprecated, use Joomla.checkAll() instead. Note that Joomla.checkAll() doesn&#039;t include some legacy functionality.&amp;lt;ref&amp;gt;[https://github.com/joomla/joomla-platform/commit/d9ec6d3e15344727dc7453c4cce9137b634e8b2c Namespace the checkAll() function. (GitHub)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CMS {{JVer|1.7}} =&lt;br /&gt;
== General Coding Principles ==&lt;br /&gt;
Within the new Joomla release cycle, developers need to be conscious of more frequent changes to version numbers. If you are doing hard checks against, for example, a version number exactly equal to &amp;quot;1.6&amp;quot; then as we move to 1.7, those checks may fail with unexpected results.  You should ensure that version checks appropriately allow for future increments like 1.7, 1.8, 2.0, 3.0, and so on.&lt;br /&gt;
&lt;br /&gt;
== TinyMCE ==&lt;br /&gt;
*TinyMCE has been updated to the 3.4 series requiring new language files and potentially breaking TinyMCE plug-ins.&amp;lt;ref&amp;gt;Update TinyMCE to version 3.4.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=25313  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21449  Revision])&amp;lt;/ref&amp;gt;  As of 1.7 RC1, version 3.4.3.2 is distributed.&amp;lt;ref&amp;gt;Update TinyMCE to version 3.4.3.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=26349  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21783  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*MooTools Core and MooTools More will not always be loaded in the backend as it was in the past. Extensions have to specifically include it using &amp;lt;code&amp;gt;JHtml::_(&#039;behavior.framework&#039;);&amp;lt;/code&amp;gt; for Core and adding the &#039;true&#039; option for More.&amp;lt;ref&amp;gt;Don&#039;t always load Mootools (More) in the backend ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=26084  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21523  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
*The link to &amp;quot;View Site&amp;quot; is no longer included in mod_status. Administrator templates have to add it themselves.&amp;lt;ref name=ADMmodules&amp;gt;Unused admin modules ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=26174  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21721  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
*mod_online and mod_status have been removed&amp;lt;ref name=ADMmodules/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== mod_menu ===&lt;br /&gt;
*mod_menu uses a class instead of an id attribute for the itemid.&amp;lt;ref&amp;gt; mod_menu can create invalid id attribute HTML ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=24629  Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2F&amp;amp;view=rev&amp;amp;revision=21572  Revision])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Moved Files ==&lt;br /&gt;
&lt;br /&gt;
The file /libraries/version.php has been moved from the platform to the CMS, specifically to /includes/version.php. If direct access to this file is needed jimport will need to be adjusted but it also can be access by loading framework.php &lt;br /&gt;
&lt;br /&gt;
 require_once JPATH_BASE.&#039;/includes/framework.php&#039;&lt;br /&gt;
or by using JLoader.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.7 FAQ]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_1.6_technical_requirements&amp;diff=62222</id>
		<title>Joomla 1.6 technical requirements</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_1.6_technical_requirements&amp;diff=62222"/>
		<updated>2011-09-24T22:35:14Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Redirected page to Technical requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Technical requirements]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=62220</id>
		<title>Technical requirements</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=62220"/>
		<updated>2011-09-24T22:34:48Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More details can be found on [http://www.joomla.org/about-joomla/technical-requirements.html Joomla.org].&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.6/1.7 {{JVer|1.6}}{{JVer|1.7}} =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&lt;br /&gt;
|5.3+&lt;br /&gt;
|5.2.4+&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot;&amp;gt;In order to use SEO URLs, you will need to have the Apache mod_rewrite extension installed.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|2.x+&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&amp;lt;ref&amp;gt;For Microsoft IIS you need MySQL 5.1 or newer.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|7&lt;br /&gt;
|7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.5 {{JVer|1.5}} =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&amp;lt;ref&amp;gt;Do not use PHP 4.3.9, 4.4.2 or 5.0.4. These releases have known bugs that will interfere with installation. Zend Optimizer 2.5.10 for PHP 4.4.x also has serious bugs and you should ask your host to upgrade to a newer version. Joomla! versions 1.5.15 + are compatible with PHP 5.3. Note that the OpenID library is not yet compatible with PHP 5.3.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|5.2+&lt;br /&gt;
|4.3.10&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|4.1.x+&lt;br /&gt;
|3.23&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot; /&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|1.3&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.5 FAQ]]&lt;br /&gt;
[[Category:Version 1.6 FAQ]]&lt;br /&gt;
[[Category:Version 1.7 FAQ]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=What_are_the_minimum_Joomla!_requirements%3F&amp;diff=62219</id>
		<title>What are the minimum Joomla! requirements?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=What_are_the_minimum_Joomla!_requirements%3F&amp;diff=62219"/>
		<updated>2011-09-24T22:34:01Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Undo revision 62217 by Realityking (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Full details can be found in [http://www.joomla.org/about-joomla/technical-requirements.html Technical Requirements].&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Getting Started FAQ]][[Category:Installation FAQ]][[Category:Version 1.0 FAQ]][[Category:Version 1.5 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=What_are_the_minimum_Joomla!_requirements%3F&amp;diff=62217</id>
		<title>What are the minimum Joomla! requirements?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=What_are_the_minimum_Joomla!_requirements%3F&amp;diff=62217"/>
		<updated>2011-09-24T22:32:29Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Redirected page to Technical requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Technical requirements]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Getting Started FAQ]][[Category:Installation FAQ]][[Category:Version 1.0 FAQ]][[Category:Version 1.5 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=62216</id>
		<title>Technical requirements</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=62216"/>
		<updated>2011-09-24T22:31:55Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More details can be found on [http://www.joomla.org/about-joomla/technical-requirements.html Joomla.org].&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.6/1.7 {{JVer|1.6}}{{JVer|1.7}} =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&lt;br /&gt;
|5.3+&lt;br /&gt;
|5.2.4+&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot;&amp;gt;In order to use SEO URLs, you will need to have the Apache mod_rewrite extension installed.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|2.x+&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&amp;lt;ref&amp;gt;For Microsoft IIS you need MySQL 5.1 or newer.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|7&lt;br /&gt;
|7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.5 {{JVer|1.5}} =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&amp;lt;ref&amp;gt;Do not use PHP 4.3.9, 4.4.2 or 5.0.4. These releases have known bugs that will interfere with installation. Zend Optimizer 2.5.10 for PHP 4.4.x also has serious bugs and you should ask your host to upgrade to a newer version. Joomla! versions 1.5.15 + are compatible with PHP 5.3. Note that the OpenID library is not yet compatible with PHP 5.3.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|5.2+&lt;br /&gt;
|4.3.10&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|4.1.x+&lt;br /&gt;
|3.23&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot; /&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|1.3&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=62215</id>
		<title>Technical requirements</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Technical_requirements&amp;diff=62215"/>
		<updated>2011-09-24T22:31:23Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Created page with &amp;quot;More details can be found here: [http://www.joomla.org/about-joomla/technical-requirements.html]  = Joomla 1.6/1.7 {{JVer|1.6}}{{JVer|1.7}} =  {| border=&amp;quot;1&amp;quot; !Software !Recommende...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More details can be found here: [http://www.joomla.org/about-joomla/technical-requirements.html]&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.6/1.7 {{JVer|1.6}}{{JVer|1.7}} =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&lt;br /&gt;
|5.3+&lt;br /&gt;
|5.2.4+&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|5.0.4+&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot;&amp;gt;In order to use SEO URLs, you will need to have the Apache mod_rewrite extension installed.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|2.x+&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&amp;lt;ref&amp;gt;For Microsoft IIS you need MySQL 5.1 or newer.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|7&lt;br /&gt;
|7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Joomla 1.5 {{JVer|1.5}} =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Software&lt;br /&gt;
!Recommended&lt;br /&gt;
!Minimum&lt;br /&gt;
|-&lt;br /&gt;
|PHP&amp;lt;ref&amp;gt;Do not use PHP 4.3.9, 4.4.2 or 5.0.4. These releases have known bugs that will interfere with installation. Zend Optimizer 2.5.10 for PHP 4.4.x also has serious bugs and you should ask your host to upgrade to a newer version. Joomla! versions 1.5.15 + are compatible with PHP 5.3. Note that the OpenID library is not yet compatible with PHP 5.3.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|5.2+&lt;br /&gt;
|4.3.10&lt;br /&gt;
|-&lt;br /&gt;
|MySQL&lt;br /&gt;
|4.1.x+&lt;br /&gt;
|3.23&lt;br /&gt;
|-&lt;br /&gt;
|Apache&amp;lt;ref name=&amp;quot;mod_rewrite&amp;quot; /&amp;gt;&lt;br /&gt;
|2.x+&lt;br /&gt;
|1.3&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft IIS&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_UNIX_file_permissions_work%3F&amp;diff=62213</id>
		<title>How do UNIX file permissions work?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_UNIX_file_permissions_work%3F&amp;diff=62213"/>
		<updated>2011-09-24T22:10:26Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Unix/Linux file permissions can be confusing. The basic UNIX permissions come in three flavors;&lt;br /&gt;
&lt;br /&gt;
 Owner Permissions : Control your own access to files.&lt;br /&gt;
 Group Permissions : Control access for you and anyone in your group.&lt;br /&gt;
 Other Permissions : Control access for all others.&lt;br /&gt;
&lt;br /&gt;
In Unix, when permissions are configured the server allows you to define different permissions for each of these three categories of users. In a Web server environment permissions are used to control which Web site owners can access which directories and files.&lt;br /&gt;
&lt;br /&gt;
=== What do Unix permissions look like? ===&lt;br /&gt;
&lt;br /&gt;
When viewing your files through an FTP client or from the servers command line;&lt;br /&gt;
&lt;br /&gt;
 filename.php username usergroup rwx r-x r-x&lt;br /&gt;
&lt;br /&gt;
The first entry is the name of the file, the next entry is your username on the server, the second entry is the group that you are a member of and the last entry is the permissions assigned to that this file (or directory). If you notice, I have intentionally spaced out the permissions section, I have grouped the 9 characters into 3 sets of 3. This separation is key to how the permissions system works. The first set of 3 permissions (rwx) relate to the username seen above, the second set of 3 permissions (r-x) relate to the usergroup seen above and the final set of 3 permissions (r-x) relate to anyone else who is not associated with the username or groupname.&lt;br /&gt;
&lt;br /&gt;
==== Owner (User) relates to username ====&lt;br /&gt;
&lt;br /&gt;
The Owner (User) is normally you, these permissions will be enforced on your hosting account name.&lt;br /&gt;
&lt;br /&gt;
==== Group relates to usergroup ====&lt;br /&gt;
&lt;br /&gt;
The Group permissions will be enforced on other people that are in the same group as you, within a hosting environment, there is very rarely other people in the same group as you. This protects your files and directories from being made available to anybody else who may also have a hosting account on the same server as you.&lt;br /&gt;
&lt;br /&gt;
==== Other relates to everyone else ====&lt;br /&gt;
&lt;br /&gt;
The Other permissions, these will be enforced on anybody else on the server that is either not you or not in your group. So in a Web Serving environment, remembering that no-one else is normally in your group, then this is everybody else accessing the server except for you. Each of the three sets of permissions are defined in the following manner;&lt;br /&gt;
&lt;br /&gt;
 r = Read permissions&lt;br /&gt;
 w = Write permissions&lt;br /&gt;
 x = Execute permissions&lt;br /&gt;
&lt;br /&gt;
 Owner Group Other&lt;br /&gt;
 r w x r w x r w x&lt;br /&gt;
&lt;br /&gt;
As many of you already know, permissions are normally expressed as a numeric value, something like 755 or 644. so, how does this relate to what we have discussed above? Each character of the permissions are assigned a numeric value, this is assigned in each set of three, so we only need to use three values and reuse them for each set.&lt;br /&gt;
&lt;br /&gt;
 Owner Group Other&lt;br /&gt;
 r w x r w x r w x&lt;br /&gt;
 4 2 1 4 2 1 4 2 1&lt;br /&gt;
&lt;br /&gt;
Now that we have a value that represents each permission, we can express them in numeric terms. The values are simply added together in the respective sets of 3, which will in turn give us just three numbers that will tell us what permissions are being set. If we are told that a file has the permissions of 777, this would mean that the following was true.&lt;br /&gt;
&lt;br /&gt;
 Owner Group Other&lt;br /&gt;
 r w x r w x r w x&lt;br /&gt;
 4 2 1 4 2 1 4 2 1&lt;br /&gt;
&lt;br /&gt;
Thus...&lt;br /&gt;
&lt;br /&gt;
   4+2+1 4+2+1 4+2+1&lt;br /&gt;
 =   7     7     7&lt;br /&gt;
&lt;br /&gt;
The Owner of the file would have full Read, Write and Execute permissions, the group would also have full Read, Write and Execute permissions, and the rest of the world can also Read, Write and Execute the file. The standard, default permissions that get assigned to files and directories by the server are normally;&lt;br /&gt;
&lt;br /&gt;
 Files = 644&lt;br /&gt;
 Directories = 755&lt;br /&gt;
&lt;br /&gt;
These permissions would allow, for files;&lt;br /&gt;
&lt;br /&gt;
 644 = rw- r-- r--&lt;br /&gt;
 Owner has Read and Write&lt;br /&gt;
 Group has Read only&lt;br /&gt;
 Other has Read only&lt;br /&gt;
&lt;br /&gt;
and for directories;&lt;br /&gt;
&lt;br /&gt;
 755 = rwx r-x r-x&lt;br /&gt;
 Owner has Read, Write and Execute&lt;br /&gt;
 Group has Read and Execute only&lt;br /&gt;
 Other has Read and Execute only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, things can get a little complicated when we start talking about shared Web Servers, the Web Server software will be running with its own username and groupname, most servers are configured for them to use either &amp;quot;apache&amp;quot; and &amp;quot;apache&amp;quot; or &amp;quot;nobody&amp;quot; and &amp;quot;nobody&amp;quot; as username and groupname. Here is the problem. Your Web Server runs as its own user, and this user is not you or in your group, so the first two sets of permissions do not apply to it. Only the world (other) permissions apply. Therefore, if you configure a permissions set similar to 640 on your website files, your Web Server will not be able to run your website files.&lt;br /&gt;
&lt;br /&gt;
 640 = rw- r-- ---&lt;br /&gt;
 Owner has Read and Write&lt;br /&gt;
 Group has Read only&lt;br /&gt;
 Other has no rights&lt;br /&gt;
&lt;br /&gt;
The Web server is assigned no permissions at all and cannot Execute, Write or more importantly, even Read the file to delivery its content to a website visitors browser. If a directory was to be assigned 750 permissions, this would have the same effect, because the WebServer does not even have permissions to read files in the directory, even if the files inside that directory had favorable permissions.&lt;br /&gt;
&lt;br /&gt;
 750 = rw- r-x ---&lt;br /&gt;
 Owner has Read and Write&lt;br /&gt;
 Group has Read and Execute&lt;br /&gt;
 Other has no rights&lt;br /&gt;
&lt;br /&gt;
Directories have an extra quirk, if a directory does not have the Execute permission set in the World set then even if Read and Write are set, if the program is not run as the user or group, it will still not be able to access the files within the directory. The Execute setting allows the program to &amp;quot;Execute&amp;quot; commands in the directory, so without it being on the program(in our case a Web Server) cannot execute the &amp;quot;Read&amp;quot; command, thus cannot deliver your file to the users web browser.&lt;br /&gt;
&lt;br /&gt;
=== How Does this Relate to Joomla? ===&lt;br /&gt;
&lt;br /&gt;
Good question, well in the first instance this would be important during the Web-Installer process.&lt;br /&gt;
If you can remember back to when you ran the Joomla! Web-Installer, we were looking for specific directories to be designated as writable. We see quite a numbers of posts either stating that there were problems during the install with permissions or asking what permissions are recommended. Some even consider the message, asking for &amp;quot;Writable&amp;quot; permissions to be too vague.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as the Web-Installer does not know how your server is configured, then it cannot be more specific, however, once you understand the permissions settings and you know a little about Web Serving environments, you will actually find that the term &#039;&#039;writable&#039;&#039; is actually very specific and a more than adequate description of what Joomla! needs. Thinking back to the above information, you may remember that there are three places where &#039;&#039;write&#039;&#039; permissions maybe set;&lt;br /&gt;
&lt;br /&gt;
 Owner Writable&lt;br /&gt;
 Group Writable&lt;br /&gt;
 Other Writable&lt;br /&gt;
&lt;br /&gt;
Also remembering that the Web Server generally doesn&#039;t run as your own user or in the same group. When you run the Web Installer from a browser, it is the Web Server trying to access the files, thus it is the &amp;quot;Other&amp;quot; permissions that will apply to it. If the &amp;quot;Other&amp;quot; permissions do not allow the Web Server to Read, Write or Execute commands in the Joomla! directories, you will receive the message saying that the directories are not &#039;&#039;writable&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
In this case, you will need to configure the Other permissions to be &amp;quot;7&amp;quot; on the directories listed in the Web Installer.&lt;br /&gt;
So your total permissions might be something like 757, in the worse case you might need to set 777. These very open permissions&lt;br /&gt;
maybe reset back to 755 after the installer runs to assist in the security of your directories and files.&lt;br /&gt;
&lt;br /&gt;
 757 = rwx r-x rwx&lt;br /&gt;
 Owner has Read, Write and Execute&lt;br /&gt;
 Group has Read and Execute&lt;br /&gt;
 Other has Read, Write and Execute&lt;br /&gt;
&lt;br /&gt;
Just to make things even more confusing, many hosting firms make use of software called phpsuExec or suExec, these tools change the way the Web Server runs, where the Web Server would not normally run as your username, in this case, it does. The use of the &#039;&#039;other&#039;&#039; permissions, may not be required, now you may only need to configure directories to be &#039;&#039;writable&#039;&#039; to your own username and groupname, this allows directory permissions to be set as 755 or 775 instead of 757 or 777.&lt;br /&gt;
&lt;br /&gt;
 755 = rwx r-x r-x&lt;br /&gt;
 Owner has Read, Write and Execute&lt;br /&gt;
 Group has Read and Execute&lt;br /&gt;
 Other has Read and Execute&lt;br /&gt;
&lt;br /&gt;
 775 = rwx rwx r-x &lt;br /&gt;
 Owner has Read, Write and Execute&lt;br /&gt;
 Group has Read, Write and Execute&lt;br /&gt;
 Other has Read and Execute&lt;br /&gt;
&lt;br /&gt;
The Web Server will still need to Execute set for the username and Read, Execute groupname permissions set so that it can Execute the Read command on files inside the directory. Again, these permissions may be demoted back to 755 after the Web Installer completes. Thats the basics for directories covered, what about files? This is where things get a little simpler. Most of the files that Joomla! makes use of will be quite happy with the 644 default permissions.&lt;br /&gt;
&lt;br /&gt;
 644 = rw- r-- r-- &lt;br /&gt;
 Owner has Read, Write&lt;br /&gt;
 Group has Read&lt;br /&gt;
 Other has Read&lt;br /&gt;
&lt;br /&gt;
This is valid if you do not have a need to Write to the files from the Web Server, the same rules apply as for directories if you do have this need. One file that you may like to have &amp;quot;Writable&amp;quot; to the Web Server is your configuration.php file. This is the Joomla! configuration file, if you plan on changing configuration through the Web Admin interface, then this file will need to be Writable to the Web Server.&lt;br /&gt;
&lt;br /&gt;
If your server needed directory permissions to be set to &amp;quot;Other&amp;quot; Writable for the install then this file will probably also need to be 757 or 777. Leaving this file as 757 or 777 is dangerous though, as you are letting everyone have &amp;quot;Write&amp;quot; access, many Web Site exploits take advantage of this fact, so in general it is not recommended to leave this file with these permissions.&lt;br /&gt;
&lt;br /&gt;
If your Web Server has one of the SU tools installed and you only needed to configure 755 on directories for the installation, then you will probably also only need to set 755 or 775 on this file to allow editing through the Admin interface, and these permissions are generally accepted as more secure than 757 or 777.&lt;br /&gt;
&lt;br /&gt;
In conclusion, what permissions should be set for the Joomla! installation? Well, as you can see, it depends!&lt;br /&gt;
&lt;br /&gt;
I know this isn&#039;t as helpful as you would have liked and it certainly is not a definitive answer, but in general, after the installation, any insecure &amp;quot;7&amp;quot; settings can be reset back to something more secure. For example: &lt;br /&gt;
 Files = 644&lt;br /&gt;
 Directories = 755&lt;br /&gt;
&lt;br /&gt;
These permissions would allow, for files;&lt;br /&gt;
&lt;br /&gt;
 644 = rw- r-- r--&lt;br /&gt;
 Owner has Read and Write&lt;br /&gt;
 Group has Read only&lt;br /&gt;
 Other has Read only&lt;br /&gt;
&lt;br /&gt;
and for directories,&lt;br /&gt;
&lt;br /&gt;
 755 = rwx r-x r-x &lt;br /&gt;
 Owner has Read, Write and Execute&lt;br /&gt;
 Group has Read and Execute only&lt;br /&gt;
 Other has Read and Execute only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have SSH shell access the following commands can be run from the command line to reset all files and directories back to the server defaults of 755 and 644. Change directories to the top directory (&amp;quot; / &amp;quot;) of your Joomla! installation, then run: &lt;br /&gt;
&lt;br /&gt;
 find . -type f -exec chmod 644 {} \;&lt;br /&gt;
 find . -type d -exec chmod 755 {} \;&lt;br /&gt;
&lt;br /&gt;
If you only have FTP access, this can be a very time consuming job, however, unless you changed more directories during the installation that was requested, you should only need to reset about 10 directories and the &#039;&#039;configuration.php&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that to install any extensions or templates after the actual Joomla! installation you may need to elevate the default permissions again on the appropriate directories just for the installation period, you may then demote them again after the add-on is installed.&lt;br /&gt;
&lt;br /&gt;
If you decide to use &#039;&#039;caching&#039;&#039; the cache directory will need to be &#039;&#039;writable&#039;&#039; by the Web server user to allow it to write its temporary files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Installation FAQ]]&lt;br /&gt;
[[Category:Upgrading and Migrating FAQ]]&lt;br /&gt;
[[Category:Version 1.5 FAQ]]&lt;br /&gt;
[[Category:Version 1.6 FAQ]]&lt;br /&gt;
[[Category:Version 1.7 FAQ]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_can_you_help_the_extension_submission_process%3F&amp;diff=62212</id>
		<title>How can you help the extension submission process?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_can_you_help_the_extension_submission_process%3F&amp;diff=62212"/>
		<updated>2011-09-24T22:09:21Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are several ways you can help the extension submission process go faster and smoother.&lt;br /&gt;
As you may know, the Joomla! Extension Directory is supported by volunteers and it takes time to go through all the extensions.&lt;br /&gt;
To make things easier:&lt;br /&gt;
*Make sure your download link leads directly to the download page. It makes downloading and testing the extension a whole lot easier.&lt;br /&gt;
*Make sure a front-end/public/guest user can actually download the extension.&lt;br /&gt;
*Test your extension to make sure the package can be installed.&lt;br /&gt;
*If you have use the Joomla! logo anywhere, make sure it follows the logo guidelines.&lt;br /&gt;
*If you need to make changes to your extension listing and it has not been published, do not submit another application. Removing duplicates takes up precious time. Instead, either email your changes to team@extensions.joomla.org with detailed information about your extension or wait until your extension is published.&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:JED]]&lt;br /&gt;
[[Category:Getting Started FAQ]]&lt;br /&gt;
[[Category:Installation FAQ]]&lt;br /&gt;
[[Category:Template Development]]&lt;br /&gt;
[[Category:Module Development]]&lt;br /&gt;
[[Category:Plugin Development]]&lt;br /&gt;
[[Category:Language Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=What_is_the_profile_plugin%3F&amp;diff=62211</id>
		<title>What is the profile plugin?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=What_is_the_profile_plugin%3F&amp;diff=62211"/>
		<updated>2011-09-24T22:07:30Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}&lt;br /&gt;
{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
The profile plugin makes it possible to add extra fields to the user profile form in 4 places:&lt;br /&gt;
&lt;br /&gt;
*The registration form&lt;br /&gt;
*The frontend profile editing view&lt;br /&gt;
*The backend profile editing view (My Profile)&lt;br /&gt;
*The backend user manager user edit view.&lt;br /&gt;
&lt;br /&gt;
Each of these are controlled independently. They can all be the same or specific fields can be available in each form. Similarly, fields can be set as required independently for each form or all can be the same.&lt;br /&gt;
&lt;br /&gt;
Any field type from the form library can be used.&lt;br /&gt;
&lt;br /&gt;
Optionally the profile for a linked user can be displayed in linked content record.&lt;br /&gt;
&lt;br /&gt;
Multiple profile plugins may be used.&lt;br /&gt;
&lt;br /&gt;
See [[Creating a profile plugin]] for more details.&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Version_1.6_FAQ]]&lt;br /&gt;
[[Category:Version_1.7_FAQ]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_a_Profile_Plugin&amp;diff=62210</id>
		<title>Creating a Profile Plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_a_Profile_Plugin&amp;diff=62210"/>
		<updated>2011-09-24T22:07:05Z</updated>

		<summary type="html">&lt;p&gt;Realityking: Redirected page to Creating a profile plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Creating a profile plugin]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=What_is_the_profile_plugin%3F&amp;diff=62209</id>
		<title>What is the profile plugin?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=What_is_the_profile_plugin%3F&amp;diff=62209"/>
		<updated>2011-09-24T22:04:48Z</updated>

		<summary type="html">&lt;p&gt;Realityking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}&lt;br /&gt;
{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
The profile plugin makes it possible to add extra fields to the user profile form in 4 places:&lt;br /&gt;
&lt;br /&gt;
*The registration form&lt;br /&gt;
*The frontend profile editing view&lt;br /&gt;
*The backend profile editing view (My Profile)&lt;br /&gt;
*The backend user manager user edit view.&lt;br /&gt;
&lt;br /&gt;
Each of these are controlled independently. They can all be the same or specific fields can be available in each form. Similarly, fields can be set as required independently for each form or all can be the same.&lt;br /&gt;
&lt;br /&gt;
Any field type from the form library can be used.&lt;br /&gt;
&lt;br /&gt;
Optionally the profile for a linked user can be displayed in linked content record.&lt;br /&gt;
&lt;br /&gt;
Multiple profile plugins may be used.&lt;br /&gt;
&lt;br /&gt;
See [[ Creating_a_profile_plugin | Creating a Profile Plugin  ]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Version_1.6_FAQ]]&lt;br /&gt;
[[Category:Version_1.7_FAQ]]&lt;/div&gt;</summary>
		<author><name>Realityking</name></author>
	</entry>
</feed>