Updating version number to 4.5-dev after release of 4.5.0rc2
[Packages/TYPO3.CMS.git] / NEWS.txt
1 ************************************************************************
2 CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5
3 (for technical details see ChangeLog)
4 ************************************************************************
5
6 Changes in 4.5 pre-releases
7 ===========================
8
9         * All additions to alpha3 until rc2 have been documented here:
10           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450alpha3
11           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta1
12           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta2
13           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta3
14           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta4
15           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450rc1
16           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450rc2
17         
18
19         This information will be merged in this NEWS.txt below before the
20         final release.
21
22 General
23 =======
24
25         * 4.5 will be the first official TYPO3 release with LTS (long term support)
26         * A Sprite Generator was added. This allows you to create your own
27           sprite files, also core can generate the files if some new icons
28           were added (#15079).
29         * When TYPO3 runs with two different domain names for the FE and the
30           BE, it is now possible to set accordingly different cookie domains
31           using $TYPO3_CONF_VARS['FE']['cookieDomain'] and
32           $TYPO3_CONF_VARS['BE']['cookieDomain'].
33         * Pages of type "Shortcut" can now also link to the parent page, not
34           only to the first or a random subpage.
35         * The media element now has a core wizard for rewriting URLs. This
36           allows the user to copy the URL from browser (eg a youtube URL like
37           http://www.youtube.com/watch?v=pkA9qw80xO0) and use
38           it in the media element as URL. Currently supported platforms:
39           youtube, dailymotion, sevenload, vimeo, clipfish, google,
40           metacafe, myvideo, liveleak and veoh.
41         * A improved version of misc/advanced.htaccess provides more accurate
42           and up-to-date information and is a real working sample on how to setup
43           your Apache to server TYPO3 pages. This setup is now also used in the
44           introduction package as-is.
45
46
47 Backend
48 =======
49
50         * The frameset was removed. This makes the Backend a lot faster.
51           Now the navigation tree also can be resized. The new backend works
52           using the ExtJS viewport, providing an easy and unified interface
53           to manipulate the content of the different panels.
54         * The user can decide the type of each page created in the
55           "Create multiple pages" Wizard. And the wizard can create more
56           than 9 pages at once.
57         * When copying or translating content elements, the copy /
58           translation will now default to be "hidden". In order for editors
59           not to loose track of copied elements the default for the checkbox
60           "show hidden elements" is now *on*. This behaviour can be modified
61           by adding this to typo3conf/extTables.php:
62                 $TCA['tt_content']['ctrl']['hideAtCopy'] = FALSE;
63         * All system extensions from typo3/mod were moved to real system
64           extensions. These modules are:
65                 - Extension Manager
66                 - List module
67                 - Filelist module
68                 - Info module
69                 - Access module
70                 - Workspace module
71           List module and Extension Manager are set to required extensions,
72           but it is possible to overwrite this setting in localconf.php eg
73           if you want to deinstall the Extension Manger. Make sure you visit
74           the Update Wizard!!!
75         * The recycler was refactored and has now the same skin as the rest
76           of the BE.
77         * DB check -> page tree submodule was removed (module lowlevel).
78         * RSA Auth now works also with special chars.
79         * Clearing cache now is logged (#15305).
80         * A hook now allows postprocessing of filelist and TCEforms files
81           operations (#15192 and #15221). Typical use-case:
82           - Allow editors to upload any picture (e.g., 10 Mpixels) as they
83             don't know how to resize the pictures or do not have the software
84           - Prevent fileadmin to be overflooded with huge pictures which
85             will never be used in their original size
86           - Automatically resize "huge" pictures after the upload
87           Extension using it already:
88           http://forge.typo3.org/projects/show/extension-image_autoresize
89         * New TS config option to disable the "Show secondary options"
90           checkbox (#13797). In User-TS, you can set:
91           options.enableShowPalettes=0 to see this feature in action.
92           Default is still "1" like it used to be.
93         * The cron syntax interpreter of the Scheduler was entirely refactored.
94           It now supports the full range of cron syntax features as can be found
95           in Unix manual pages.
96
97
98 Frontend
99 ========
100
101         * FE login now allows to show the logout form direct after login.
102
103
104 Extbase / Fluid
105 ===============
106
107         * Fixed Extbase Caching Bug.
108         * All methods trying to find an object by uid now ignore the
109           storagePid. This changes the behavior of argument mapping and the
110           way extbase fetches 1:1 relations. Resolves #5631. You should not
111           experience any negative side-effects of this change, i.e. if your
112           extension worked before, it will definitely after this change.
113           However, it makes the record handling more robust.
114         * Performance improvements in
115           TypoScript::convertTypoScriptArrayToPlainArray.
116         * Fluid contains many new features you might want to start using.
117           There are some changes that require special attention in case you
118           created custom condition ViewHelpers or if you call renderSection()
119           and renderWithLayout() from Tx_Fluid_View_TemplateView.
120         * Check out these ChangeLogs for more details:
121           - typo3/sysext/extbase/ChangeLog.txt
122           - typo3/sysext/fluid/ChangeLog.txt
123
124
125 Compatibility
126 =============
127
128         * See typo3/sysext/fluid/ChangeLog.txt for some breaking changes in
129           Fluid.
130         * See typo3/sysext/extbase/ChangeLog.txt for a fix that might break
131           certain setups (caching bug fixed, might break extbase extensions
132           that setup their own TS configuration manually)
133         * The API for registering additional cache frontends or backends has changed.
134           As of TYPO3 4.5 only the classname needs to be specified in favor of both
135           path to the php file and the classname. Instead the class needs to be
136           registered for autoloading. See #15586 for details.
137           Example:
138           New:
139           $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='tx_myext_cache';
140           Old:
141           $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='/path/tx_myext_cache.php:tx_myext_cache';
142
143
144 Development
145 ===========
146
147         * There is a new setting that shows all SQL queries in debug
148           (#15425): $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2;
149         * Contrib libraries can be replaced now via hook (#15218). This
150           allows to test with updates of these libraries. Demo extensions
151           can be found here:
152                 http://forge.typo3.org/projects/typo3v45-projects/files
153         * Catch all ExtDirect Exceptions and show them in the DebugConsole.
154           It now also allows you to call debug() (#15513).
155         * DebugConsole now also catch console-calls from Javascript if no
156           console is available. This allows eg debug prints in browsers
157           having no console like the IE
158         * ExtDirect is available in the frontend now (#15754):
159           http://wiki.typo3.org/ExtDirect
160         * t3lib_div now provides two functions setSingletonInstance and addInstance
161           that will set the objects to be returned by makeInstance. (#16267)
162           This will allow unit tests to inject mocks into makeInstance.
163           In addition, there now is a function purgeInstances that makes
164           makeInstance return fresh instances (singleton as well as non-singleton).
165         * CSH for FlexForms is handled more cleanly but requires adjustments.
166           This has an impact in particular for FE plugins. To continue displaying
167           the CSH for their FlexForm, the CSH file must be declared
168           as for other elements, i.e.
169
170           t3lib_extMgm::addLLrefForTCAdescr('somekey', 'EXT:myext/locallang_csh.xml');
171
172           For more details, in particular how the key is defined, see:
173           http://buzz.typo3.org/teams/core/article/getting-ready-for-45-changes-in-csh-for-flexforms/
174
175
176 TypoScript
177 ==========
178
179         * stdWrap now has a new feature: .numberFormat (#13815)
180         lib.myPrice = TEXT
181         lib.myPrice {
182                 value = 0.8
183                 numberFormat {
184                         decimals = 2
185                         dec_point = ,
186                 }
187                 noTrimWrap = || $|
188         }
189         # Will result in "0,80 $"
190
191         * GIFBUILDER has a new feature: ELLIPSE (#2049). Example:
192         file  =  GIFBUILDER
193         file  {
194                 XY  =  200,200
195                 format  =  jpg
196                 quality  =  100
197                 10  =  ELLIPSE
198                 10.dimensions  =  100,100,50,50
199                 10.color  =  red
200         }
201         * Added easy interface to integrate lightbox style image enlargement
202           in the frontend. Just set some constants in the "CONTENT" part of
203           css_styled_content and your images will get attributes added that
204           are needed for lightbox JS frameworks to work out of the box.
205
206
207 Database API / DBAL
208 ===================
209
210         * Prepared queries are now part of the TYPO3 database API (#15457).
211           The API is mostly based on PDO's method naming and currently
212           supports SELECT queries. TYPO3 will progressively use this new
213           database API which is cleaner and quicker when using DBAL.
214           Extension authors are encouraged to use it in their own
215           extensions.
216         * Output of SQL parser when dealing with prepared queries is cached
217           for enhanced performances. To activate this caching if you don't have
218           a memcached server:
219           $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
220           In order to have a much higher cache hit ratio, you should use one
221           or more memcached servers. To activate this enhanced caching, use:
222           $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
223           $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['dbal'] = array(
224                 'backend' => 't3lib_cache_backend_MemcachedBackend',
225                 'options' => array(
226                         'servers' => array('localhost:11211', 'otherhost:11211'),
227                 )
228           );
229         * DBAL now supports "FIND_IN_SET()" (#14818) function and maps it
230           correct functions in case usage under AdoDB. Using FIND_IN_SET in
231           listQuery() will provide performance improvements in all areas, as
232           this is used in several places (backend and frontend, for example
233           for checking the group list permissions).
234
235
236 Workspaces
237 ==========
238
239         * There is a new Scheduler task for the automatic publication of
240           workspaces (#14994).  If a publication date has been set for a
241           given workspace, it will be published the next time the Scheduler
242           task runs. Note that automatic "un-publication" still does not
243           work. Replaces non-working CLI script
244           "typo3/mod/user/ws/cli/ws_cli.phpsh".
245         * The workspaces module was completely rewritten and is now based on
246           ExtJS. The usability is enhanced by displaying the information in a
247           nice grid view. Besides that each workspace can now have a customized
248           set of stages which are child records of a workspace record.
249           Make sure to run the upgrade wizard which migrates the hardcoded draft
250           workspace to a real workspace and sets up the new stages.
251         * Inline Relational Record Editing (IRRE) can now also be used for 1:n
252           relations in workspaces.
253         * In order to support custom stages properly it's recommended to change
254            the type of all t3ver_stage fields from tinyint(4) to int(11).
255
256
257 Backend skin
258 ============
259
260         * sprites.css now contains the autogenerated sprites.
261
262
263 Speed improvements
264 ==================
265
266         * Added "compress data" options to DbBackend of the Caching
267           framework (#15141). Enable it like this:
268         $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages'] =
269         array(
270                 'frontend' => 't3lib_cache_frontend_VariableFrontend',
271                 'backend' => 't3lib_cache_backend_DbBackend',
272                 'options' => array(
273                         'cacheTable' => 'cachingframework_cache_pages',
274                         'tagsTable' => 'cachingframework_cache_pages_tags',
275                         'compression' => TRUE,
276                 ),
277         );
278         * Some often used functions of t3lib_div were speed improved.