[BUGFIX] Content elements in wrong column in page module
[Packages/TYPO3.CMS.git] / NEWS.txt
index 1e0a5da..e6bbfe1 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
-************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5
-(for technical details see ChangeLog)
-************************************************************************
-
-Changes in 4.5 pre-releases
-===========================
-
-       * All additions to alpha3 until rc2 have been documented here:
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450alpha3
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta1
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta2
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta3
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta4
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450rc1
-         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450rc2
-       
-
-       This information will be merged in this NEWS.txt below before the
-       final release.
+*******************************************************************************
+$Id$
+*******************************************************************************
 
-General
-=======
-
-       * 4.5 will be the first official TYPO3 release with LTS (long term support)
-       * 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 (#15079).
-       * 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'].
-       * Pages of type "Shortcut" can now also link to the parent page, not
-         only to the first or a random subpage.
-       * The media element now has a core wizard for rewriting URLs. This
-         allows the user to copy the URL from browser (eg a youtube URL like
-         http://www.youtube.com/watch?v=pkA9qw80xO0) and use
-         it in the media element as URL. Currently supported platforms:
-         youtube, dailymotion, sevenload, vimeo, clipfish, google,
-         metacafe, myvideo, liveleak and veoh.
-       * A improved version of misc/advanced.htaccess provides more accurate
-         and up-to-date information and is a real working sample on how to setup
-         your Apache to server TYPO3 pages. This setup is now also used in the
-         introduction package as-is.
+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.
+
+* Apache
+
+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:
+
+ $TYPO3_CONF_VARS['SYS']['generateApacheHtaccess'] = 0
+
+* Mail Sending
+
+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.
+
+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):
+
+ $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
-=======
-
-       * The frameset was removed. This makes the Backend a lot faster.
-          Now the navigation tree also can be resized. The new backend works
-          using the ExtJS viewport, providing an easy and unified interface
-          to manipulate the content of the different panels.
-       * The user can decide the type of each page created in the
-         "Create multiple pages" Wizard. And the wizard can create more
-         than 9 pages at once.
-       * When copying or translating content elements, the copy /
-         translation will now default to be "hidden". 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;
-       * All system extensions from typo3/mod were moved to real system
-         extensions. These modules are:
-               - Extension Manager
-               - List module
-               - Filelist module
-               - Info module
-               - Access module
-               - Workspace module
-         List module and Extension Manager are set to required extensions,
-         but it is possible to overwrite this setting in localconf.php eg
-         if you want to deinstall the Extension Manger. Make sure you visit
-         the Update Wizard!!!
-       * The recycler was refactored and has now the same skin as the rest
-         of the BE.
-       * DB check -> page tree submodule was removed (module lowlevel).
-       * RSA Auth now works also with special chars.
-       * Clearing cache now is logged (#15305).
-       * A hook now allows postprocessing of filelist and TCEforms files
-         operations (#15192 and #15221). Typical use-case:
-         - 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
-         Extension using it already:
-         http://forge.typo3.org/projects/show/extension-image_autoresize
-       * New TS config option to disable the "Show secondary options"
-         checkbox (#13797). In User-TS, you can set:
-         options.enableShowPalettes=0 to see this feature in action.
-         Default is still "1" like it used to be.
-       * 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.
-
-
-Frontend
-========
-
-       * FE login now allows to show the logout form direct after login.
+-------------------------------------------------------------------------------
 
+Frameset is gone / New Pagetree
+-------------------------------------------------------------------------------
 
-Extbase / Fluid
-===============
-
-       * Fixed Extbase Caching Bug.
-       * All methods trying to find an object by uid now ignore the
-         storagePid. This changes the behavior of argument mapping and the
-         way extbase fetches 1:1 relations. Resolves #5631. You should not
-         experience any negative side-effects of this change, i.e. if your
-         extension worked before, it will definitely after this change.
-         However, it makes the record handling more robust.
-       * Performance improvements in
-         TypoScript::convertTypoScriptArrayToPlainArray.
-       * Fluid contains many new features you might want to start using.
-         There are some changes that require special attention in case you
-         created custom condition ViewHelpers or if you call renderSection()
-         and renderWithLayout() from Tx_Fluid_View_TemplateView.
-       * Check out these ChangeLogs for more details:
-         - typo3/sysext/extbase/ChangeLog.txt
-         - typo3/sysext/fluid/ChangeLog.txt
+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.
 
+Adding to that we have a brand New Pagetree based on ExtJS / ExtDirect and a
+new powerful API for "trees" and "context menus".
 
-Compatibility
-=============
-
-       * See typo3/sysext/fluid/ChangeLog.txt for some breaking changes in
-         Fluid.
-       * See typo3/sysext/extbase/ChangeLog.txt for a fix that might break
-         certain setups (caching bug fixed, might break extbase extensions
-         that setup their own TS configuration manually)
-       * The API for registering additional cache frontends or backends has changed.
-         As of TYPO3 4.5 only the classname needs to be specified in favor of both
-         path to the php file and the classname. Instead the class needs to be
-         registered for autoloading. See #15586 for details.
-         Example:
-         New:
-         $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='tx_myext_cache';
-         Old:
-         $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='/path/tx_myext_cache.php:tx_myext_cache';
+Grid view / Backend layout
+-------------------------------------------------------------------------------
+
+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.
+
+Live search
+-------------------------------------------------------------------------------
+
+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
+-------------------------------------------------------------------------------
+
+Development of RTEhtmlarea didn't stop and there are tons of nice new features
+and fixes in this new release. Amongst them:
+
+* 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.
+
+* Added a general element properties editing dialogue, where you can add "id",
+  "name", "lang" and other universal attributes to any tag in your content.
 
+Other improvements to the Backend
+-------------------------------------------------------------------------------
 
+"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.
+
+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").
+
+Pages of type "Shortcut" can now also link to the parent page, not only to the
+first or a random subpage.
+
+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.
+
+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.
+
+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
+
+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.
+
+A hook now allows postprocessing of filelist and TCEforms files operations.
+Typical use-cases:
+
+* 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.
+
+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] 
+
+-------------------------------------------------------------------------------
+Skin / Backend UI
+-------------------------------------------------------------------------------
+
+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.
+
+* 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).
+
+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
-===========
-
-       * There is a new setting that shows all SQL queries in debug
-         (#15425): $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2;
-       * Contrib libraries can be replaced now via hook (#15218). This
-         allows to test with updates of these libraries. Demo extensions
-         can be found here:
-               http://forge.typo3.org/projects/typo3v45-projects/files
-       * Catch all ExtDirect Exceptions and show them in the DebugConsole.
-         It now also allows you to call debug() (#15513).
-       * DebugConsole now also catch console-calls from Javascript if no
-         console is available. This allows eg debug prints in browsers
-         having no console like the IE
-       * ExtDirect is available in the frontend now (#15754):
-         http://wiki.typo3.org/ExtDirect
-       * t3lib_div now provides two functions setSingletonInstance and addInstance
-         that will set the objects to be returned by makeInstance. (#16267)
-         This will allow unit tests to inject mocks into makeInstance.
-         In addition, there now is a function purgeInstances that makes
-         makeInstance return fresh instances (singleton as well as non-singleton).
-       * 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');
-
-         For more details, in particular how the key is defined, see:
-         http://buzz.typo3.org/teams/core/article/getting-ready-for-45-changes-in-csh-for-flexforms/
+-------------------------------------------------------------------------------
+
+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
-==========
-
-       * stdWrap now has a new feature: .numberFormat (#13815)
-       lib.myPrice = TEXT
-       lib.myPrice {
-               value = 0.8
-               numberFormat {
-                       decimals = 2
-                       dec_point = ,
-               }
-               noTrimWrap = || $|
-       }
-       # Will result in "0,80 $"
-
-       * GIFBUILDER has a new feature: ELLIPSE (#2049). Example:
-       file  =  GIFBUILDER
-       file  {
-               XY  =  200,200
-               format  =  jpg
-               quality  =  100
-               10  =  ELLIPSE
-               10.dimensions  =  100,100,50,50
-               10.color  =  red
-       }
-       * Added easy interface to integrate lightbox style image enlargement
-         in the frontend. Just set some 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.
+-------------------------------------------------------------------------------
 
+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 API / DBAL
-===================
-
-       * Prepared queries are now part of the TYPO3 database API (#15457).
-         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.
-       * Output of SQL parser when dealing with prepared queries is cached
-         for enhanced performances. 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'),
-               )
-         );
-       * DBAL now supports "FIND_IN_SET()" (#14818) function and maps it
-         correct functions in case usage under AdoDB. Using FIND_IN_SET in
-         listQuery() will provide performance improvements in all areas, as
-         this is used in several places (backend and frontend, for example
-         for checking the group list permissions).
+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.
 
-Workspaces
-==========
-
-       * There is a new Scheduler task for the automatic publication of
-         workspaces (#14994).  If a publication date has been set for a
-         given workspace, it will be published the next time the Scheduler
-         task runs. Note that automatic "un-publication" still does not
-         work. Replaces non-working CLI script
-         "typo3/mod/user/ws/cli/ws_cli.phpsh".
-       * The workspaces module was completely rewritten and is now based on
-         ExtJS. The usability is enhanced by displaying the information in a
-         nice grid view. Besides that each workspace can now have a customized
-         set of stages which are child records of a workspace record.
-         Make sure to run the upgrade wizard which migrates the hardcoded draft
-         workspace to a real workspace and sets up the new stages.
-       * Inline Relational Record Editing (IRRE) can now also be used for 1:n
-         relations in workspaces.
-       * In order to support custom stages properly it's recommended to change
-          the type of all t3ver_stage fields from tinyint(4) to int(11).
-
-
-Backend skin
-============
-
-       * sprites.css now contains the autogenerated sprites.
-
-
-Speed improvements
-==================
-
-       * Added "compress data" options to DbBackend of the Caching
-         framework (#15141). 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,
-               ),
-       );
-       * Some often used functions of t3lib_div were speed improved.