Fixed bug #16140: [reports] PHP warning on missing array in reports system extension...
[Packages/TYPO3.CMS.git] / NEWS.txt
index 00d0657..d18861c 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
 ************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.3 and 4.4
+CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5
 (for technical details see ChangeLog)
 ************************************************************************
 
 General
 =======
 
-       * TYPO3 requires PHP 5.2 now
+       * 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.
 
-       * 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.
-
-       * 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), the t3skin look and feel from the previous 4.x versions can be obtained by the TER, but is not actively maintained anymore.
-
-       * The static templates for some basic designs that were part of the TYPO3 Core since TYPO3 3.5 are now moved to a system extension that is not included by default. If you are using one of these templates (GLUECK, GREEN, CANDIDATE etc) or one of the old table-based layouts for rendering content (like content (default) or plaintext rendering), make sure to install the system extension via the TYPO3 Installer.
-
-       * 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&feel when accessing from outside the TYPO3 Backend and from within to be integrated better in the backend. Also, the 1-2-3 installer process is now cleaned up to be in sync with the new UI elements. There is a new hook in the installing process that allows to add or modify the existing steps in the installer to add more configuration options to a custom TYPO3 installation.
-
-       * The task center module in the TYPO3 Backend has undergone a complete refactoring, both visually and code-wise.
-
-       * Automatic version-numbers of CSS and JS files to avoid caching problems: This feature provides automatic numbering of CSS and JS files using the files modified timestamp. This way the file reference will change when a CSS or JS files is changed, and by this the browser and proxy will re-cache the file. Can be configured to include the timestamp within the the filename (before .ext) or as a parameter to the file (default).
-         If versioning is done inside the filename (by setting $TYPO3_CONF_VARS[BE][versionNumberInFilename] to true) you need this line as the first rewrite rule in .htaccess:
-               # Rule for versioned static files (see $TYPO3_CONF_VARS[BE][versionNumberInFilename])
-               RewriteCond %{REQUEST_FILENAME} !-f
-               RewriteCond %{REQUEST_FILENAME} !-d
-               RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
-         IMPORTANT: this rule has to be the very first rule to work properly, at least it has to be placed before the (^typo3...) rewrite rule
-         Developers can use this API for versioning of files in their own backend mods, by calling t3lib_div::createVersionNumberedFilename or using the core API for including files in the page renderer class.
-
-       * CSS and JS are compressed now. This means that they are concatenated to a single file. This will reduce the count of request drastically, which ends up in faster loading and better performance.
-         If compressionLevel is configured ($TYPO3_CONF_VARS[TYPO3_MODE]['compressionLevel'] = 1 [1-9 for compression level or TRUE for enable]) they will be served with gzip. Be sure to uncomment the needed configuration in your .htaccess, also found in misc/advanced.htaccess.
-
-       * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported, which is bundled with most PHP installations.
-       
-       * HTML5 now is official supported. For frontend simply use these two config lines:
-               config.doctype = html_5
-               config.xmlprologue = none
-         Backend modules also allow HTML5 configuration, simply choose the doktype:
-               $this->doc->docType = 'html_5';
 
 
 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 pagetree) in your backend modules. Also you can extend the viewport easily with own code to create e.g. a collapsable module menu. More Informations can be found in the TYPO3 Wiki and the official ExtJS viewport documentation. See these links: http://wiki.typo3.org/index.php/TYPO3Viewport and http://www.extjs.com/deploy/dev/docs/
-       
-       * Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.  
-
-       * The t3editor code completion DB was updated to reflect the latest additions. Also the syntax highlighting engine was now extracted from the system extension so it can be used in other places of the TYPO3 Core as well.
-
-       * A donate notice will be shown to admins in the TYPO3 backend after using it for more than three months.
-         This behaviour can be disabled completely - see $TYPO3_CONF_VARS[BE][allowDonateWindow].
+       * 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.
+       * 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.
 
-       * 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 we now just have 6 sprites (one big image with all icons included) that need to be loaded. Image tags got replaced by spans using the big sprite images with background and offset. 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 UserTS or PageTS.
-       
-       * The "backend_old" was 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. 
 
 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.
+       * FE login now allows to show the logout form direct after login.
 
-       * 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 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.
 
+Extbase / Fluid
+===============
 
-Compatibility
-=============
+       * 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
 
-       * 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.
 
-       * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported, which is bundled with most PHP installations.
+Compatibility
+=============
 
-       * 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.
+       * 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';
 
 
 Development
 ===========
 
-       * In t3lib_extMgm there is now a way to retrieve the version of an extension through the method getExtensionVersion($extensionKey).
-
-       * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be used to improve code readability.
-
-       * The ExtDirect Specification was implemented in the Backend of TYPO3. You can use it in your own backend modules. Details about the specification can be  found in the TYPO3 Wiki and on the ExtJS site. See the links: http://wiki.typo3.org/index.php/ExtDirect and http://www.extjs.com/products/js/direct.php
-
-       * There are new hooks available for you to use: t3lib_page::getRecordOverlay, t3lib_page::getPageOverlay, several new hooks in the impexp extension, alt_doc::makeEditForm() to enable further access-restrictions, in tslib_fe::settingLanguage(), in tslib_menu for further filtering of menu items
-       
-       * The newly introduced Flash messages in TYPO3 4.3 are now also available as JavaScript messages done by ExtJS and available in the global TYPO3 backend JS space.
-       
-       * There is now a new API for sending emails t3lib_utility_Mail::mail() that serves as a proxy for the PHP mail() function, and is now the recommended way for sending emails, in order to have a central place to use a different mailing engine.
-
-       * The debug in BE was enhanced. There is a new debug console, which will show each debug in a single tab. The console will pop up as soon a debug statement is present.
-       
-       * t3lib_div::debug(): Removed the feature of passing an integer as $header (second argument) to add multiple br-tags.
-       
-       * 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')".
-
-
-TypoScript changes
-==================
-
-       * It is now possible to configure an alternative "parameter" for filelinks when using jumpURLs
-
-
-Database changes
-================
-
-       * ...
-
-
-DBAL
-====
-
-       * 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.
+       * 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
+
+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.
+
+
+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).
+
+
+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".
 
 
 Backend skin
 ============
 
-       * 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), the t3skin look and feel from the previous 4.x versions can be obtained by the TER, but is not actively maintained anymore.
-
-       * 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'].
-
-       * 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 we now just have 6 sprites (one big image with all icons included) that need to be loaded. Image tags got replaced by spans using the big sprite images with background and offset. 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.
+       * sprites.css now contains the autogenerated sprites.
 
 
 Speed improvements
 ==================
 
-       * When editing records in the TYPO3 Backend, Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.
-
-
-Important bugfixes
-==================
-
-       * ...
-
-Currently unsupported
-=====================
-
-       * 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
+       * 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.