[BUGFIX] Content elements in wrong column in page module
[Packages/TYPO3.CMS.git] / NEWS.txt
index 309d454..e6bbfe1 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
-************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.2 and 4.3
-(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.
+
+* Apache
 
-       * TYPO3 requires PHP 5.2 now
+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:
 
-       * Support for OpenID auhentication with a new system extension for both FE and BE.
-         Any user with a valid OpenID identifier may log in when the OpenID authentication
-         is successful.
+ $TYPO3_CONF_VARS['SYS']['generateApacheHtaccess'] = 0
 
-       * The JavaScript framework ExtJS was integrated as common widget library. This
-         collection offers developers an easy but powerful option to create nice looking
-         user interfaces by reusing predefined objects. For example, ExtJS supports grid
-         views, dialog windows and dynamic panels. It is currently used in the TYPO3 Core
-         for the dialog showing that a session in the backend has expired and for the
-         new recycler.
+* Mail Sending
 
-       * The JavaScript libraries are updated to prototype 1.6.0.3 and script.aculo.us 1.8.2.
+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.
 
-       * Integration of RSA Authentication Service: Using a the public-key cryptography allows
-         to transfer sensitive data over a secure channel, even if the website does not support
-         HTTPS. This feature allows to store password data as salted hash value.
+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):
 
-       * Integration of PHP Autoloader:  This feature allows to have only those files in memory
-         that are really required for an accordant application. The performace improves
-         dramatically. The PHP files are looked up using a registry file returns a simple array
-         mapping PHP class names to accordant file names:
-               + t3lib/core_autoload.php contains all classes in t3lib/tslib or the TYPO3 Core
-               + [extension_key]/ext_autoload.php contains all classes of that TYPO3 extension
+ $TYPO3_CONF_VARS['MAIL']['substituteOldMailAPI'] = 0
 
-       * Extbase and Fluid integration: Extbase and Fluid are backports from FLOW3 to bring MVC
-         and a very flexible templating engine to TYPO3 4.x. Extbase can be used in TYPO3 4.3 for
-         frontend extensions only. The techniques used by these two packages are the same as in
-         FLOW3/TYPO3 5.0 - thus, it's possible to develop future-proof extensions now and migrate
-         them easily when TYPO3 5.0 is released.
+===============================================================================
+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
-=======
-
-       * Extension Manager: You can now set a new option "excludeFromUpdates" in every
-         extensions' ext_emconf.php array. This way, it is a) not shown in the
-         list of extensions to update and b) is shown a exclamation mark in order to
-         prevent updates for this extension. This is very useful if you made local changes
-         to an extension and don't want any admin to overwrite them.
-
-       * The TypoScript editor "t3editor" was enhanced with code-completion. Now you get
-         context-sensitive suggestions about possible properties while entering TypoScript.
-
-       * The recycling of deleted records is improved since most elements were not removed
-         physically in TYPO3. The recycler offers the possibilities of cleaning up the garbage
-         collection and to restore data again. Based on an ExtJS interface it's possible to
-         get a quick overview of the accordant elements, filter the resultset and execute the
-         desired actions. This new feature is the modernized and core-specific version of the
-         kj_recycler extension, that has been available in the TER for years now.
-
-       * The permissions on file operations can now be set on a per-group basis. New back-end
-         users now don't have any file permissions by default, since this has moved to back-end
-         user groups and will apply automatically for each new group being created.
-         The default settings for new groups are the following:
-               + Move, delete, rename and create new directories
-               + Upload, copy, move, delete and rename files
-               + Unzip files
-
-       * The popup telling an user that his session has expired was replaced by a dialog window.
-
-       * The workspace selector has been turned to an item in the toolbar menu.
-
-       * The elements shown when creating new content elements (like "regular text element" etc.)
-         can be configured, modified and extended by Page TSconfig "mod.wizards.newContentElement".
-
-       * The tables shown when creating new records in the Web>List module are grouped by their scope
-         or extension now. The order can be modified by Page TSconfig "mod.wizards.newRecord.order".
-
-       * Elements on each table in the Web>List module can be collapsed or expanded now.
-         In the view showing a single table with many elements, a pagination helps to
-         get through them.
-
-       * Uploading files is now available with an optional Flash Uploader which shows a 
-         nice widget with information on the upload progress. It makes it possible to select
-         multiple files at once. Enable the Flash Uploader by checking the appropriate checkbox 
-         in the User Setup, reload the Backend and make sure that your browser has the 
-         latest version of Flash (Flash v9+) installed.
-
-       * It is possible now to temporarily lock down the backend for system maintenance. Editors
-         will see an overlay with an message notifying them that the backend is locked. When the
-         lock is removed, editors can continue without having to re-login.
-         The lock is enabled by placing this file:
-               typo3conf/LOCK_BACKEND
-
-       * The backend gateway for manipulating files (uploading, renaming, copying) TCEfile is now
-         separated from the file typo3/tce_file.php and put in a new file and class in
-         typo3/classes/class.typo3_tcefile.php. There is now also a new AJAXid (TYPO3_tcefile::process)
-         to use this functionality in AJAX-based environments as well.
-
-Frontend
-========
-
-       * The message log of the admin panel will report failures to set the locale
-
-       * Integrated functionality of extension jb_status_code into core:
-         It is now possible to specify a redirection code (301, 302, 303 or
-         307) together with a domain redirection in a sys_domain record.
-
-       * Added option named "additionalAbsRefPrefixDirectories" for Frontend in the Install tool.
-         This option is useful if the installation uses non-TYPO3 applications and links to
-         them from extensions. Earlier TYPO3 prepended only media/, typo3conf/ext/ and
-         fileadmin/ directories automatically with config.absRefPrefix. Using the new variable
-         administrators can tell TYPO3 to prepend also other directories inside the site root
-         with config.absRefPrefix.
-
-       * Added new Install tool option named "dbClientCompress". This option will
-         enable MySQL compression for network traffic. This is useful if
-         MySQl is not on the same host as the web server. Do not use this option if MySQL
-         is on the same host because it will only slow down the process. However if MySQL
-         is on another host, this option may improve performance significally.
-
-       * CSS styled content was split into separate files for each compatibility versions of TYPO3
-         (3.8, 3.9, 4.2 and current). When including the static template of css_styled_content,
-         a specific version must be chosen (also see Compatibility below).
+-------------------------------------------------------------------------------
 
