[BUGFIX] Correct TCA inclusion for uploads rendering
[Packages/TYPO3.CMS.git] / NEWS.txt
index df77676..e6bbfe1 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
-************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.3 and 4.4
-(for technical details see ChangeLog)
-************************************************************************
+*******************************************************************************
+$Id$
+*******************************************************************************
 
-General
-=======
+This document is a part of the TYPO3 project. TYPO3 is an open source web
+content management system released under the GNU GPL. TYPO3 is copyright
+(c) 1999-2011 by Kasper Skaarhoj.
+
+This document contains information about TYPO3 version 4.5 which was released
+on January, 26th 2011.
+
+An up-to-date version of this document also containing links to further in
+depth information can be found here:
+
+http://wiki.typo3.org/TYPO3_4.5
+
+-------------------------------------------------------------------------------
+Compatibility
+-------------------------------------------------------------------------------
+
+* safe_mode
+
+We still support safe_mode in TYPO3 4.5, but won't be able to fix further bugs
+related to safe_mode being enabled (e.g. image generation). System
+Requirements for TYPO3 4.6 will (most probably) be PHP 5.3 and safe_mode
+disabled. Thus users wanting to upgrade to 4.6 (End of 2011) will have to make
+sure safe_mode is off, else they can still stick to 4.5 (with LTS) for the
+next three years.
 
-       * TYPO3 requires PHP 5.2 now
+* Apache
 
-       * The static templates for some basic designs that were part of the TYPO3 Core since TYPO3 3.5 are now moved to a system extension that is not included by default. If you are using one of these templates (GLUECK, GREEN, CANDIDATE etc) or one of the old table-based layouts for rendering content (like content (default) or plaintext rendering), make sure to install the system extension via the TYPO3 Installer.
+Please note that TYPO3 automatically generates a .htaccess file in
+typo3temp/compressed/ which speeds up the loading of the backend while using
+Apache. It sets an 'Expires' and requires Apache to be able to set this
+through an .htaccess. If you get errors or do not want this feature, please
+consider turning it off:
 
-       * The RTE has undergone major changes as UI components have been transformed into ExtJS widgets:
-               1. The RTE framework becomes an ExtJS Panel comprising the toolbar, the iframe, the textarea and the status bar. All components are ExtJS objects.
-               2. When BE textareas are resizable, the framework is resizable as a whole. In the FE, the framework is always resizable.
-               3. The toolbar dropdowns become ExtJS ComboBoxes.
-               4. The context menu becomes a configurable ExtJS Menu.
-               5. Color palettes become ExtJS ColorPalettes.
-               6. All dialogue windows become ExtJS windows.
+ $TYPO3_CONF_VARS['SYS']['generateApacheHtaccess'] = 0
 
-       * The install tool is visually refactored and updated. It has now a different look&feel when accessing from outside the TYPO3 Backend and from within to be integrated better in the backend. Also, the 1-2-3 installer process is now cleaned up to be in sync with the new UI elements. There is a new hook in the installing process that allows to add or modify the existing steps in the installer to add more configuration options to a custom TYPO3 installation.
+* Mail Sending
 
-       * The task center module in the TYPO3 Backend has undergone a complete refactoring, both visually and code-wise.
+Starting with this release, TYPO3 provides a unified and RFC compliant API to
+send emails. This also presents new settings (through the Install Tool > All
+Configuration, in the [MAIL] section) allowing the site admin to decide
+through which transport mechanism emails generated by TYPO3 core and
+extensions should be handled: send via PHP's "mail()" or directly through SMTP
+or sendmail, or just written to a text file.
 
