-************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.2 and 4.3
-(for technical details see ChangeLog)
-************************************************************************
+This document is a part of the TYPO3 project. TYPO3 is an open source web
+content management system released under the GNU GPL. TYPO3 is copyright
+(c) 1999-2012 by Kasper Skaarhoj.
-General
-=======
-
- * TYPO3 requires PHP 5.2 now
-
- * Support for OpenID auhentication with a new system extension for both FE and BE.
- Any user with a valid OpenID identifier may log in when the OpenID authentication
- is successful.
-
- * The JavaScript framework ExtJS was integrated as common widget library. This
- collection offers developers an easy but powerful option to create nice looking
- user interfaces by reusing predefined objects. For example, ExtJS supports grid
- views, dialog windows and dynamic panels. It is currently used in the TYPO3 Core
- for the dialog showing that a session in the backend has expired and for the
- new recycler.
-
- * The JavaScript libraries are updated to prototype 1.6.0.3 and script.aculo.us 1.8.2.
-
- * Integration of RSA Authentication Service: Using a the public-key cryptography allows
- to transfer sensitive data over a secure channel, even if the website does not support
- HTTPS. This feature allows to store password data as salted hash value. The RSA
- authentication service can be used in frontend and backend by enabling the system
- extension rsaauth.
- Note: The service requires either the openssl PHP extension, or the openssl binary.
-
- * Integration of PHP Autoloader: This feature allows to have only those files in memory
- that are really required for an accordant application. The performace improves
- dramatically. The PHP files are looked up using a registry file returns a simple array
- mapping PHP class names to accordant file names:
- + t3lib/core_autoload.php contains all classes in t3lib/tslib or the TYPO3 Core
- + [extension_key]/ext_autoload.php contains all classes of that TYPO3 extension
-
- * Extbase and Fluid integration: Extbase and Fluid are backports from FLOW3 to bring MVC
- and a very flexible templating engine to TYPO3 4.x. Extbase can be used in TYPO3 4.3 for
- frontend extensions only. The techniques used by these two packages are the same as in
- FLOW3/TYPO3 5.0 - thus, it's possible to develop future-proof extensions now and migrate
- them easily when TYPO3 5.0 is released.
+This document contains information about TYPO3 version 6.0 shall be released
+on October, 2012.
-Backend
-=======
-
- * Extension Manager: You can now set a new option "excludeFromUpdates" in every
- extensions' ext_emconf.php array. This way, it is a) not shown in the
- list of extensions to update and b) is shown a exclamation mark in order to
- prevent updates for this extension. This is very useful if you made local changes
- to an extension and don't want any admin to overwrite them.
-
- * The TypoScript editor "t3editor" was enhanced with code-completion. Now you get
- context-sensitive suggestions about possible properties while entering TypoScript.
-
- * The recycling of deleted records is improved since most elements were not removed
- physically in TYPO3. The recycler offers the possibilities of cleaning up the garbage
- collection and to restore data again. Based on an ExtJS interface it's possible to
- get a quick overview of the accordant elements, filter the resultset and execute the
- desired actions. This new feature is the modernized and core-specific version of the
- kj_recycler extension, that has been available in the TER for years now.
-
- * The permissions on file operations can now be set on a per-group basis. New back-end
- users now don't have any file permissions by default, since this has moved to back-end
- user groups and will apply automatically for each new group being created.
- The default settings for new groups are the following:
- + Move, delete, rename and create new directories
- + Upload, copy, move, delete and rename files
- + Unzip files
-
- * The popup telling an user that his session has expired was replaced by a dialog window.
-
- * The workspace selector has been turned to an item in the toolbar menu.
-
- * The elements shown when creating new content elements (like "regular text element" etc.)
- can be configured, modified and extended by Page TSconfig "mod.wizards.newContentElement".
-
- * The tables shown when creating new records in the Web>List module are grouped by their scope
- or extension now. The order can be modified by Page TSconfig "mod.wizards.newRecord.order".
-
- * Elements on each table in the Web>List module can be collapsed or expanded now.
- In the view showing a single table with many elements, a pagination helps to
- get through them.
-
- * Uploading files is now available with an optional Flash Uploader which shows a
- nice widget with information on the upload progress. It makes it possible to select
- multiple files at once. Enable the Flash Uploader by checking the appropriate checkbox
- in the User Setup, reload the Backend and make sure that your browser has the
- latest version of Flash (Flash v9+) installed.
-
- * It is possible now to temporarily lock down the backend for system maintenance. Editors
- will see an overlay with an message notifying them that the backend is locked. When the
- lock is removed, editors can continue without having to re-login.
- The lock is enabled by placing this file:
- typo3conf/LOCK_BACKEND
-
- * The backend gateway for manipulating files (uploading, renaming, copying) TCEfile is now
- separated from the file typo3/tce_file.php and put in a new file and class in
- typo3/classes/class.typo3_tcefile.php. There is now also a new AJAXid (TYPO3_tcefile::process)
- to use this functionality in AJAX-based environments as well.
-
- * The backend login page is now localized. The language for the login page where no
- user-defined language is available yet is detected by the preferred browser language. If you
- have previously changed the login labels via $TYPO3_CONF_VARS['BE']['loginLabels'] then
- these will be used, however it is recommended to overload the XML file with your own XML file
- and $TYPO3_CONF_VARS['BE']['XLLfile']['EXT:lang/locallang_login.xml']. These will only be used
- once you remove the altered "loginLabels" configuration option from typo3conf/localconf.php.
-
-Frontend
-========
-
- * The message log of the admin panel will report failures to set the locale
-
- * Integrated functionality of extension jb_status_code into core:
- It is now possible to specify a redirection code (301, 302, 303 or
- 307) together with a domain redirection in a sys_domain record.
-
- * Added option named "additionalAbsRefPrefixDirectories" for Frontend in the Install tool.
- This option is useful if the installation uses non-TYPO3 applications and links to
- them from extensions. Earlier TYPO3 prepended only media/, typo3conf/ext/ and
- fileadmin/ directories automatically with config.absRefPrefix. Using the new variable
- administrators can tell TYPO3 to prepend also other directories inside the site root
- with config.absRefPrefix.
-
- * Added new Install tool option named "dbClientCompress". This option will
- enable MySQL compression for network traffic. This is useful if
- MySQl is not on the same host as the web server. Do not use this option if MySQL
- is on the same host because it will only slow down the process. However if MySQL
- is on another host, this option may improve performance significally.
-
- * CSS styled content was split into separate files for each compatibility versions of TYPO3
- (3.8, 3.9, 4.2 and current). When including the static template of css_styled_content,
- a specific version must be chosen (also see Compatibility below).
-
- * The GIFBUILDER now supports automatic line breaks by defining a maximum width of the
- element to be rendered. The new TypoScript properties are "breakWidth" and "breakSpace".
-
- * Image rendering now cuts off the profile data of images by default to reduce file sizes.
- This behaviour can be modified or disabled by changing [GFX][im_stripProfileCommand] in
- the install tool or by setting the TypoScript property "stripProfile" on IMAGE objects.
-
- * cHashes now use the full md5 hash instead of the short hash previously calculated by
- t3lib_div::shortMD5(). This reduces the risk of duplicate hashes, which could happend
- in large web sites. However this may cause compatibility issues with some extensions
- (see Compatibility below).
+An up-to-date version of this document also containing links to further in
+depth information can be found here:
+http://wiki.typo3.org/TYPO3_6.0
+
+===============================================================================
Compatibility
-=============
+===============================================================================
- * A deprecation log has been introduced to track calls to deprecated/outdated methods
- in the TYPO3 Core. Developers have to make sure to adjust their code to avoid using
- this old functionality since deprecated methods will be removed in future TYPO3 releases!
- The information can be found in /typo3conf/deprecation_[hash-value].log
- The install tool has a setting "enableDeprecationLog" that allows one to disable the logging of
- deprecation messages since the file might grow quite fast depending on the extensions installed.
+* Refactored bootstrap
- * The caching system has been revamped. It is not possible to query the cache tables directly.
- Any compliant extension has to use the new caching framework.
+With a bootstrap refactoring the index.php file located in the document root of
+the installation was changed. If you are running a typo3 core source with a
+symlink, make sure that this file is also a symlink to the cores index.php,
+otherwise the frontend will be broken. If index.php is a copy of the source
+file, make sure to install a fresh version from 6.0 sources.
- * The simulateStaticDocument functionality (URLs like "MyPage.13.0.html" instead of "index.php?id=13")
- was extracted and put to a separate system extension "simulatestatic".
+* Deprecated methods
- * The frontend editing functionality was extracted into a separate system extension "fe_edit".
+Deprecated methods that were initially targeted to be removed in TYPO3 4.8/6.0
+have finally been removed. The deprecation log shows which functions were
+declared to be deprecated and will be removed in the next TYPO3 versions.
- * The help modules "about" and "cshmanual" were extracted into separate system extensions with the same name.
+* Removed classes prior to scheduled deprecation removal
- * As mentioned in "Frontend" CSS styled content has been split into several files.
- The update wizard can switch the versions of the static includes by refering to
- the TYPO3 compatibility version.
+t3lib_BEDisplayLog: This class was used only by the old belog module, its
+functionality is now encapsulated in EXT:belog itself. Since it is very
+unlikely that the class was used by other external extensions, the file was
+removed instead of deprecating it.
- * As mentioned in "Frontend", cHash use full-length md5 now. This has an impact on extensions
- that make use of the cHash, like RealURL or the Crawler. Make sure to update those extensions
- to their latest version.
+* New XCLASS handling
-Development
-===========
+The old way of registering XCLASSes in $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS'] is
+deprecated. XCLASSES can now be registered by adding a 'ux_' prefixed entry of
+the base class to the ext_autoload.php file providing the XCLASS path. The
+deprecation layer for old class registration can potentially calculate a wrong
+path so the XCLASS registration can fail now. This can be fixed by addiononally
+using the new registration scheme through ext_autoload.
+Extension authors are advised to remove the three line XCLASS statement at the
+bottom of class files now for any extension with a compatibility for 6.0 and above.
+More information can be found at http://wiki.typo3.org/Autoload
- * t3lib_div::makeInstance now supports singletons. To mark a class as a
- singleton it must implement the t3lib_singleton interface.
+Removed Functionality
+-------------------------------------------------------------------------------
- * A new caching framework has been added. It allows extensions to store temporary data
- transparently to different cache back ends (database, file system or memory).
+* Removed doNotLoadInFE flag
- * Frontend plugins now can convert themselves from USER to USER_INT on the fly. This
- is useful for plugins who can disallow caching using a TSConfig option (for example,
- tt_news). Earlier plugins had to use $GLOBALS['TSFE']->set_no_cache(), which caused
- huge performance problems. Now plugin simply need to call
- $this->cObj->convertToUserIntObject() and return immediately without generating any
- content.
- Objects can find their current execution mode by calling $this->cObj->getUserObjectType().
- This function can return either tslib_cObj::OBJECTTYPE_USER (if object runs as USER)
- or tslib_cObj::OBJECTTYPE_USER_INT (if object is running as USER_INT). Here the code
- example:
- function main() {
- ....
- if (!$this->conf['allowCaching'] && $this->cObj->getUserObjectType() == tslib_cObj::OBJECTTYPE_USER) {
- $this->cObj->convertToUserIntObject();
- return '';
- }
+With TYPO3 4.3 the flag doNotLoadInFE flag was introduced in ext_emconf.php
+extension files to hint the core that an extension has no frontend
+functionality. The performance gain of this change in the frontend was minimal.
+The flag is now removed and the according extList_FE setting in localconf.php
+has no effect anymore.
- * Class tslib_eidtools is enhanced with new methods for eID/AJAX applications:
- static function initLanguage($language = 'default');
- Creates $GLOBALS['LANG'] for the given language
- static function initTCA();
- Loads 'ctrl' sections for TCA tables from all installed extensions
- static function initExtensionTCA($extensionKey);
- Similar to initTCA() but loads the table only for the given extension
+* Removed system extension simulatestatic
- * Class t3lib_extMgm has new methods to enhance palettes:
- t3lib_extMgm::addFieldsToAllPalettesOfField($table, $field, $addFields, $insertionPosition = '');
- Adds new fields to all palettes of an existing field.
- t3lib_extMgm::addFieldsToPalette($table, $palette, $addFields, $insertionPosition = '');
- Adds new fields to a palette.
+The system extension to simulate static documents was removed from the core.
+@TODO: Issue #36025 must be solved and this note here adapted, otherwise the
+removal will be reverted.
- * A random byte generator has been added to t3lib_div::generateRandomBytes() which can
- be used for cryptographic operations in the TYPO3 Core or in any other extension.
+* Removed TypoScript option noBlur
-TypoScript changes
-==================
+The ancient noBlur TypoScript setting for old Browsers (Internet Explorer <= 5.5)
+was removed without alternative. The setting has no effect anymore and can be
+removed from custom TypoScript objects, especially MENU.
- * Custom sub categories can be used in TypoScript constants like the following:
- #customsubcategory=limits=LLL:EXT:devlog/locallang.xml:limits
+===============================================================================
+Changes and Improvements
+===============================================================================
-Database changes
-================
+This will list all changes and improvements between TYPO3 4.7 and 6.0. For
+technical details see ChangeLog included in the typo3_src package.
- * The database tables cache_hash, cache_pagesections and cache_pages have been
- changed due to a move to the new caching framework.
+-------------------------------------------------------------------------------
+General
+-------------------------------------------------------------------------------
- * Reference indexes storing table names have been extended from 40 to 255 chars
+* Extbase and fluid always loaded
- * The database table pages_language_overlay was extended by several fields to
- support an alternative URL or a shortcut dependent on localization.
+The core extensions 'extbase' and 'fluid' are used in core classes like t3lib
+and in several important core extensions. Extbase and fluid are now required
+extensions and always loaded.
- * The field t3ver_label has been extended from 40 to 255 chars in the tables
- pages, pages_language_overlay, sys_template and tt_content.
+Other General Improvements
+-------------------------------------------------------------------------------
-DBAL
-====
+...
- * ...
+-------------------------------------------------------------------------------
+Security
+-------------------------------------------------------------------------------
+...
-Backend skin
-============
+-------------------------------------------------------------------------------
+Backend
+-------------------------------------------------------------------------------
- * ...
+...
+htmlArea RTE
+-------------------------------------------------------------------------------
-Speed improvements
-==================
+...
- * PHP classes for frontend plugins are now loaded only if they are used to render
- content by enabling the "includeLibs" property also for USER objects in TypoScript.
- In the past, all available class files for frontend plugins were loaded so this new
- feature increases performance by reducing memory consumption.
+-------------------------------------------------------------------------------
+Other Improvements to the Backend
+-------------------------------------------------------------------------------
- * TYPO3 now enables client caching of JavaScript, CSS and image files by using .htaccess
- files in various directories. This may cause problems if mod_expires is not enabled
- in the Apache configuration. See the FAQ section in the INSTALL.txt about disabling
- these files if necessary.
+...
- * There's a new $EM_CONF parameter called "doNotLoadInFE". When set it will prevent
- TYPO3 from adding the extension's ext_localconf.php and ext_tables.php to the
- temp_CACHED files when rendering frontend content. Technically this is done by
- adding an additional list of extensions to localconf.php ($TYPO3_CONF_VARS['extListFE'])
- which contains only a subset of all installed extensions. This list is only used
- when rendering frontend content. Since this list is shorter
- than the list of all extensions this will result in 2 new temp_CACHED_FE* files which are
- smaller than the files containing all extensions settings. This can save some
- precious milliseconds when delivering content.
+-------------------------------------------------------------------------------
+Administration / Customization
+-------------------------------------------------------------------------------
+...
-Important bugfixes
-==================
+-------------------------------------------------------------------------------
+Development
+-------------------------------------------------------------------------------
- * ...
+...
-Currently unsupported
-=====================
+-------------------------------------------------------------------------------
+Performance
+-------------------------------------------------------------------------------
- * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
- -> Workspaces and Versioning are currently not supported
- -> FlexForms using the TCA type 'inline' are currently not supported/tested
- -> Import/Export (sysext tx_impexp) might not work correctly in special cases
+...
\ No newline at end of file