-Compatibility
-=============
+Frameset is gone / New Pagetree
+-------------------------------------------------------------------------------
 
-       * A deprecation log has been introduced to track calls to deprecated/outdated methods
-         in the TYPO3 Core. Developers have to make sure to adjust their code to avoid using
-         this old functionality since deprecated methods will be removed in future TYPO3 releases!
-         The information can be found in /typo3conf/deprecation_[hash-value].log
+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 caching system has been revamped. It is not possible to query the cache tables directly.
-         Any compliant extension has to use the new caching framework.
+Adding to that we have a brand New Pagetree based on ExtJS / ExtDirect and a
+new powerful API for "trees" and "context menus".
 
-       * The simulateStaticDocument functionality (URLs like "MyPage.13.0.html" instead of "index.php?id=13")
-         was extracted and put to a separate system extension "simulatestatic".
+Grid view / Backend layout
+-------------------------------------------------------------------------------
 
-       * The frontend editing functionality was extracted into a separate system extension "fe_edit".
+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.
 
-       * The help modules "about" and "cshmanual" were extracted into separate system extensions with the same name.
+Live search
+-------------------------------------------------------------------------------
 
-       * As mentioned in "Frontend" CSS styled content has been split into several files.
-         The update wizard can switch the versions of the static includes by refering to
-         the TYPO3 compatibility version.
+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.
 
-Development
-===========
+RTEhtmlarea
+-------------------------------------------------------------------------------
+
+Development of RTEhtmlarea didn't stop and there are tons of nice new features
+and fixes in this new release. Amongst them:
 
-       * t3lib_div::makeInstance now supports singletons. To mark a class as a
-         singleton it must implement the t3lib_singleton interface.
+* 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".
 
-       * A new caching framework has been added. It allows extensions to store temporary data
-         transparently to different cache back ends (database, file system or memory).
+* Added option in the RemoveFormat plugin to remove typographical punctuation,
+  which might come from Copy&Paste from MS-Word.
 
