[BUGFIX] Correct TCA inclusion for uploads rendering
[Packages/TYPO3.CMS.git] / NEWS.txt
index 429b677..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
-=======
-
-       * Versioning: "Page" and "Branch" versioning has been disabled for all
-         installations, because it is deprecated since TYPO3 4.2. If you still
-         use one of these versioning types, make sure to set
-         $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your
-         localconf.php. Please be aware that this option will vanish with
-         TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported
-         nor maintained any longer.
-
-       * Versioning: The dummy "draft workspace" has been disabled for all
-         installations. If you need it you can enable it again in the
-         extension configuration of the "version" extension.
-
-       * All CSS and JS files in the TYPO3 Backend are compressed now. This
-         means that they are added up to a single file without unnecessary
-         whitespace. This will reduce the count of requests drastically, which
-         eventually leads to faster loading and better performance.
-         CAUTION: If compressionLevel is configured
-         ($TYPO3_CONF_VARS[TYPO3_MODE]['compressionLevel'] = 1 [1-9 for compression
-         level or TRUE for "enabled"]) the files will be served with gzip compression.
-         Be sure to enable / uncomment the needed configuration in your .htaccess file,
-         also found in misc/advanced.htaccess.
-
-               <FilesMatch "\.js\.gzip$">
-                 AddType "text/javascript" .gzip
-               </FilesMatch>
-               <FilesMatch "\.css\.gzip$">
-                 AddType "text/css" .gzip
-               </FilesMatch>
-               AddEncoding gzip .gzip
-
-         IMPORTANT: If you have any trouble accessing the Backend after upgrading
-         to TYPO3 4.4, make sure to clear the typo3temp/ directory manually or through
-         the TYPO3 install tool.
-
-       * There is now a complete new Backend skin for all backend modules,
-         the login screen and the install tool. It is still called "t3skin",
-         however due to the use of icon sprites and the refactoring of the
-         CSS files, it is not possible anymore to run the TYPO3 Backend
-         with the old backend skin (from 3.x) or with the look and feel from
-         previous 4.x versions.
-         If you have not installed any skins in your system, you will now see
-         a completely unstyled TYPO3 Backend, no unneeded additional styles
-         are loaded.
-
-       * 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 ("statictemplate") via the
-         Install Tool.
-
-       * 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.
-
-       * The install tool is visually refactored and updated. It has now a
-         different look and feel when accessing from outside the TYPO3 Backend
-         and from within to be integrated better in the rest of the Backend.
-         Also, the 1-2-3 installer process is now cleaned up to be in sync with
-         the new UI elements. There is also 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.
-
-       * The task center module and all its components like Actions and Notes
-         has undergone a complete refactoring, both visually and code-wise,
-         and now has a clean API to add more elements to it.
-
-       * 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. This feature can be configured to include the timestamp within the
-         filename (before .ext) or as a parameter to the file (default).
-         If versioning is done directly inside the filename (by setting
-         $TYPO3_CONF_VARS[BE][versionNumberInFilename] = TRUE) you need the
-         following 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.
-
-       * Support for GDlib 1.x was completely dropped. Only GDlib 2.x is supported now,
-         which is bundled with most PHP installations.
-
-       * HTML5 is now officially supported. For the Frontend output simply use
-         these two TypoScript lines in your Setup:
-
-               config.doctype = html_5
-               config.xmlprologue = none
-
-         Backend modules also allow HTML5 configuration, simply choose the doktype:
-
-               $this->doc->docType = 'html_5';
+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.
 
-Backend
-=======
-
-       * 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 page tree, in your backend modules. Also you can extend the
-         viewport easily with own code to create e.g. a collapsable module menu.
-         More information can be found in the TYPO3 Wiki and the official ExtJS
-         viewport documentation. See these links:
-
-               http://wiki.typo3.org/index.php/TYPO3Viewport
-               http://www.extjs.com/deploy/dev/docs/
-
-       * Inline Records (IRRE Elements) are now loaded on demand, meaning only when
-         they are opened. This should speed up the editing process drastically.
-
-       * The t3editor code completion DB was updated to reflect the latest additions.
-         Also the syntax highlighting engine is now extracted from the system extension
-         so it can be used in other places of the TYPO3 Core as well.
-
-       * A donation notice will be shown to administrators in the TYPO3 Backend
-         on login after using TYPO3 for more than three months. This behaviour
-         can be disabled completely - see $TYPO3_CONF_VARS[BE][allowDonateWindow].
-
-       * Most Icons used in the TYPO3 Backend are now rendered through so-called
-         sprites. Instead of loading many image tags with single icons and therefore
-         many http requests there are now only 6 sprite images (a sprite image is a
-         big image with all icons included) that need to be loaded in the Backend.
-         Image-tags got replaced by spans using the big sprite images with background
-         and offset functionality. This reduces the HTTP and fileheader overhead of
-         about 90% which results in a blasting fast Backend. For details about the
-         new Icon Sprite API, have a look at t3lib/class.t3lib_iconworks.php.
-
-       * The "bigButtons" (Edit page properties, Move page, ...) in the Page module
-         are now disabled by default to have a cleaner interface. The old
-         behavior can be restored by setting mod.web_layout.disableBigButtons = 0
-         in UserTSconfig or PageTSconfig.
-
-       * The interface "backend_old" was completely removed. This was the BE interface
-         from 4.1. As it wasn't maintained and didn't worked correct, all references
-         are removed, so remaining interfaces for login are backend and frontend.
-
-       * The extension manager option "Enable extensions without review (basic security
-         check)" was completely removed as most extensions in TER weren't reviewed on
-         a regular basis. Thus, when searching for an extension in TER through the
-         Extension Manager, all matching extensions, not regarding the review state,
-         are shown up.
-
-Frontend
-========
-
-       * 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.
-
-       * 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.
-
-       * The browser condition in TypoScript now delivers reliable information
-         about the client browser. So now it's possible to make a condition
-         for usage of Firefox, or even a webkit based browser.
+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
-=============
-
-       * 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.
-
-       * Extbase: Template filenames are expected to be UpperCamelCased from now on.
-         Before, they were expected to be all lowercase. For a grace period there
-         is still a fallback mechanism, so that your old template filenames will
-         still work. But you should rename your templates from "myaction.html"
-         to "MyAction.html" to make sure, that it still works in upcoming versions
-         of Fluid!  A message to the deprecation log is generated in case an "old"
-         template name is found.
-
-       * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported,
-         which is bundled with most PHP installations.
-
-       * Versioning: "Page" and "Branch" versioning has been disabled for all
-         installations, because it is deprecated since TYPO3 4.2. If you still
-         use one of these versioning types, make sure to set
-         $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your
-         localconf.php. Please be aware that this option will vanish with
-         TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported
-         nor maintained any longer.
+-------------------------------------------------------------------------------
 
