[BUGFIX] Write config to extTables destroys HTML output
[Packages/TYPO3.CMS.git] / NEWS.txt
1 This document is a part of the TYPO3 project. TYPO3 is an open source web
2 content management system released under the GNU GPL. TYPO3 is copyright
3 (c) 1999-2012 by Kasper Skaarhoj.
5 This document contains information about TYPO3 version 6.1 has been released
6 on April 30th 2013.
8 An up-to-date version of this document also containing links to further in
9 depth information can be found here:
11 http://wiki.typo3.org/TYPO3_6.1
13 ===============================================================================
14 Compatibility
15 ===============================================================================
17 During 6.1 development phase the 10.000th core merge was done.
18 Inspiring people to share - special thanks to all contributors!
20 -------------------------------------------------------------------------------
21 System environment
22 -------------------------------------------------------------------------------
24 * Switch from mysql to mysqli PHP database extension
26 The main database connection class (formerly known as TYPO3_DB) now uses
27 "mysqli" instead of the old "mysql" extension. mysqli was introduced with
28 PHP 5.0 and ships with all supported PHP versions by default. The original
29 extension "mysql" is deprecated with the upcoming PHP 5.5 version, is only
30 optimized for MySQL 4.1.3 or earlier, and lacks support for some newer
31 features of MySQL Server.
33 As TYPO3 CMS requires MySQL 5+ for some versions now, it is only natural to
34 exchange the mysql library as well. As the mysql calls are encapsulated
35 entirely in the main database connection class, there are only slight API
36 changes -- all extension code using the API should run as before.
38 "mysqli" is now a hard requirement in the PHP environment and must be loaded
39 for TYPO3 to run.
41 -------------------------------------------------------------------------------
42 Deprecated and removed components
43 -------------------------------------------------------------------------------
45 * Removed extension statictemplates
47 Static templates is an extension that delivers ready to use frontend templates
48 like the "Green" template. The extension is outdated for years and currently
49 unmaintained. It is removed from the core in the hope that it finds an
50 interested new maintainer who can develop it further. If it still was in use
51 for the given instance, an ugrade wizard is in place to fetch it from the
52 online extension repository.
53 Some frontend HMENU types are removed together with this extension as they use
54 javascript files included in statictemplates. Namely GMENU_LAYERS, TMENU_LAYERS
55 and GMENU_FOLDOUT are not delivered with the core anymore. If those TypoScript
56 HMENU types are still used, the extension statictemplates should be fetched
57 and installed from the TYPO3 extension repository as they are delivered
58 together with the extension.
60 ===============================================================================
61 Changes and Improvements
62 ===============================================================================
64 -------------------------------------------------------------------------------
65 General
66 -------------------------------------------------------------------------------
68 * Improved TCA load mechanism
70 The initialization of the central $GLOBAL['TCA'] array was refactored,
71 accelerated and simplified. Frontend code can now rely on a fully loaded array
72 including columns and the requirement to call loadTca() in ext_tables.php if
73 manipulating TCA is gone.
74 Extension authors should catch up with this evolvment: Definition of new TCA
75 tables should be moved to the extensions Configuration/TCA/ directory, every
76 table must be declared in an own file "tablename.php". The file must return the
77 full TCA definition of the specific table, with ctrl and columns sections
78 merged together, without the former dynamicConfigFile definition. The
79 declaration of TCA for new tables can be dropped from ext_tables.php, the
80 bootstrap will find and execute any new table definitions in Configuration/TCA
81 automatically if the extension author sticks to the convention. Examples of
82 correct registration can be found in sys_note and extensionmanager and other
83 system extensions.
85 -------------------------------------------------------------------------------
86 Backend
87 -------------------------------------------------------------------------------
89 -------------------------------------------------------------------------------
90 Administration / Customization
91 -------------------------------------------------------------------------------
93 -------------------------------------------------------------------------------
94 Extbase
95 -------------------------------------------------------------------------------
97 * Enabled rewritten property mapper as default mapper
99 Property mapping is the process to create method parameters or objects from
100 incoming form or ajax data. With TYPO3 CMS version 4.6 a new property mapper
101 was included as a backport from FLOW. It is much better configurable
102 and can for example handle complex mapping tasks like creating a DateTime
103 object from different given string formats. The FLOW documentation at
104 http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/ section
105 PropertyMapping can be used as basic feature reference.
106 This mapper is now enabled by default deprecating the old mapper one. extbase
107 extensions might have minor issues with the new default if not coded in a clean
108 way. While it is better to fix those issues, a quick fix is to swich back
109 to the old mapper with a TypoScript setting:
110 plugin.tx_extname.features.rewrittenPropertyMapper = 0
112 * Removed forced single table inheritance of frontend users and groups
114 Single table inheritance in extbase is used to stuff similar objects into a
115 table, but still create different objects from it, depending on the value of
116 column record_type of a specific row.
117 With versions prior to 6.1, this was done for fe_users and fe_groups table. As
118 a result, a frontend user object was only created from a row in persistence, if
119 the record type was set to TYPO3\CMS\Extbase\Domain\Model\FrontendUser.
120 Single table inheritance for fe_users and fe_groups was meant as a show case
121 of the functionality in early extbase days, but didn't fit the current use
122 cases anymore and was removed with 6.1.
123 This change might affect backwards compatibility for your extensions, if they
124 rely on single table inheritance of frontend users or groups. In seldom cases,
125 this could lead to more objects being constituted from persistence in your
126 repository calls than before. So keep a look at your frontend user object and
127 groups and verify there is now not a bigger number ob objects fetched from
128 persistence. To rebuild the previous behavior, revert the TypoScript change of
129 https://review.typo3.org/#/c/17879 in your extension.
131 -------------------------------------------------------------------------------
132 Fluid
133 -------------------------------------------------------------------------------
135 * Removed inline styling of f:form viewhelper hidden div
137 The f:form view helper renders several hidden input fields. Those are
138 encapsulated in a <div>. In versions prior to 6.1, this div had an inline style
139 attribute 'sytle="display: none"'. This was removed in 6.1 for accessibility
140 reasons. While this change won't have any effects on most systems, this is a
141 potentially breaking change if javascript DOM manipulation is done. The new
142 optional viewhelper parameter "hiddenFieldClassName" was introduced and can be
143 used to match this div.
145 * Allow Fluid arrays only in ViewHelper arguments
147 Fluid arrays are a subset of the JavaScript object syntax, making it hard to
148 work with them in mixed HTML/JavaScript documents. For example the following
149 JavaScript Object was parsed by Fluid:
150 var uris = {
151 endPoint1: '{f:uri.action(.)}',
152 endPoint2: '{f:uri.action(.)}',
153 };
154 With 6.1, Fluid now only parses arrays which are used inside ViewHelper
155 arguments, such that an array inside normal text is not converted anymore.
156 This change is only breaking in very rare cases where one relied on the inner
157 contents of the ViewHelper being an array, eg. if one used the debug
158 ViewHelper as follows:
159 <f:debug>{key1: 'value1', key2: 'value2'}</f:debug>
160 ViewHelpers which were written like this should be re-written to take the array
161 as ViewHelper argument:
162 <f:debug value="{key1: 'value1', key2: 'value2'}" />