-       * Frontend plugins now can convert themselves from USER to USER_INT on the fly. This
-         is useful for plugins who can disallow caching using a TSConfig option (for example,
-         tt_news). Earlier plugins had to use $GLOBALS['TSFE']->set_no_cache(), which caused
-         huge performance problems. Now plugin simply need to call
-         $this->cObj->convertToUserIntObject() and return immediately without generating any
-         content.
-         Objects can find their current execution mode by calling $this->cObj->getUserObjectType().
-         This function can return either tslib_cObj::OBJECTTYPE_USER (if object runs as USER)
-         or tslib_cObj::OBJECTTYPE_USER_INT (if object is running as USER_INT). Here the code
-         example:
-               function main() {
-                       ....
-                       if (!$this->conf['allowCaching'] && $this->cObj->getUserObjectType() == tslib_cObj::OBJECTTYPE_USER) {
-                               $this->cObj->convertToUserIntObject();
-                               return '';
-                       }
+* Added a general element properties editing dialogue, where you can add "id",
+  "name", "lang" and other universal attributes to any tag in your content.
 
-       * Class tslib_eidtools is enhanced with new methods for eID/AJAX applications:
-               static function initLanguage($language = 'default');
-                       Creates $GLOBALS['LANG'] for the given language
-               static function initTCA();
-                       Loads 'ctrl' sections for TCA tables from all installed extensions
-               static function initExtensionTCA($extensionKey);
-                       Similar to initTCA() but loads the table only for the given extension
+Other improvements to the Backend
+-------------------------------------------------------------------------------
 
-       * Class t3lib_extMgm has new methods to enhance palettes:
-               t3lib_extMgm::addFieldsToAllPalettesOfField($table, $field, $addFields, $insertionPosition = '');
-                       Adds new fields to all palettes of an existing field.
-               t3lib_extMgm::addFieldsToPalette($table, $palette, $addFields, $insertionPosition = '');
-                       Adds new fields to a palette.
+"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.
 
-       * A random byte generator has been added to t3lib_div::generateRandomBytes() which can
-         be used for cryptographic operations in the TYPO3 Core or in any other extension.
+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").
 
-TypoScript changes
-==================
+Pages of type "Shortcut" can now also link to the parent page, not only to the
+first or a random subpage.
 
-       * Custom sub categories can be used in TypoScript constants like the following:
-               #customsubcategory=limits=LLL:EXT:devlog/locallang.xml:limits
+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.
 
-Database changes
-================
+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 database tables cache_hash, cache_pagesections and cache_pages have been
-         changed due to a move to the new caching framework.
+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.
 
-       * Reference indexes storing table names have been extended from 40 to 255 chars
+Old modules from typo3/mod were moved to real system extensions. These modules
+are:
 
-       * The database table pages_language_overlay was extended by several fields to
-         support an alternative URL or a shortcut dependent on localization.
+* Extension Manager (required)
+* List module (required)
+* Filelist module
+* Info module
+* Access module
+* Workspace module
 
-DBAL
-====
+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.
 
-Backend skin
-============
+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.
 
-Speed improvements
-==================
+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:
 
-       * PHP classes for frontend plugins are now loaded only if they are used to render
-         content by enabling the "includeLibs" property also for USER objects in TypoScript.
-         In the past, all available class files for frontend plugins were loaded so this new
-         feature increases performance by reducing memory consumption.
+ $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:
 
-       * TYPO3 now enables client caching of JavaScript, CSS and image files by using .htaccess
-         files in various directories. This may cause problems if mod_expires is not enabled
-         in the Apache configuration. See the FAQ section in the INSTALL.txt about disabling
-         these files if necessary.
+ mod.SHARED.colPos_list = 0
+ [page|layout = 1]
+ mod.SHARED.colPos_list = 1,0
+ [global] 
 
-Important bugfixes
-==================
+-------------------------------------------------------------------------------
+Skin / Backend UI
+-------------------------------------------------------------------------------
 
-       * ...
+ExtJS and our Skin
+-------------------------------------------------------------------------------
 
-Currently unsupported
-=====================
+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
+-------------------------------------------------------------------------------
+
+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