+* safe_mode
 
-Development
-===========
+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
 
-       * In t3lib_extMgm there is now a way to retrieve the version of an
-         extension through the method getExtensionVersion($extensionKey).
+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.
 
-       * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be
-         used to improve code readability.
+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 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:
+Frameset is gone / New Pagetree
+-------------------------------------------------------------------------------
 
-               http://wiki.typo3.org/index.php/ExtDirect
-               http://www.extjs.com/products/js/direct.php
+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.
 
-       * 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_content, and in tslib_menu for
-         further filtering of menu items
+Adding to that we have a brand New Pagetree based on ExtJS / ExtDirect and a
+new powerful API for "trees" and "context menus".
 
-       * 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.
+Grid view / Backend layout
+-------------------------------------------------------------------------------
 
-       * There is now a new API for sending emails. t3lib_utility_Mail::mail()
-         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.
+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 debug in the TYPO3 Backend 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.
+Live search
+-------------------------------------------------------------------------------
 
-       * t3lib_div::debug(): Removed the feature of passing an integer
-         as $header (second argument) to add multiple br-tags.
+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.
 
-       * 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')".
+RTEhtmlarea
+-------------------------------------------------------------------------------
 
+Development of RTEhtmlarea didn't stop and there are tons of nice new features
+and fixes in this new release. Amongst them:
 
-TypoScript changes
-==================
+* 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".
 
-       * It is now possible to configure an alternative "parameter" for filelinks
-         when using jumpURLs
+* 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.
 
-DBAL
-====
+Other improvements to the Backend
+-------------------------------------------------------------------------------
 
-       * 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.
+"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").
 
-Backend skin
-============
+Pages of type "Shortcut" can now also link to the parent page, not only to the
+first or a random subpage.
 
-       * There is now a complete new Backend skin for all backend modules,
-         the login screen and the install tool. It is still called "t3skin",
-         however due to the use of icon sprites and the refactoring of the
-         CSS files, it is not possible anymore to run the TYPO3 Backend
-         with the old backend skin (from 3.x) or with the look and feel from
-         previous 4.x versions.
-         If you have not installed any skins in your system, you will now see
-         a completely unstyled TYPO3 Backend, no unneeded additional styles
-         are loaded.
+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.
 
-       * CSS files in the TYPO3 Backend are now separated in structure
-         CSS statements (definitions for margin, padding, width, height) and
-         visual (like formatting colors, fonts, border and backgrounds).
+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.
 
-       * 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'].
+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.
 
-       * Most Icons used in the TYPO3 Backend are now rendered through so-called
-         sprites. Instead of loading many image tags with single icons and therefore
-         many http requests there are now only 6 sprite images (a sprite image is a
-         big image with all icons included) that need to be loaded in the Backend.
-         Image-tags got replaced by spans using the big sprite images with background
-         and offset functionality. This reduces the HTTP and fileheader overhead of
-         about 90% which results in a blasting fast Backend. For details about the
-         new Icon Sprite API, have a look at t3lib/class.t3lib_iconworks.php.
+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
 
-Speed improvements
-==================
+Make sure you visit the Update Wizard to enable those extensions after
+upgrading to 4.5.
 
-       * Inline Records (IRRE Elements) are now loaded on demand, meaning only when
-         they are opened. This should speed up the editing process drastically.
+DB check -> page tree submodule was removed (module lowlevel) because of its
+uselessness.
 
+"Clearing cache" now is logged to the Admin Tools > Log.
 
-Currently unsupported
-=====================
+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
+-------------------------------------------------------------------------------
+
+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