14ba05205097302f9fc2d209a1e17e7c7e236202
[Packages/TYPO3.CMS.git] / NEWS.txt
1 ************************************************************************
2 CHANGES & IMPROVEMENTS between TYPO3 4.2 and 4.3
3 (for technical details see ChangeLog)
4 ************************************************************************
5
6 General
7 =======
8
9         * TYPO3 requires PHP 5.2 now
10
11         * Support for OpenID auhentication with a new system extension for both FE and BE.
12           Any user with a valid OpenID identifier may log in when the OpenID authentication
13           is successful.
14
15 Backend
16 =======
17
18         * Extension Manager: You can now set a new option "excludeFromUpdates" in every
19           extensions' ext_emconf.php array. This way, it is a) not shown in the
20           list of extensions to update and b) is shown a exclamation mark in order to
21           prevent updates for this extension. This is very useful if you made local changes
22           to an extension and don't want any admin to overwrite them.
23
24         * The TypoScript editor "t3editor" was enhanced with code-completion. Now you get
25           context-sensitive suggestions about possible properties while entering TypoScript.
26
27         * The recycling of deleted records is improved since most elements were not removed
28           physically in TYPO3. The recycler offers the possibilities of cleaning up the garbage
29           collection and to restore data again. Based on an ExtJS interface it's possible to
30           get a quick overview of the accordant elements, filter the resultset and execute the
31           desired actions. This new feature is the modernized and core-specific version of the
32           kj_recycler extension, that has been available in the TER for years now.
33
34         * The permissions on file operations can now be set on a per-group basis. New back-end
35           users now don't have any file permissions by default, since this has moved to back-end
36           user groups and will apply automatically for each new group being created.
37           The default settings for new groups are the following:
38                 + Move, delete, rename and create new directories
39                 + Upload, copy, move, delete and rename files
40                 + Unzip files
41
42         * The popup telling an user that his session has expired was replaced by a dialog window.
43
44         * The workspace selector has been turned to an item in the toolbar menu.
45
46         * Elements on each table in the Web>List module can be collapsed or expanded now.
47           In the view showing a single table with many elements, a pagination helps to
48           get through them.
49
50 Frontend
51 ========
52
53         * The message log of the admin panel will report failures to set the locale
54
55         * Integrated functionality of extension jb_status_code into core:
56           It is now possible to specify a redirection code (301, 302, 303 or
57           307) together with a domain redirection in a sys_domain record.
58
59         * Added option named "additionalAbsRefPrefixDirectories" for Frontend in the Install tool.
60           This option is useful if the installation uses non-TYPO3 applications and links to
61           them from extensions. Earlier TYPO3 prepended only media/, typo3conf/ext/ and
62           fileadmin/ directories automatically with config.absRefPrefix. Using the new variable
63           administrators can tell TYPO3 to prepend also other directories inside the site root
64           with config.absRefPrefix.
65
66         * Added new Install tool option named "dbClientCompress". This option will
67           enable MySQL compression for network traffic. This is useful if
68           MySQl is not on the same host as the web server. Do not use this option if MySQL
69           is on the same host because it will only slow down the process. However if MySQL
70           is on another host, this option may improve performance significally.
71
72 Compatibility
73 =============
74
75         * A deprecation log has been introduced to track calls to deprecated/out-dated methods
76           in the TYPO3 Core. Developers have to make sure to adjust their implementation to avoid
77           using these elderly functionality. Deprecated methods will be removed in future TYPO3 releases!
78           The information can be found in /typo3conf/deprecation_[hash-value].log
79
80         * The caching system has been revamped. It is not possible to query the cache tables directly.
81           Any compliant extension has to use the new caching framework.
82
83         * The simulateStaticDocument functionality (URLs like "MyPage.13.0.html" instead of "index.php?id=13")
84           was extracted and put to a separate system extension "simulatestatic".
85
86         * The frontend editing functionality was extracted into a separate system extension "fe_edit".
87
88         * The help modules "about" and "cshmanual" were extracted into separate system extensions with the same name.
89
90 Development
91 ===========
92
93         * t3lib_div::makeInstance now supports singletons. To mark a class as a
94           singleton it must implement the t3lib_singleton interface.
95
96         * A new caching framework has been added. It allows extensions to store temporary data
97           transparently to different cache back ends (database, file system or memory).
98
99         * Frontend plugins now can convert themselves from USER to USER_INT on the fly. This
100           is useful for plugins who can disallow caching using a TSConfig option (for example,
101           tt_news). Earlier plugins had to use $GLOBALS['TSFE']->set_no_cache(), which caused
102           huge performance problems. Now plugin simply need to call
103           $this->cObj->convertToUserIntObject() and return immediately without generating any
104           content.
105           Objects can find their current execution mode by calling $this->cObj->getUserObjectType().
106           This function can return either tslib_cObj::OBJECTTYPE_USER (if object runs as USER)
107           or tslib_cObj::OBJECTTYPE_USER_INT (if object is running as USER_INT). Here the code
108           example:
109                 function main() {
110                         ....
111                         if (!$this->conf['allowCaching'] && $this->cObj->getUserObjectType() == tslib_cObj::OBJECTTYPE_USER) {
112                                 $this->cObj->convertToUserIntObject();
113                                 return '';
114                         }
115
116         * Class tslib_eidtools is enhanced with new methods for eID/AJAX applications:
117                 static function initLanguage($language = 'default');
118                         Creates $GLOBALS['LANG'] for the given language
119                 static function initTCA();
120                         Loads 'ctrl' sections for TCA tables from all installed extensions
121                 static function initExtensionTCA($extensionKey);
122                         Similar to initTCA() but loads the table only for the given extension
123
124         * Class t3lib_extMgm has new methods to enhance palettes:
125                 t3lib_extMgm::addFieldsToAllPalettesOfField($table, $field, $addFields, $insertionPosition = '');
126                         Adds new fields to all palettes of an existing field.
127                 t3lib_extMgm::addFieldsToPalette($table, $palette, $addFields, $insertionPosition = '');
128                         Adds new fields to a palette.
129
130         * A random byte generator has been added to t3lib_div::generateRandomBytes() which can
131           be used for cryptographic operations in the TYPO3 Core or in any other extension.
132
133 TypoScript changes
134 ==================
135
136         * Custom sub categories can be used in TypoScript constants like the following:
137                 #customsubcategory=limits=LLL:EXT:devlog/locallang.xml:limits
138
139 Database changes
140 ================
141
142         * The database tables cache_hash, cache_pagesections and cache_pages have been
143           changed due to a move to the new caching framework.
144
145         * Reference indexes storing table names have been extended from 40 to 255 chars
146
147         * The database table pages_language_overlay was extended by several fields to
148           support an alternative URL or a shortcut dependent on localization.
149
150 DBAL
151 ====
152
153         * ...
154
155
156 Backend skin
157 ============
158
159         * ...
160
161
162 Speed improvements
163 ==================
164
165         * PHP classes for frontend plugins are now loaded only if they are used to render
166           content by enabling the "includeLibs" property also for USER objects in TypoScript.
167           In the past, all available class files for frontend plugins were loaded so this new
168           feature increases performance by reducing memory consumption.
169
170         * TYPO3 now enables client caching of JavaScript, CSS and image files by using .htaccess
171           files in various directories. This may cause problems if mod_expires is not enabled
172           in the Apache configuration. See the FAQ section in the INSTALL.txt about disabling
173           these files if necessary.
174
175 Important bugfixes
176 ==================
177
178         * ...
179
180 Currently unsupported
181 =====================
182
183         * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
184                 -> Workspaces and Versioning are currently not supported
185                 -> FlexForms using the TCA type 'inline' are currently not supported/tested
186                 -> Import/Export (sysext tx_impexp) might not work correctly in special cases