-       * Automatic version-numbers of CSS and JS files to avoid caching problems: This feature provides automatic numbering of CSS and JS files using the files modified timestamp. This way the file reference will change when a CSS or JS files is changed, and by this the browser and proxy will re-cache the file. Can be configured to include the timestamp within the the filename (before .ext) or as a parameter to the file (default).
-         If versioning is done inside the filename (by setting $TYPO3_CONF_VARS[BE][versionNumberInFilename] to true) you need this line as the first rewrite rule in .htaccess:
-               # Rule for versioned static files (see $TYPO3_CONF_VARS[BE][versionNumberInFilename])
-               RewriteCond %{REQUEST_FILENAME} !-f
-               RewriteCond %{REQUEST_FILENAME} !-d
-               RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
-         IMPORTANT: this rule has to be the very first rule to work properly, at least it has to be placed before the (^typo3...) rewrite rule
-         Developers can use this API for versioning of files in their own backend mods, by calling t3lib_div::createVersionNumberedFilename or using the core API for including files in the page renderer class.
+The release team was in contact with the author of major mail sending
+extensions (Direct Mail, Powermail, Mailhandler) and all will release newer
+versions soon after 4.5 is out. Since not all extensions will start using this
+new API from start, a compatibility layer is provided. This layer might prove
+not to work correctly if the extension tried to provide MIME encoding on its
+own. So if you are unsure about it or if you get destroyed mails, consider
+setting this compatibility layer off (with the drawback of not being able to
+configure the transport anymore for those pre-4.5 extensions):
 
