[BUGFIX] rdndt getClassSchema() in thawProperties(
[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_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 PHP constant PATH_t3lib
29 * Moved ExtJS- & JavaScript files from t3lib to typo3
30
31 ### General
32
33 * SpriteGenerator now supports high density sprites
34
35 * New default value for cookieHttpOnly setting
36
37 The session cookies "fe_typo_user" and "be_typo_user" now have set the
38 HttpOnly attribute by default.  This will make it harder to steal the cookie
39 by XSS attacks.
40
41 ### Logging
42
43 * Logging API PSR-3 compliance
44
45 The logger of the Logging API now complies with the PSR-3 standard of the
46 PHP Framework Interop Group: http://www.php-fig.org/psr/3/
47
48 ### Backend
49
50 * Categorization API improvements
51
52 \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable() can now
53 be used multiple times on the same table to add more than one category field.
54 The options array (the fourth parameter) now can contain a 'label' to set a
55 custom label for each category field.
56
57
58 #### CSS Styled Content
59
60 * Removed deprecated DB fields
61
62 There are 5 DB fields in tt_content that haven't been used in TYPO3 since
63 version 4.0, and were disabled by default when using CSS Styled Content.
64
65 The DB fields are
66   - text_align
67   - text_face
68   - text_size
69   - text_color
70   - text_properties
71
72 The fields have been removed from the code and are removed by the
73 DB Compare after upgrading.
74
75
76 #### Caching
77
78 * Caching behaviour by newly introduced grouping parameter
79
80 Most caches used in TYPO3 CMS are now based on the FLOW caching framework. The
81 caching framework is now used for class loading, Extbase-internals, most page-
82 related caches, and for the configuration cache. Some caches are system-related
83 caches that only need to be flushed and rebuilt when the core is updated or
84 an extension is (un-)installed. **The functionality of "Clear all caches" thus
85 does not include the system-related caches anymore** - these can be cleared by
86 "Clear configuration cache" or DataHandler->clear_cacheCmd('system') if the
87 user has the according permissions. Each cache can be configured to be in one or
88 multiple groups in its configuration parameters. Custom groups can be defined
89 and cleared manually.
90 All extension maintainers are encouraged to switch their own caching mechanisms
91 to the caching framework and use the API instead of using hooks within TCEmain,
92 as the clearing via TCEmain would only be triggered if going through
93 the TCEmain calls (not via Extbase e.g.).
94
95 * Re-ordered backend menu items
96 With grouped caching (see above) items in the menu bar of the TYPO3 Backend
97 have been re-arranged and renamed to reflect the impact of the icons.
98
99  - "Flush frontend caches" clears all caches marked with the group "pages".
100  This includes clearing the previous "cache_hash", "cache_pages" and
101  "cache_pagesection", which affects links, TypoScript, fully-cached pages and
102  cached page elements.
103
104  - "Flush all caches" clears all caches inside the groups "all" and "pages"
105  as well as additional database tables registered via hooks in TCEmain. However
106  the system-related caches are NOT flushed.
107
108  - "Flush system caches" clears all system-related caches, which is the class
109  loading cache, configuration cache (previously known as temp_CACHED_* files)
110  and some other extbase-related class caches. The symbol is now disabled
111  by default, even for admins, and can be enabled by setting the userTSconfig
112  option "options.clearCache.system=1", and is also always enabled using
113  the Application Context / TYPO3_CONTEXT Environment Option "Development".
114  Additionally, clearing system caches can be done via the Install Tool, they
115  are automatically flushed when an extension is being activated/uninstalled.
116
117 All hooks within TCEmain still work as expected. However, the use of
118 clear_cacheCmd with the parameter "temp_cached" is discouraged with
119 the introduction of the group "system".
120
121
122 ### Frontend
123
124 * Minor API change in \TYPO3\CMS\Frontend\ContentObjectRenderer->getTreeList()
125
126 getTreeList() got some cleanup and slightly changed its return result. Former
127 versions sometimes returned a trailing comma which is not the case anymore.
128
129 Before:
130 getTreeList(42, 4) // get pids for pageId 42, 4 levels deep
131 result: '0, 22, 11, 4,'
132
133 After:
134 getTreeList(42, 4)
135 result: '0, 22, 11, 4'
136
137 * Removal of HTML Tidy and its options
138
139 The possibility to use the external tool HTML Tidy that is used to clean up
140 incomplete HTML when a frontend page is rendered was removed from the TYPO3
141 Core. Its functionality is now provided by the TER extension "Tidy".
142 The extension works with the same options as before.
143
144 * Change in Hook TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['pageLoadedFromCache']
145
146 Previously $row['cache_data'] was a serialized array. To avoid double serializing and unserializing,
147 from now on $row['cache_data'] is just reconstituted as array when fetching from cache.
148
149 * Frontend Cookie now only set when needed, not set by default anymore
150
151 The cookie "fe_typo_user" set in the frontend by each request, is now only
152 being set if the session data is used via $TSFE->fe_user->setKey('ses')
153 so it can be used for shopping baskets for non-logged-in users
154 out-of-the-box without hacking the default behaviour of setting the
155 cookie.
156 The previous behaviour always set the "fe_typo_user" cookie, but changed
157 the session ID on each request, until it was fixated by a user login.
158 The superfluous option "dontSetCookie" is now ineffective as the cookie
159 is not set anymore by default.
160
161 ### Administration / Customization
162
163 * Content-length header (TypoScript setting config.enableContentLengthHeader)
164   is now enabled by default
165
166 ### Extbase
167
168 * Recursive object validation
169
170 Validation of object structures in extbase is now done recursively. If a tree
171 of objects is created by the new property mapper, not only the top level object
172 is validated, but all objects.
173
174 * Allow empty validation
175
176 In order to make a property required you now need to add the NotEmptyValidator
177 to your property. The return value of validators is now optional.
178
179 ### Fluid
180
181 * Image view helper does not render title tag by default
182
183 In previous versions of fluid the image view helper always rendered the
184 title attribute. If not set, the value of the required alt attribute was set as
185 title.
186 This fallback was removed with version 6.2. If not specifically set, title
187 is not rendered anymore.
188
189 Example:
190   Fluid Tag
191     <f:image src="{file}" alt="Alt-Attribute" />
192   will render
193     <img src="fileadmin/xxxx.jpg" alt="Alt-Attribute" />
194   and not
195     <img src="fileadmin/xxxx.jpg" alt="Alt-Attribute" title="Alt-Attribute" />
196
197 * Date view helper uses configured default format
198
199 The fluid date view helper now uses $GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy']
200 as fallback format instead of hardcoded Y-m-d if no explicit format is given as
201 argument. This may change the output of dates from Y-m-d to d-m-y.
202
203 ### System categories
204
205 * Activated by default
206
207 Pages and content elements are now categorizable by default.
208
209 * New menu types
210
211 The "Special Menus" content element type now offers the possibility to display
212 a list of categorized pages or content elements.