[TASK] Use external Core Project DBAL as Git submodule
[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-2011 by Kasper Skaarhoj.
4
5 This document contains information about TYPO3 version 4.5 which was released
6 on January, 26th 2011.
7
8 An up-to-date version of this document also containing links to further in
9 depth information can be found here:
10
11 http://wiki.typo3.org/TYPO3_4.5
12
13 -------------------------------------------------------------------------------
14 Compatibility
15 -------------------------------------------------------------------------------
16
17 * safe_mode
18
19 We still support safe_mode in TYPO3 4.5, but won't be able to fix further bugs
20 related to safe_mode being enabled (e.g. image generation). System
21 Requirements for TYPO3 4.6 will (most probably) be PHP 5.3 and safe_mode
22 disabled. Thus users wanting to upgrade to 4.6 (End of 2011) will have to make
23 sure safe_mode is off, else they can still stick to 4.5 (with LTS) for the
24 next three years.
25
26 * Apache
27
28 Please note that TYPO3 automatically generates a .htaccess file in
29 typo3temp/compressed/ which speeds up the loading of the backend while using
30 Apache. It sets an 'Expires' and requires Apache to be able to set this
31 through an .htaccess. If you get errors or do not want this feature, please
32 consider turning it off:
33
34  $TYPO3_CONF_VARS['SYS']['generateApacheHtaccess'] = 0
35
36 * Mail Sending
37
38 Starting with this release, TYPO3 provides a unified and RFC compliant API to
39 send emails. This also presents new settings (through the Install Tool > All
40 Configuration, in the [MAIL] section) allowing the site admin to decide
41 through which transport mechanism emails generated by TYPO3 core and
42 extensions should be handled: send via PHP's "mail()" or directly through SMTP
43 or sendmail, or just written to a text file.
44
45 The release team was in contact with the author of major mail sending
46 extensions (Direct Mail, Powermail, Mailhandler) and all will release newer
47 versions soon after 4.5 is out. Since not all extensions will start using this
48 new API from start, a compatibility layer is provided. This layer might prove
49 not to work correctly if the extension tried to provide MIME encoding on its
50 own. So if you are unsure about it or if you get destroyed mails, consider
51 setting this compatibility layer off (with the drawback of not being able to
52 configure the transport anymore for those pre-4.5 extensions):
53
54  $TYPO3_CONF_VARS['MAIL']['substituteOldMailAPI'] = 0
55
56 ===============================================================================
57 Changes and improvements
58 ===============================================================================
59
60 This will list all changes and improvements between TYPO3 4.4 and 4.5. For
61 technical details see ChangeLog included in the typo3_src package.
62
63 -------------------------------------------------------------------------------
64 General
65 -------------------------------------------------------------------------------
66
67 HTML5 new TYPO3 Backend doctype: This allows the Core and also Extensions to
68 make use of newer browser features. Of course we will still maintain
69 compatibility with IE6, having some graceful fallback where necessary (by
70 using Modernizr to detect CSS3 capabilities).
71
72 UTF8 by default: New installations will use UTF8 automatically. Keep in mind
73 that we will be deprecating all other charsets in the release of 4.5, but
74 still support those charsets. 4.7 or maybe even 4.6 will be the first "UTF-8
75 only" release. When upgrading from older releases to 4.5, you will have to
76 specifically set $TYPO3_CONF_VARS['BE']['forceCharset'] and
77 $TYPO3_CONF_VARS['BE']['setDBinit'] in your localconf.php. An Upgrade Wizard
78 will help you with that.
79
80 Usage of ImageMagick 4 and 5 is deprecated: With 4.5 (and in the long term
81 support) we will still support that ancient versions, but will drop support
82 for it starting in 4.6 already. This will enable us to fix bugs in the
83 graphical engine faster and to add new features to it more efficiently.
84
85 Workspaces
86 -------------------------------------------------------------------------------
87
88 We proudly present the new Workspace Module, completely based on ExtJS and
89 powered by Extbase / Fluid (the first core backend module to use this
90 framework). All Workspace improvements were made by a dedicated Workspaces
91 team.
92
93 * A Workspace can now implement custom stages to allow more flexible reviewing
94   setups.
95 * The default "draft workspace" is now obsolete and will be migrated to a real
96   workspace by an Upgrade Wizard.
97 * Inline Relational Record Editing (IRRE) finally works in Workspaces.
98 * There is a new Scheduler task for the automatic publication of workspaces.
99   This replaces the non-working CLI script "typo3/mod/user/ws/cli/ws_cli.phpsh"
100   (which was removed).
101
102 Mail API
103 -------------------------------------------------------------------------------
104
105 A whole new mail API based on SwiftMailer was added to replace t3lib_htmlmail.
106 t3lib_htmlmail won't be removed; it is just marked as "deprecated".
107
108 With this new Mail API some configuration options were introduced, which allow
109 the administrator to configure how mails should be send (setting
110 $TYPO3_CONF_VARS['MAIL']['transport']):
111
112 * mail: default and backwards compatible setting. This is the most unreliable
113   option. If you are serious about sending mails, consider using "smtp" or
114   "sendmail".
115 * smtp: Sends messages over SMTP. It can deal with encryption and
116   authentication. Requires a mail server. Works exactly the same on Windows,
117   Unix and MacOS.
118 * sendmail: Sends messages by communicating with a locally installed MTA -
119   such as sendmail.
120 * mbox: This doesn't send any mail out, but instead will write every outgoing
121   mail to a file.
122
123 The new mail API can be configured to hook itself directly into
124 t3lib_utility_mail::mail(), which means that all mail sending that uses that
125 API (especially extensions) will use the new settings.
126
127 Linkvalidator
128 -------------------------------------------------------------------------------
129
130 A new Linkvalidator module was added as a new system extension. It is able to
131 check all kinds of links: internal, external and file links. It looks inside
132 headers, bodytext and other configured fields. It comes with a just-in-time
133 checker and is also able to do the checks via a scheduler task. Development of
134 this module is done through the Linkvalidator team.
135
136 New Extension Manager (EM)
137 -------------------------------------------------------------------------------
138
139 This module is a brand new all-in-one Extension Manger based on an ExtJS UI.
140
141 The whole EM extension was completely refactored while keeping all the
142 functionality of the existing EM. A new optional UI based on ExtJS and
143 ExtDirect was added (Function Menu "Extension Manager" in the EM), which
144 provides a smooth way for new users to manage the extensions.
145
146 Amongst the known features it comes with a couple of new possibilities:
147
148 * Manage your extensions from TER through the Extension Managers UI (create /
149   delete / transfer extensions keys). Needs to be enabled in the "em"
150   extension configuration.
151 * Support for multiple TER repositories: Create your own repository and be
152   able to maintain your private extensions through the new EM. This is a nice
153   feature also for agencies which maintain lots of custom extensions.
154
155 A new task was added (scheduler) to update the list of available extensions
156 from TER regularly.
157
158 Other general improvements
159 -------------------------------------------------------------------------------
160
161 Added Khmer language (Cambodian).
162
163 An improved version of "_.htaccess" (former misc/advanced.htaccess) provides
164 more accurate and up-to-date information and is a real working sample on how
165 to setup your Apache to serve TYPO3 pages. This setup is now also used in the
166 introduction and dummy packages.
167
168 Added an easy way to create news that are displayed below the login form in
169 the /typo3 login screen. Just create records of type "System News" in your
170 root folder.
171
172 When TYPO3 runs with two different domain names for the FE and the BE, it is
173 now possible to set accordingly different cookie domains using
174 $TYPO3_CONF_VARS['FE']['cookieDomain'] and
175 $TYPO3_CONF_VARS['BE']['cookieDomain'].
176
177 The media element now has a core wizard for rewriting URLs. This allows the
178 user to copy the URL from browser (e.g. a youtube URL like
179 http://www.youtube.com/watch?v=pkA9qw80xO0) and use it as URL in the media
180 element. Currently supported platforms: youtube, dailymotion, sevenload,
181 vimeo, clipfish, google, metacafe, myvideo, liveleak and veoh. This is the
182 result of a Google Summer of Code student's work.
183
184 -------------------------------------------------------------------------------
185 Backend
186 -------------------------------------------------------------------------------
187
188 Frameset is gone / New Pagetree
189 -------------------------------------------------------------------------------
190
191 The frameset which used to lay out the backend was removed. The new backend
192 works using the ExtJS viewport, providing an easy, fast and unified interface
193 to manipulate the content of the different panels. As a side effect, the
194 navigation tree can be resized at will.
195
196 Adding to that we have a brand New Pagetree based on ExtJS / ExtDirect and a
197 new powerful API for "trees" and "context menus".
198
199 Grid view / Backend layout
200 -------------------------------------------------------------------------------
201
202 The Backend Layout Wizard enables the layout of the well known "Columns" View
203 (Web>Page) to be adapted to the frontend look and feel. This feature was a
204 development from the T3UXW09 and was finished for 4.5. To use this feature,
205 create records of type "Backend layout" in a Folder, using the available
206 Wizard to create the grid you want. Then go to the Web>Page module as usual
207 and select the Grid for your page.
208
209 Live search
210 -------------------------------------------------------------------------------
211
212 Added a Live search with auto-complete / suggest to replace the old "search
213 box". This is also a result from the T3UXW09 which was finished during the 4.5
214 development phase.
215
216 RTEhtmlarea
217 -------------------------------------------------------------------------------
218
219 Development of RTEhtmlarea didn't stop and there are tons of nice new features
220 and fixes in this new release. Amongst them:
221
222 * New option "paste as plaintext". When the toggle is ON, any paste action is
223   intercepted and clipboard content is pasted as plain text. A "Clean paste"
224   feature allows the user to paste content "unformatted", "structure only" or
225   "fully blown".
226
227 * Added option in the RemoveFormat plugin to remove typographical punctuation,
228   which might come from Copy&Paste from MS-Word.
229
230 * Added a general element properties editing dialogue, where you can add "id",
231   "name", "lang" and other universal attributes to any tag in your content.
232
233 Other improvements to the Backend
234 -------------------------------------------------------------------------------
235
236 "Create multiple pages" Wizard improved: The user can decide the type of each
237 page created, and it allows to create more than 9 pages at once.
238
239 t3editor now also enables syntax highlighting when editing files in fileadmin,
240 for example when editing HTML, PHP, SQL, XML files. We also updated the
241 underlying codemirror to the latest version (0.9) which is also used in the
242 new extension manager (local extension, Tab "Files").
243
244 Pages of type "Shortcut" can now also link to the parent page, not only to the
245 first or a random subpage.
246
247 SysFolder was renamed to just "Folder": We don't have any other "Folder type",
248 so this change was done to improve usability for first time users. A Folder
249 can contain any type of record.
250
251 Page module will provide a direct link to the list module when accessing
252 Folders.
253
254 Allow adding query parameters (&...) to internal links (e.g. in fields with
255 browse_links and images). This used to be a feature of RTEhtmlarea links only
256 and is now available on every link wizard.
257
258 The former "Shortcuts" feature (in the toolbar, where one could make shortcuts
259 to different backend modules and pages) was renamed to "Bookmarks" to avoid
260 the confusion with the "Page Shortcuts". This change was also reflected in
261 UserTS options.
262
263 Old modules from typo3/mod were moved to real system extensions. These modules
264 are:
265
266 * Extension Manager (required)
267 * List module (required)
268 * Filelist module
269 * Info module
270 * Access module
271 * Workspace module
272
273 Make sure you visit the Update Wizard to enable those extensions after
274 upgrading to 4.5.
275
276 DB check -> page tree submodule was removed (module lowlevel) because of its
277 uselessness.
278
279 "Clearing cache" now is logged to the Admin Tools > Log.
280
281 A hook now allows postprocessing of filelist and TCEforms files operations.
282 Typical use-cases:
283
284 * Allow editors to upload any picture (e.g., 10 Mpixels) as they don't know
285   how to resize the pictures or do not have the software
286 * Prevent fileadmin to be overflooded with huge pictures which will never be
287   used in their original size
288 * Automatically resize "huge" pictures after the upload.
289
290 New TS config option to disable the "Show secondary options" checkbox. In
291 User-TS, you can set: options.enableShowPalettes=0 to see this feature in
292 action. Default is still "1" like it used to be.
293
294 When copying or translating content elements, the copy / translation will now
295 default to be "hidden". This eases work of translators, in that the
296 "[Translate to language]" elements do not appear in the frontend right away.
297 In order for editors not to loose track of copied elements the default for the
298 checkbox "show hidden elements" is now on. This behaviour can be modified by
299 adding this to typo3conf/extTables.php:
300
301  $TCA['tt_content']['ctrl']['hideAtCopy'] = FALSE;
302
303 A new condition is available for the current page record in PageTS. This
304 allows settings for example like this:
305
306  mod.SHARED.colPos_list = 0
307  [page|layout = 1]
308  mod.SHARED.colPos_list = 1,0
309  [global]
310
311 -------------------------------------------------------------------------------
312 Skin / Backend UI
313 -------------------------------------------------------------------------------
314
315 ExtJS and our Skin
316 -------------------------------------------------------------------------------
317
318 We updated ExtJS used by the backend to version 3.3.1. Our skin was improved
319 to provide more support for common ExtJS components and the look and feel of
320 them was greatly adapted by our Design & Usability Team.
321
322 * ExtJS Grids, Tabs and Buttons are now styled the "TYPO3-way".
323 * The recycler was refactored and has uses the same skin as the rest of the BE.
324 * The new Workspaces module includes other components which now have a common
325   styling.
326 * The whole core now uses a new style of windows and dialogs (with lightbox
327   effect) in the backend (TYPO3.Window and TYPO3.Dialog).
328
329 Usability of Editing Forms
330 -------------------------------------------------------------------------------
331
332 The "Pages" and "Content Element" forms were completely rearranged and got new
333 and more useable labels. This is also a result from the T3UXW09. During this
334 project we also improved the usability of the "clear field" checkbox (now
335 inside the input area on mouse-over). The same checkbox used to select the
336 default date on a date field, this can now be done in the popup calendar
337 (ExtJS based, which now also correctly supports TCA date ranges).
338
339 A new CSH API was introduced and is being used throughout the core. There are
340 no longer CSH icons in the forms. Instead the CSH opens as (ExtJS based)
341 tooltips when hovering over the labels.
342
343 Sprites
344 -------------------------------------------------------------------------------
345
346 A sprite generator was added. This allows you to create your own sprite files,
347 also core can generate the files if some new icons were added. The core is now
348 able to auto-generate sprites from icons if configured to do so. Default setup
349 is to use the available sprites that ship with TYPO3. Using this handler you
350 can advise the SpriteManager to create a sprite out of all custom icons
351 (shipped via extensions), and use this one for displaying custom icons
352 (speeding up the backend). This works transparently: extension developers can
353 continue using "single" icons. Set:
354
355  $TYPO3_CONF_VARS['BE']['spriteIconGenerator_handler'] = 't3lib_spritemanager_SpriteBuildingHandler'
356
357 TCEforms now also uses the sprites in a lot more places, providing more
358 consistent icons matching our skin.
359
360 Other Improvements in the Skin / Backend UI
361 -------------------------------------------------------------------------------
362
363 Lots of improvements in the Skin were made possible by the Skin team, formed
364 during the 4.5 development phase. Styling of the new workspace module, ExtJS
365 components, new backend structure with added contrast (and drop shadows)
366 between the areas styled page. Plenty of optimizations to backend skin to have
367 a more consistent look and feel and converge more towards the Phoenix
368 (TYPO3v5) development.
369
370 The frontend Admin Panel was styled and has a nice look and feel now (and more
371 fitting to the new backend skin).
372
373 Added current flags from famfam in t3skin in a nice sprite. This means you can
374 now choose between much more flags for your sys_languages. Be sure to visit
375 the "Upgrade Wizard" to make the necessary DB changes in your existing
376 sys_language (strips the .gif from flag names).
377
378 Access Lists settings in be_groups configuration are now rendered as
379 checkboxes providing a more useable way of manipulating this huge list of
380 options.
381
382 -------------------------------------------------------------------------------
383 Administration / Customization
384 -------------------------------------------------------------------------------
385
386 TypoScript included from files (via <INCLUDE_TYPOSCRIPT ...>) can now be
387 edited directly through the backend in the t3editor.
388
389 Scheduler: The cron syntax interpreter of the Scheduler was entirely
390 refactored. It now supports the full range of cron syntax features as can be
391 found in Unix manual pages.
392
393 Individual FlexForms fields can now be enabled / disabled via TSConfig and
394 group access lists.
395
396 * In the configuration module the array keys are now sorted alphabetically.
397 * Checkbox at the bottom of the modules are now hideable to provide a cleaner
398   interface:
399
400  * New User TSconfig options: options.file_list.enableDisplayBigControlPanel,
401    options.file_list.enableDisplayThumbnails,
402    options.file_list.enableClipBoard
403  * New Page TSconfig options: mod.web_list.enableDisplayBigControlPanel,
404    mod.web_list.enableClipBoard, mod.web_list.enableLocalizationView
405
406 Install tool
407 -------------------------------------------------------------------------------
408
409 We now have a better API for Update Wizards in the Install Tool. This also
410 makes the Wizards accessible one after the other (with "Next" buttons). To
411 avoid installing TYPO3 on a system that doesn't match the requirements, a
412 pre-check for required php-extensions was added to the 1-2-3 installer.
413
414 The Install Tool used to silently fail when there was an error in some
415 statement of the DB "COMPARE". Now these errors are reported in the returned
416 form.
417
418 -------------------------------------------------------------------------------
419 Development
420 -------------------------------------------------------------------------------
421
422 Extbase / Fluid
423 -------------------------------------------------------------------------------
424
425 Extbase, the MVC bridge between TYPO3 Phoenix' framework FLOW3 and TYPO3 v4 as
426 well as the new templating engine Fluid are steadily improved with every new
427 version of TYPO3 4.x.
428
429 Extbase now supports Dependency Injection, which is one of the building blocks
430 of FLOW3. It helps you to build loosely-coupled systems more easily and allows
431 you to gain experience with another FLOW3 concept in your daily life.
432
433 In TYPO3 4.5 LTS, Fluid can be used from TypoScript using the new
434 FLUIDTEMPLATE content object. This means you can now use Fluid Templates not
435 only for Extensions, but also for the website itself. Furthermore, support for
436 Widgets has been added, meaning you can add page browsing or Ajax
437 autocompletion with a single line in your Fluid template.
438
439 There are many more smaller features, and many issues have been tackled,
440 making this the most stable Extbase release ever.
441
442 Although we do our best to make adjustments in a backwards-compatible manner,
443 we needed to break backwards compatibility at a few places. In order to see if
444 you are affected and how the issues can be solved, please read our notes on
445 breaking changes:
446
447 http://forge.typo3.org/projects/typo3v4-mvc/wiki/Breaking_Changes
448
449 Backend Development
450 -------------------------------------------------------------------------------
451
452 Generic notification methods to show windows and dialogs in the backend based
453 on ExtJS. Just access them via JS via TYPO3.Window and TYPO3.Dialog.
454
455 A new view panel (debug console) appears the lower side of the backend in
456 development mode. It displays any call to debug() by BE modules, any thrown
457 ExtDirect Exceptions, and even debug() calls inside ExtDirect calls. It also
458 catches and displays any console-calls from Javascript.
459
460 ExtDirect is available in the frontend now.
461
462 A new mode was added to debug the backend with $TYPO3_CONF_VARS['BE']['debug']
463 = '1'; it disables the login refresh ajax call and instructs the page renderer
464 not to merge the loaded javascript and CSS files, easing debugging with tools
465 like Firebug.
466
467 Extension Development
468 -------------------------------------------------------------------------------
469
470 Rendering of backend modules got easier, using the PageRenderer's new facility
471 method "render()".
472
473 There is a new setting that shows all SQL queries in debug mode:
474 $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2;.
475
476 Based on the new tree API we have a new feature called "TCA trees". For
477 example add this to your typo3conf/extTables.php and see it in action in the
478 "Pages" settings (check the fields Access Usergroups and "General record
479 storage"):
480
481  $GLOBALS['TCA']['pages']['columns']['fe_group']['config']['renderMode'] = 'tree';
482  $GLOBALS['TCA']['pages']['columns']['fe_group']['config']['treeConfig'] = array(
483      'expandAll' => true,
484      'parentField' => 'subgroup'
485  );
486
487  $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['type'] = 'select';
488  $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['renderMode'] = 'tree';
489  $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['treeConfig'] = array(
490      'parentField' => 'pid'
491  );
492  $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['foreign_table'] = 'pages';
493  $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['foreign_table_where'] = ' ORDER BY pages.sorting ASC';
494  $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['size'] = 10;
495
496 CSH for FlexForms is handled more cleanly but requires adjustments. This has
497 an impact in particular for FE plugins. To continue displaying the CSH for
498 their FlexForm, the CSH file must be declared as for other elements, i.e.
499
500  t3lib_extMgm::addLLrefForTCAdescr('somekey', 'EXT:myext/locallang_csh.xml');
501
502 TypoScript / Frontend
503 -------------------------------------------------------------------------------
504
505 * Added easy interface to integrate lightbox style image enlargement in the
506 frontend. Just set the constants in the "CONTENT" part of css_styled_content
507 and your images will get attributes added that are needed for lightbox JS
508 frameworks to work out of the box.
509
510 * New TypoScript features:
511  * Implemented stdWrap in all properties of all cObjects to enhance flexibility
512  * stdWrap now has property .numberFormat
513  * GIFBUILDER has a new object type ELLIPSE
514  * New content object "FLUIDTEMPLATE" allowing to use the coolness of fluid
515    templates to build TYPO3 websites (instead of using markers / subparts)
516  * New content object "SVG" which works on all browsers. It uses svgweb
517    library to provide cross-browser support
518  * New property .noRescale for IMG_RESOURCE, allowing to provide unscaled high
519    resolution images, useful for example when transforming the rendered HTML into
520    a PDF
521  * matchCondition now also recognizes iOS and Android.
522
523 * A new option to force SSL on a page base was added, a functionality which
524   was previously only available through extensions.
525
526 * Added support for RDFa doctype headers (semantic web)
527
528 Database API / DBAL
529 -------------------------------------------------------------------------------
530
531 Prepared queries are now part of the TYPO3 database API. The API is mostly
532 based on PDO's method naming and currently supports SELECT queries. TYPO3 will
533 progressively use this new database API which is cleaner and quicker when
534 using DBAL. Extension authors are encouraged to use it in their own
535 extensions.
536
537 To speed up operation when DBAL is activated, output of SQL parser when
538 dealing with prepared queries is cached. To activate this caching if you don't
539 have a memcached server:
540  $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
541
542 In order to have a much higher cache hit ratio, you should use one or more
543 memcached servers. To activate this enhanced caching, use:
544  $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
545  $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['dbal'] = array(
546      'backend' => 't3lib_cache_backend_MemcachedBackend',
547      'options' => array(
548          'servers' => array('localhost:11211', 'otherhost:11211'),
549      )
550  );
551
552 -------------------------------------------------------------------------------
553 Security
554 -------------------------------------------------------------------------------
555
556 Introduced a form protection API to avoid "Cross Site Request Forgery"
557 attacks.
558
559 After introducing a protection, all extensions that provide backend modules
560 using alt_doc.php, tce_db.php or tce_file.php need to provide a token in the
561 URL or the form. This can be done by using the following code:
562
563 *alt_doc.php*
564  t3lib_TCEforms::getHiddenTokenField('editRecord');
565  // or
566  t3lib_BEfunc::getUrlToken('editRecord');
567
568 *tce_db.php*
569  t3lib_TCEforms::getHiddenTokenField('tceAction');
570  // or
571  t3lib_BEfunc::getUrlToken('tceAction');
572
573 *tce_file.php*
574  t3lib_TCEforms::getHiddenTokenField('tceFileAction');
575  // or
576  t3lib_BEfunc::getUrlToken('tceFileAction');
577
578 A new task (scheduler) for bulk update of passwords for use with
579 saltedpasswords.
580
581 -------------------------------------------------------------------------------
582 Performance
583 -------------------------------------------------------------------------------
584
585 Caching Framework
586 -------------------------------------------------------------------------------
587
588 Added option to compress data in DbBackend of the Caching framework. This will
589 speed up your caching especially if the database server is accessed through a
590 network. Enable it like this:
591
592  $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages'] = array(
593                 'frontend' => 't3lib_cache_frontend_VariableFrontend',
594                 'backend' => 't3lib_cache_backend_DbBackend',
595                 'options' => array(
596                         'cacheTable' => 'cachingframework_cache_pages',
597                         'tagsTable' => 'cachingframework_cache_pages_tags',
598                         'compression' => TRUE,
599                 ),
600         );
601
602 A new scheduler task was added to execute garbage collection in the caches.
603
604 A new redis cache backend was integrated.
605
606 The Variable frontend now supports the [http://opensource.dynamoid.com/
607 igbinary serializer] which speeds up serialization und unserialization of
608 arrays and objects and leads to smaller cache data. The module will be used
609 transparently, if it is available on the system.
610
611 TypoScript
612 -------------------------------------------------------------------------------
613
614 Lots of stdWrap optimizations in all cObjects improve the performance of
615 content rendering: The stdWrap method now processes only existing properties
616 in a very small loop and returns fast if there is nothing to do. New additions
617 of stdWrap also take care not to call the stdWrap function in vain (if no
618 stdWrap property is set for example). Frontend rendering should be faster with
619 improved flexibility!
620
621 Database Access
622 -------------------------------------------------------------------------------
623
624 Some improvements were made on queries that expect just a single result row.
625 This was acchieved by replacing calls to exec_SELECTgetRows by the newly
626 introduced exec_SELECTgetSingleRow.
627
628 SQL's "FIND_IN_SET()" (support in DBAL added in this release) is now being
629 used throughout the core, speeding up many queries, e.g. listQuery(), for
630 example for checking the group list permissions.
631