[FOLLOWUP] Do not respect autoload info if core repo is composer root
[Packages/TYPO3.CMS.git] / NEWS.md
1 TYPO3 CMS 6.2 - WHAT'S NEW
2 ==========================
3
4 TYPO3 is an open source PHP based web content management system released
5 under the GNU GPL. TYPO3 is copyright (c) 1999-2013 by Kasper Skaarhoj.
6
7 This document provides information about what is new in the 6.2 release
8 of TYPO3. An up-to-date version of this document also containing links to
9 further in depth information can be found here:
10
11 http://wiki.typo3.org/TYPO3_CMS_6.2
12
13 System requirement changes
14 --------------------------
15
16 Minimum PHP version requirement raised to PHP 5.3.7. Please upgrade PHP first,
17 if you plan to update from an older TYPO3 installation to 6.2!
18
19 PHP 5.4 or later is recommended for improved performance.
20
21 Consult INSTALL.md for complete system requirements.
22
23 Changes and Improvements
24 ------------------------
25
26 ### Removed and moved components
27
28 * Removed directory t3lib and PHP constant PATH_t3lib
29 * Moved ExtJS- & JavaScript files from t3lib to typo3
30
31
32 ### General
33
34 * SpriteGenerator now supports high density sprites
35
36 * New default value for cookieHttpOnly setting
37
38 The session cookies "fe_typo_user" and "be_typo_user" now have set the
39 HttpOnly attribute by default.  This will make it harder to steal the cookie
40 by XSS attacks.
41
42 * Frontend Cookie now only set when needed, not set by default anymore
43
44 The cookie "fe_typo_user" set in the frontend by each request, is now only
45 being set if the session data is used via $TSFE->fe_user->setKey('ses')
46 so it can be used for shopping baskets for non-logged-in users
47 out-of-the-box without hacking the default behaviour of setting the
48 cookie.
49 The previous behaviour always set the "fe_typo_user" cookie, but changed
50 the session ID on each request, until it was fixated by a user login.
51 The superfluous option "dontSetCookie" is now ineffective as the cookie
52 is not set anymore by default.
53
54
55 ### Logging
56
57 * Logging API PSR-3 compliance
58
59 The logger of the Logging API now complies with the PSR-3 standard of the
60 PHP Framework Interop Group: http://www.php-fig.org/psr/3/
61
62
63 ### Backend
64
65 * Categorization API improvements
66
67 \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable() can now
68 be used multiple times on the same table to add more than one category field.
69 The options array (the fourth parameter) now can contain a 'label' to set a
70 custom label for each category field.
71
72 * Ajax API addition
73
74 New API has been added to register an Ajax handler for the backend.
75 \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler('TxMyExt::process', 'Vendor\\Ext\\AjaxHandler->process');
76
77 Along with that, URLs to all registered handlers will be
78 published to JavaScript inline settings and can be looked up
79 by providing the Ajax ID:
80
81 var ajaxUrl = TYPO3.settings.ajaxUrls['TxMyExt::process'];
82
83 Registering an Ajax script the "old" way by just adding it to TYPO3_CONF_VARS has been deprecated,
84 but no deprecation log is been written and the handler still work in a backwards compatible way.
85
86
87 #### CSS Styled Content
88
89 * Removed deprecated DB fields
90
91 There are 5 DB fields in tt_content that haven't been used in TYPO3 since
92 version 4.0, and were disabled by default when using CSS Styled Content.
93
94 The DB fields are
95   - text_align
96   - text_face
97   - text_size
98   - text_color
99   - text_properties
100
101 The fields have been removed from the code and are removed by the
102 DB Compare after upgrading.
103
104
105 #### Caching
106
107 * Caching behaviour by newly introduced grouping parameter
108
109 Most caches used in TYPO3 CMS are now based on the FLOW caching framework. The
110 caching framework is now used for class loading, Extbase-internals, most page-
111 related caches, and for the configuration cache. Some caches are system-related
112 caches that only need to be flushed and rebuilt when the core is updated or
113 an extension is (un-)installed. **The functionality of "Clear all caches" thus
114 does not include the system-related caches anymore** - these can be cleared by
115 "Clear configuration cache" or DataHandler->clear_cacheCmd('system') if the
116 user has the according permissions. Each cache can be configured to be in one or
117 multiple groups in its configuration parameters. Custom groups can be defined
118 and cleared manually.
119 All extension maintainers are encouraged to switch their own caching mechanisms
120 to the caching framework and use the API instead of using hooks within TCEmain,
121 as the clearing via TCEmain would only be triggered if going through
122 the TCEmain calls (not via Extbase e.g.).
123
124 * Re-ordered menu items in cache toolbar
125
126 With grouped caching (see above) items in the menu bar of the TYPO3 Backend
127 have been re-arranged and renamed to reflect the impact of the icons.
128
129  - "Flush frontend caches" clears all caches marked with the group "pages".
130  This includes clearing the previous "cache_hash", "cache_pages" and
131  "cache_pagesection", which affects links, TypoScript, fully-cached pages and
132  cached page elements.
133
134  - "Flush general caches" clears all caches inside the groups "all" and "pages"
135  as well as additional database tables registered via hooks in TCEmain. However
136  the system-related caches are NOT flushed.
137
138  - "Flush system caches" clears all system-related caches, which is the class
139  loading cache, configuration cache (previously known as temp_CACHED_* files)
140  and some other extbase-related class caches. The symbol is now disabled
141  by default, even for admins, and can be enabled by setting the userTSconfig
142  option "options.clearCache.system=1", and is also always enabled using
143  the Application Context / TYPO3_CONTEXT Environment Option "Development".
144  Additionally, clearing system caches can be done via the Install Tool, they
145  are automatically flushed when an extension is being activated/uninstalled.
146
147 All hooks within TCEmain still work as expected. However, the use of
148 clear_cacheCmd with the parameter "temp_cached" is discouraged with
149 the introduction of the group "system".
150
151
152 ### Frontend
153
154 * Typoscript compatibility
155
156 For new installations TYPO3 CMS 6.2 now uses the new format of tt_content and page
157 records. If you're upgrading from a previous version the FrontendContentAdapter is
158 activated, which converts those records back to the old format for you on the fly.
159
160 If you manage to change your Typoscript to use the new format you should consider
161 deactivating the Adapter with the Install Tool option [FE][activateContentAdapter]
162 as the Adapter really slows down the system.
163
164 * Minor API change in \TYPO3\CMS\Frontend\ContentObjectRenderer->getTreeList()
165
166 getTreeList() got some cleanup and slightly changed its return result. Former
167 versions sometimes returned a trailing comma which is not the case anymore.
168
169 Before:
170 getTreeList(42, 4) // get pids for pageId 42, 4 levels deep
171 result: '0, 22, 11, 4,'
172
173 After:
174 getTreeList(42, 4)
175 result: '0, 22, 11, 4'
176
177 * Removal of HTML Tidy and its options
178
179 The possibility to use the external tool HTML Tidy that is used to clean up
180 incomplete HTML when a frontend page is rendered was removed from the TYPO3
181 Core. Its functionality is now provided by the TER extension "Tidy".
182 The extension works with the same options as before.
183
184 * Change in Hook TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['pageLoadedFromCache']
185
186 Previously $row['cache_data'] was a serialized array. To avoid double serializing and unserializing,
187 from now on $row['cache_data'] is just reconstituted as array when fetching from cache.
188
189 * No backward compatibility for classes inheriting localPageTree or localFolderTree
190
191 Backwards compatibility for extensions that inherit from one of the classes
192 localPageTree, localFolderTree, rtefoldertree, rtepagetree, tbe_foldertree or tbe_pagetree
193 is dropped.
194
195
196 ### Administration / Customization
197
198 * Content-length header (TypoScript setting config.enableContentLengthHeader)
199   is now enabled by default
200
201
202 ### Extbase
203
204 * Recursive object validation
205
206 Validation of object structures in extbase is now done recursively. If a tree
207 of objects is created by the new property mapper, not only the top level object
208 is validated, but all objects.
209
210 * Allow empty validation
211
212 In order to make a property required you now need to add the NotEmptyValidator
213 to your property. The return value of validators is now optional.
214
215
216 ### Fluid
217
218 * Image view helper does not render title tag by default
219
220 In previous versions of fluid the image view helper always rendered the
221 title attribute. If not set, the value of the required alt attribute was set as
222 title.
223 This fallback was removed with version 6.2. If not specifically set, title
224 is not rendered anymore.
225
226 Example:
227   Fluid Tag
228     <f:image src="{file}" alt="Alt-Attribute" />
229   will render
230     <img src="fileadmin/xxxx.jpg" alt="Alt-Attribute" />
231   and not
232     <img src="fileadmin/xxxx.jpg" alt="Alt-Attribute" title="Alt-Attribute" />
233
234 * Date view helper uses configured default format
235
236 The fluid date view helper now uses $GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy']
237 as fallback format instead of hardcoded Y-m-d if no explicit format is given as
238 argument. This may change the output of dates from Y-m-d to d-m-y.
239
240
241 ### System categories
242
243 * Activated by default
244
245 Pages and content elements are now categorizable by default.
246
247 * New menu types
248
249 The "Special Menus" content element type now offers the possibility to display
250 a list of categorized pages or content elements.
251
252 * Category fields are excluded by default
253
254 Category fields are created as exclude field (TCA) by default.
255 If you're upgrading don't forget to add the permission for users.