-       * CSS and JS are compressed now. This means that they are concatenated to a single file. This will reduce the count of request drastically, which ends up in faster loading and better performance.
-         If compressionLevel is configured ($TYPO3_CONF_VARS[TYPO3_MODE]['compressionLevel'] = 1 [1-9 for compression level or TRUE for enable]) they will be served with gzip. Be sure to uncomment the needed configuration in your .htaccess, also found in misc/advanced.htaccess.
-         
+ $TYPO3_CONF_VARS['MAIL']['substituteOldMailAPI'] = 0
+
+===============================================================================
+Changes and improvements
+===============================================================================
+
+This will list all changes and improvements between TYPO3 4.4 and 4.5. For
+technical details see ChangeLog included in the typo3_src package.
+
+-------------------------------------------------------------------------------
+General
+-------------------------------------------------------------------------------
+
+HTML5 new TYPO3 Backend doctype: This allows the Core and also Extensions to
+make use of newer browser features. Of course we will still maintain
+compatibility with IE6, having some graceful fallback where necessary (by
+using Modernizr to detect CSS3 capabilities).
+
+UTF8 by default: New installations will use UTF8 automatically. Keep in mind
+that we will be deprecating all other charsets in the release of 4.5, but
+still support those charsets. 4.7 or maybe even 4.6 will be the first "UTF-8
+only" release. When upgrading from older releases to 4.5, you will have to
+specifically set $TYPO3_CONF_VARS['BE']['forceCharset'] and
+$TYPO3_CONF_VARS['BE']['setDBinit'] in your localconf.php. An Upgrade Wizard
+will help you with that.
+
+Usage of ImageMagick 4 and 5 is deprecated: With 4.5 (and in the long term
+support) we will still support that ancient versions, but will drop support
+for it starting in 4.6 already. This will enable us to fix bugs in the
+graphical engine faster and to add new features to it more efficiently.
+
+Workspaces
+-------------------------------------------------------------------------------
+
+We proudly present the new Workspace Module, completely based on ExtJS and
+powered by Extbase / Fluid (the first core backend module to use this
+framework). All Workspace improvements were made by a dedicated Workspaces
+team.
+
+* A Workspace can now implement custom stages to allow more flexible reviewing
+  setups.
+* The default "draft workspace" is now obsolete and will be migrated to a real
+  workspace by an Upgrade Wizard.
+* Inline Relational Record Editing (IRRE) finally works in Workspaces. 
+* There is a new Scheduler task for the automatic publication of workspaces.
+  This replaces the non-working CLI script "typo3/mod/user/ws/cli/ws_cli.phpsh"
+  (which was removed).
+
+Mail API
+-------------------------------------------------------------------------------
+
+A whole new mail API based on SwiftMailer was added to replace t3lib_htmlmail.
+t3lib_htmlmail won't be removed; it is just marked as "deprecated".
+
+With this new Mail API some configuration options were introduced, which allow
+the administrator to configure how mails should be send (setting
+$TYPO3_CONF_VARS['MAIL']['transport']):
+
+* mail: default and backwards compatible setting. This is the most unreliable
+  option. If you are serious about sending mails, consider using "smtp" or
+  "sendmail".
+* smtp: Sends messages over SMTP. It can deal with encryption and
+  authentication. Requires a mail server. Works exactly the same on Windows,
+  Unix and MacOS.
+* sendmail: Sends messages by communicating with a locally installed MTA -
+  such as sendmail.
+* mbox: This doesn't send any mail out, but instead will write every outgoing
+  mail to a file.
+
+The new mail API can be configured to hook itself directly into
+t3lib_utility_mail::mail(), which means that all mail sending that uses that
+API (especially extensions) will use the new settings.
+
+Linkvalidator
+-------------------------------------------------------------------------------
+
+A new Linkvalidator module was added as a new system extension. It is able to
+check all kinds of links: internal, external and file links. It looks inside
+headers, bodytext and other configured fields. It comes with a just-in-time
+checker and is also able to do the checks via a scheduler task. Development of
+this module is done through the Linkvalidator team.
+
+New Extension Manager (EM)
+-------------------------------------------------------------------------------
+
+This module is a brand new all-in-one Extension Manger based on an ExtJS UI.
+
+The whole EM extension was completely refactored while keeping all the
+functionality of the existing EM. A new optional UI based on ExtJS and
+ExtDirect was added (Function Menu "Extension Manager" in the EM), which
+provides a smooth way for new users to manage the extensions.
+
+Amongst the known features it comes with a couple of new possibilities:
+
+* Manage your extensions from TER through the Extension Managers UI (create /
+  delete / transfer extensions keys). Needs to be enabled in the "em"
+  extension configuration.
+* Support for multiple TER repositories: Create your own repository and be
+  able to maintain your private extensions through the new EM. This is a nice
+  feature also for agencies which maintain lots of custom extensions.
+
+A new task was added (scheduler) to update the list of available extensions
+from TER regularly.
+
+Other general improvements
+-------------------------------------------------------------------------------
+
+Added Khmer language (Cambodian).
+
+An improved version of "_.htaccess" (former misc/advanced.htaccess) provides
+more accurate and up-to-date information and is a real working sample on how
+to setup your Apache to serve TYPO3 pages. This setup is now also used in the
+introduction and dummy packages.
+
+Added an easy way to create news that are displayed below the login form in
+the /typo3 login screen. Just create records of type "System News" in your
+root folder.
+
+When TYPO3 runs with two different domain names for the FE and the BE, it is
+now possible to set accordingly different cookie domains using
+$TYPO3_CONF_VARS['FE']['cookieDomain'] and
+$TYPO3_CONF_VARS['BE']['cookieDomain'].
+
+The media element now has a core wizard for rewriting URLs. This allows the
+user to copy the URL from browser (e.g. a youtube URL like
+http://www.youtube.com/watch?v=pkA9qw80xO0) and use it as URL in the media
+element. Currently supported platforms: youtube, dailymotion, sevenload,
+vimeo, clipfish, google, metacafe, myvideo, liveleak and veoh. This is the
+result of a Google Summer of Code student's work.
+
+-------------------------------------------------------------------------------
 Backend
-=======
+-------------------------------------------------------------------------------
 
-       * Skins now have to register themselves by adding an entry $TBE_STYLES['skins'][$_EXTKEY]. By default, all CSS files from subdirectories stylesheets/structure/ and stylesheets/visual/ are included, additional directories can be added by setting $TBE_STYLES['skins'][$_EXTKEY]['stylesheetDirectories'].
+Frameset is gone / New Pagetree
+-------------------------------------------------------------------------------
 
-       * The TYPO3 Backend was moved into an ExtJS Viewport. This is one of the first steps in a sequence to ExtJSify the complete backend. Currently this gives you the possibility to create your own left sidebar (like the pagetree) in your backend modules. Also you can extend the viewport easily with own code to create e.g. a collapsable module menu. More Informations can be found in the TYPO3 Wiki and the official ExtJS viewport documentation. See these links: http://wiki.typo3.org/index.php/TYPO3Viewport and http://www.extjs.com/deploy/dev/docs/
-       
-       * Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.  
+The frameset which used to lay out the backend was removed. The new backend
+works using the ExtJS viewport, providing an easy, fast and unified interface
+to manipulate the content of the different panels. As a side effect, the
+navigation tree can be resized at will.
 
-       * The t3editor code completion DB was updated to reflect the latest additions. Also the syntax highlighting engine was now extracted from the system extension so it can be used in other places of the TYPO3 Core as well.
+Adding to that we have a brand New Pagetree based on ExtJS / ExtDirect and a
+new powerful API for "trees" and "context menus".
 
+Grid view / Backend layout
+-------------------------------------------------------------------------------
 
-Frontend
-========
+The Backend Layout Wizard enables the layout of the well known "Columns" View
+(Web>Page) to be adapted to the frontend look and feel. This feature was a
+development from the T3UXW09 and was finished for 4.5. To use this feature,
+create records of type "Backend layout" in a Folder, using the available
+Wizard to create the grid you want. Then go to the Web>Page module as usual
+and select the Grid for your page.
 
-       * Indexed search no longer puts a double wrap around search rules in the advanced search form. This may require style changes if a default indexed search is used.
+Live search
+-------------------------------------------------------------------------------
 
-       * The system extensions "CSS Styled Content" (css_styled_content) and "Frontend User Login" (felogin) now have new manuals that reflect the current state of the extension.
+Added a Live search with auto-complete / suggest to replace the old "search
+box". This is also a result from the T3UXW09 which was finished during the 4.5
+development phase.
 
+RTEhtmlarea
+-------------------------------------------------------------------------------
 
-Compatibility
-=============
+Development of RTEhtmlarea didn't stop and there are tons of nice new features
+and fixes in this new release. Amongst them:
 
-       * Extbase: has been updated to support "Single Table Inheritance" which is a breaking change.  In TYPO3 4.3, Extbase made a "best guess" for the table name if it was not the lowercased class name (simply by crawling the class hierarchy upwards trying to find a mapping rule or table). This "magic" was removed because It was very hard to understand what was happening; especially if there was an error. This behaviour is now changed and you define the recordType and the tableName through TypoScript now. See the typo3.projecty.typo3v4mvc mailing list for more details on this topic.
+* New option "paste as plaintext". When the toggle is ON, any paste action is
+  intercepted and clipboard content is pasted as plain text. A "Clean paste"
+  feature allows the user to paste content "unformatted", "structure only" or
+  "fully blown".
 
+* Added option in the RemoveFormat plugin to remove typographical punctuation,
+  which might come from Copy&Paste from MS-Word.
 
-Development
-===========
+* Added a general element properties editing dialogue, where you can add "id",
+  "name", "lang" and other universal attributes to any tag in your content.
 
-       * In t3lib_extMgm there is now a way to retrieve the version of an extension through the method getExtensionVersion($extensionKey).
+Other improvements to the Backend
+-------------------------------------------------------------------------------
 
-       * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be used to improve code readability.
+"Create multiple pages" Wizard improved: The user can decide the type of each
+page created, and it allows to create more than 9 pages at once.
 
-       * The ExtDirect Specification was implemented in the Backend of TYPO3. You can use it in your own backend modules. Details about the specification can be  found in the TYPO3 Wiki and on the ExtJS site. See the links: http://wiki.typo3.org/index.php/ExtDirect and http://www.extjs.com/products/js/direct.php
+t3editor now also enables syntax highlighting when editing files in fileadmin,
+for example when editing HTML, PHP, SQL, XML files. We also updated the
+underlying codemirror to the latest version (0.9) which is also used in the
+new extension manager (local extension, Tab "Files").
 
-       * There are new hooks available for you to use: t3lib_page::getRecordOverlay, t3lib_page::getPageOverlay, several new hooks in the impexp extension, alt_doc::makeEditForm() to enable further access-restrictions, in tslib_fe::settingLanguage(), in tslib_menu for further filtering of menu items
-       
-       * The newly introduced Flash messages in TYPO3 4.3 are now also available as JavaScript messages done by ExtJS and available in the global TYPO3 backend JS space.
-       
-       * There is now a new API for sending emails t3lib_utility_Mail::mail() that serves as a proxy for the PHP mail() function, and is now the recommended way for sending emails, in order to have a central place to use a different mailing engine.
+Pages of type "Shortcut" can now also link to the parent page, not only to the
+first or a random subpage.
 
-       * The debug in BE was enhanced. There is a new debug console, which will show each debug in a single tab. The console will pop up as soon a debug statement is present.
-       
-       * There is a new API in place to generate HTML <span> tags with corresponding CSS classes in order to display previously created sprite images in the right background position. Make sure to have a look at "t3lib_iconWorks::getSpriteIconForRecord($table, $row)", "t3lib_iconWorks::getSpriteIconForFile('myimage.png')", and "t3lib_iconWorks::getSpriteIcon('actions-document-open')".
+SysFolder was renamed to just "Folder": We don't have any other "Folder type",
+so this change was done to improve usability for first time users. A Folder
+can contain any type of record.
 
+Page module will provide a direct link to the list module when accessing
+Folders.
+
+Allow adding query parameters (&...) to internal links (e.g. in fields with
+browse_links and images). This used to be a feature of RTEhtmlarea links only
+and is now available on every link wizard.
 
-TypoScript changes
-==================
+The former "Shortcuts" feature (in the toolbar, where one could make shortcuts
+to different backend modules and pages) was renamed to "Bookmarks" to avoid
+the confusion with the "Page Shortcuts". This change was also reflected in
+UserTS options.
 
-       * It is now possible to configure an alternative "parameter" for filelinks when using jumpURLs
+Old modules from typo3/mod were moved to real system extensions. These modules
+are:
 
+* Extension Manager (required)
+* List module (required)
+* Filelist module
+* Info module
+* Access module
+* Workspace module
 
-Database changes
-================
+Make sure you visit the Update Wizard to enable those extensions after
+upgrading to 4.5.
 
-       * ...
+DB check -> page tree submodule was removed (module lowlevel) because of its
+uselessness.
 
+"Clearing cache" now is logged to the Admin Tools > Log.
 
-DBAL
-====
+A hook now allows postprocessing of filelist and TCEforms files operations.
+Typical use-cases:
 
-       * It is now possible to use the 1-2-3 installer process to configure a website running MSSQL, Oracle or PostgreSQL as TYPO3 database. TYPO3 automatically detects available database drivers and presents them in a convenient driver dropdown list.
+* Allow editors to upload any picture (e.g., 10 Mpixels) as they don't know
+  how to resize the pictures or do not have the software
+* Prevent fileadmin to be overflooded with huge pictures which will never be
+  used in their original size
+* Automatically resize "huge" pictures after the upload.
 
+New TS config option to disable the "Show secondary options" checkbox. In
+User-TS, you can set: options.enableShowPalettes=0 to see this feature in
+action. Default is still "1" like it used to be.
 
-Backend skin
-============
+When copying or translating content elements, the copy / translation will now
+default to be "hidden". This eases work of translators, in that the
+"[Translate to language]" elements do not appear in the frontend right away.
+In order for editors not to loose track of copied elements the default for the
+checkbox "show hidden elements" is now on. This behaviour can be modified by
+adding this to typo3conf/extTables.php:
 
-       * ...
+ $TCA['tt_content']['ctrl']['hideAtCopy'] = FALSE;
+
+A new condition is available for the current page record in PageTS. This
+allows settings for example like this:
 
+ mod.SHARED.colPos_list = 0
+ [page|layout = 1]
+ mod.SHARED.colPos_list = 1,0
+ [global] 
 
-Speed improvements
-==================
+-------------------------------------------------------------------------------
+Skin / Backend UI
+-------------------------------------------------------------------------------
 
-       * When editing records in the TYPO3 Backend, Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.
+ExtJS and our Skin
+-------------------------------------------------------------------------------
 
+We updated ExtJS used by the backend to version 3.3.1. Our skin was improved
+to provide more support for common ExtJS components and the look and feel of
+them was greatly adapted by our Design & Usability Team.
 
-Important bugfixes
-==================
+* ExtJS Grids, Tabs and Buttons are now styled the "TYPO3-way".
+* The recycler was refactored and has uses the same skin as the rest of the BE.
+* The new Workspaces module includes other components which now have a common
+  styling.
+* The whole core now uses a new style of windows and dialogs (with lightbox
+  effect) in the backend (TYPO3.Window and TYPO3.Dialog).
 
-       * ...
+Usability of Editing Forms
+-------------------------------------------------------------------------------
+
+The "Pages" and "Content Element" forms were completely rearranged and got new
+and more useable labels. This is also a result from the T3UXW09. During this
+project we also improved the usability of the "clear field" checkbox (now
+inside the input area on mouse-over). The same checkbox used to select the
+default date on a date field, this can now be done in the popup calendar
+(ExtJS based, which now also correctly supports TCA date ranges).
+
+A new CSH API was introduced and is being used throughout the core. There are
+no longer CSH icons in the forms. Instead the CSH opens as (ExtJS based)
+tooltips when hovering over the labels.
+
+Sprites
+-------------------------------------------------------------------------------
+
+A sprite generator was added. This allows you to create your own sprite files,
+also core can generate the files if some new icons were added. The core is now
+able to auto-generate sprites from icons if configured to do so. Default setup
+is to use the available sprites that ship with TYPO3. Using this handler you
+can advise the SpriteManager to create a sprite out of all custom icons
+(shipped via extensions), and use this one for displaying custom icons
+(speeding up the backend). This works transparently: extension developers can
+continue using "single" icons. Set:
+
+ $TYPO3_CONF_VARS['BE']['spriteIconGenerator_handler'] = 't3lib_spritemanager_SpriteBuildingHandler'
+
+TCEforms now also uses the sprites in a lot more places, providing more
+consistent icons matching our skin.
+
+Other Improvements in the Skin / Backend UI
+-------------------------------------------------------------------------------
+
+Lots of improvements in the Skin were made possible by the Skin team, formed
+during the 4.5 development phase. Styling of the new workspace module, ExtJS
+components, new backend structure with added contrast (and drop shadows)
+between the areas styled page. Plenty of optimizations to backend skin to have
+a more consistent look and feel and converge more towards the Phoenix
+(TYPO3v5) development.
+
+The frontend Admin Panel was styled and has a nice look and feel now (and more
+fitting to the new backend skin).
 
-Currently unsupported
-=====================
+Added current flags from famfam in t3skin in a nice sprite. This means you can
+now choose between much more flags for your sys_languages. Be sure to visit
+the "Upgrade Wizard" to make the necessary DB changes in your existing
+sys_language (strips the .gif from flag names).
+
+Access Lists settings in be_groups configuration are now rendered as
+checkboxes providing a more useable way of manipulating this huge list of
+options.
+
+-------------------------------------------------------------------------------
+Administration / Customization
+-------------------------------------------------------------------------------
+
+TypoScript included from files (via <INCLUDE_TYPOSCRIPT ...>) can now be
+edited directly through the backend in the t3editor.
+
+Scheduler: The cron syntax interpreter of the Scheduler was entirely
+refactored. It now supports the full range of cron syntax features as can be
+found in Unix manual pages.
+
+Individual FlexForms fields can now be enabled / disabled via TSConfig and
+group access lists.
+
+* In the configuration module the array keys are now sorted alphabetically.
+* Checkbox at the bottom of the modules are now hideable to provide a cleaner
+  interface:
+
+ * New User TSconfig options: options.file_list.enableDisplayBigControlPanel,
+   options.file_list.enableDisplayThumbnails,
+   options.file_list.enableClipBoard
+ * New Page TSconfig options: mod.web_list.enableDisplayBigControlPanel,
+   mod.web_list.enableClipBoard, mod.web_list.enableLocalizationView
+
+Install tool
+-------------------------------------------------------------------------------
+
+We now have a better API for Update Wizards in the Install Tool. This also
+makes the Wizards accessible one after the other (with "Next" buttons). To
+avoid installing TYPO3 on a system that doesn't match the requirements, a
+pre-check for required php-extensions was added to the 1-2-3 installer.
+
+The Install Tool used to silently fail when there was an error in some
+statement of the DB "COMPARE". Now these errors are reported in the returned
+form.
+
+-------------------------------------------------------------------------------
+Development
+-------------------------------------------------------------------------------
+
+Extbase / Fluid
+-------------------------------------------------------------------------------
+
+Extbase, the MVC bridge between TYPO3 Phoenix' framework FLOW3 and TYPO3 v4 as
+well as the new templating engine Fluid are steadily improved with every new
+version of TYPO3 4.x.
+
+Extbase now supports Dependency Injection, which is one of the building blocks
+of FLOW3. It helps you to build loosely-coupled systems more easily and allows
+you to gain experience with another FLOW3 concept in your daily life.
+
+In TYPO3 4.5 LTS, Fluid can be used from TypoScript using the new
+FLUIDTEMPLATE content object. This means you can now use Fluid Templates not
+only for Extensions, but also for the website itself. Furthermore, support for
+Widgets has been added, meaning you can add page browsing or Ajax
+autocompletion with a single line in your Fluid template.
+
+There are many more smaller features, and many issues have been tackled,
+making this the most stable Extbase release ever.
+
+Although we do our best to make adjustments in a backwards-compatible manner,
+we needed to break backwards compatibility at a few places. In order to see if
+you are affected and how the issues can be solved, please read our notes on
+breaking changes:
+
+http://forge.typo3.org/projects/typo3v4-mvc/wiki/Breaking_Changes
+
+Backend Development
+-------------------------------------------------------------------------------
+
+Generic notification methods to show windows and dialogs in the backend based
+on ExtJS. Just access them via JS via TYPO3.Window and TYPO3.Dialog.
+
+A new view panel (debug console) appears the lower side of the backend in
+development mode. It displays any call to debug() by BE modules, any thrown
+ExtDirect Exceptions, and even debug() calls inside ExtDirect calls. It also
+catches and displays any console-calls from Javascript.
+
+ExtDirect is available in the frontend now.
+
+A new mode was added to debug the backend with $TYPO3_CONF_VARS['BE']['debug']
+= '1'; it disables the login refresh ajax call and instructs the page renderer
+not to merge the loaded javascript and CSS files, easing debugging with tools
+like Firebug.
+
+Extension Development
+-------------------------------------------------------------------------------
+
+Rendering of backend modules got easier, using the PageRenderer's new facility
+method "render()".
+
+There is a new setting that shows all SQL queries in debug mode:
+$TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2;.
+
+Based on the new tree API we have a new feature called "TCA trees". For
+example add this to your typo3conf/extTables.php and see it in action in the
+"Pages" settings (check the fields Access Usergroups and "General record
+storage"):
+
+ $GLOBALS['TCA']['pages']['columns']['fe_group']['config']['renderMode'] = 'tree';
+ $GLOBALS['TCA']['pages']['columns']['fe_group']['config']['treeConfig'] = array(
+     'expandAll' => true,
+     'parentField' => 'subgroup'
+ );
+
+ $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['type'] = 'select';
+ $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['renderMode'] = 'tree';
+ $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['treeConfig'] = array(
+     'parentField' => 'pid'
+ );
+ $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['foreign_table'] = 'pages';
+ $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['foreign_table_where'] = ' ORDER BY pages.sorting ASC';
+ $GLOBALS['TCA']['pages']['columns']['storage_pid']['config']['size'] = 10;
+
+CSH for FlexForms is handled more cleanly but requires adjustments. This has
+an impact in particular for FE plugins. To continue displaying the CSH for
+their FlexForm, the CSH file must be declared as for other elements, i.e.
+
+ t3lib_extMgm::addLLrefForTCAdescr('somekey', 'EXT:myext/locallang_csh.xml');
+
+TypoScript / Frontend
+-------------------------------------------------------------------------------
+
+* Added easy interface to integrate lightbox style image enlargement in the
+frontend. Just set the constants in the "CONTENT" part of css_styled_content
+and your images will get attributes added that are needed for lightbox JS
+frameworks to work out of the box.
+
+* New TypoScript features:
+ * Implemented stdWrap in all properties of all cObjects to enhance flexibility
+ * stdWrap now has property .numberFormat
+ * GIFBUILDER has a new object type ELLIPSE
+ * New content object "FLUIDTEMPLATE" allowing to use the coolness of fluid
+   templates to build TYPO3 websites (instead of using markers / subparts)
+ * New content object "SVG" which works on all browsers. It uses svgweb
+   library to provide cross-browser support
+ * New property .noRescale for IMG_RESOURCE, allowing to provide unscaled high
+   resolution images, useful for example when transforming the rendered HTML into
+   a PDF
+ * matchCondition now also recognizes iOS and Android.
+
+* A new option to force SSL on a page base was added, a functionality which
+  was previously only available through extensions.
+
+* Added support for RDFa doctype headers (semantic web)
+
+Database API / DBAL
+-------------------------------------------------------------------------------
+
+Prepared queries are now part of the TYPO3 database API. The API is mostly
+based on PDO's method naming and currently supports SELECT queries. TYPO3 will
+progressively use this new database API which is cleaner and quicker when
+using DBAL. Extension authors are encouraged to use it in their own
+extensions.
+
+To speed up operation when DBAL is activated, output of SQL parser when
+dealing with prepared queries is cached. To activate this caching if you don't
+have a memcached server:
+ $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
+
+In order to have a much higher cache hit ratio, you should use one or more
+memcached servers. To activate this enhanced caching, use:
+ $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
+ $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['dbal'] = array(
+     'backend' => 't3lib_cache_backend_MemcachedBackend',
+     'options' => array(
+         'servers' => array('localhost:11211', 'otherhost:11211'),
+     )
+ );
+
+-------------------------------------------------------------------------------
+Security
+-------------------------------------------------------------------------------
+
+Introduced a form protection API to avoid "Cross Site Request Forgery"
+attacks.
+
+After introducing a protection, all extensions that provide backend modules
+using alt_doc.php, tce_db.php or tce_file.php need to provide a token in the
+URL or the form. This can be done by using the following code:
+
+*alt_doc.php*
+ t3lib_TCEforms::getHiddenTokenField('editRecord'); 
+ // or 
+ t3lib_BEfunc::getUrlToken('editRecord');
+
+*tce_db.php*
+ t3lib_TCEforms::getHiddenTokenField('tceAction'); 
+ // or 
+ t3lib_BEfunc::getUrlToken('tceAction');
+
+*tce_file.php*
+ t3lib_TCEforms::getHiddenTokenField('tceFileAction'); 
+ // or 
+ t3lib_BEfunc::getUrlToken('tceFileAction');
+
+A new task (scheduler) for bulk update of passwords for use with
+saltedpasswords.
+
+-------------------------------------------------------------------------------
+Performance
+-------------------------------------------------------------------------------
+
+Caching Framework
+-------------------------------------------------------------------------------
+
+Added option to compress data in DbBackend of the Caching framework. This will
+speed up your caching especially if the database server is accessed through a
+network. Enable it like this:
+
+ $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages'] = array(
+               'frontend' => 't3lib_cache_frontend_VariableFrontend',
+               'backend' => 't3lib_cache_backend_DbBackend',
+               'options' => array(
+                       'cacheTable' => 'cachingframework_cache_pages',
+                       'tagsTable' => 'cachingframework_cache_pages_tags',
+                       'compression' => TRUE,
+               ),
+       );
+
+A new scheduler task was added to execute garbage collection in the caches.
+
+A new redis cache backend was integrated.
+
+The Variable frontend now supports the [http://opensource.dynamoid.com/
+igbinary serializer] which speeds up serialization und unserialization of
+arrays and objects and leads to smaller cache data. The module will be used
+transparently, if it is available on the system.
+
+TypoScript
+-------------------------------------------------------------------------------
+
+Lots of stdWrap optimizations in all cObjects improve the performance of
+content rendering: The stdWrap method now processes only existing properties
+in a very small loop and returns fast if there is nothing to do. New additions
+of stdWrap also take care not to call the stdWrap function in vain (if no
+stdWrap property is set for example). Frontend rendering should be faster with
+improved flexibility!
+
+Database Access
+-------------------------------------------------------------------------------
+
+Some improvements were made on queries that expect just a single result row.
+This was acchieved by replacing calls to exec_SELECTgetRows by the newly
+introduced exec_SELECTgetSingleRow.
+
+SQL's "FIND_IN_SET()" (support in DBAL added in this release) is now being
+used throughout the core, speeding up many queries, e.g. listQuery(), for
+example for checking the group list permissions.
 
-       * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
-               -> Workspaces and Versioning are currently not supported
-               -> FlexForms using the TCA type 'inline' are currently not supported/tested
-               -> Import/Export (sysext tx_impexp) might not work correctly in special cases