Fixed issue #16919: Catalan flag is replaced by Canadian flag (Thanks to Alexandre...
[Packages/TYPO3.CMS.git] / NEWS.txt
index c475a05..e7dc193 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
 ************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.2 and 4.3
+CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5
 (for technical details see ChangeLog)
 ************************************************************************
 
+Changes in 4.5 pre-releases
+===========================
+
+       * All additions to alpha3 and beta1 have been documented here:
+         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450alpha3
+         http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta1
+
+       This information will be merged in this NEWS.txt below before the
+       final release.
+
 General
 =======
 
-       * TYPO3 requires PHP 5.2 now
-
-       * 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.
-
-       * 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.
-
-       * The JavaScript libraries are updated to prototype 1.6.0.3 and script.aculo.us 1.8.2.
-
-       * 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 RSA
-         authentication service can be used in frontend and backend by enabling the system
-         extension rsaauth.
-         Note: The service requires either the openssl PHP extension, or the openssl binary.
-
-       * 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
-
-       * 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.
+       * 4.5 will be the first official TYPO3 release with LTS (long term support)
+       * A Sprite Generator was added. This allows you to create your own
+         sprite files, also core can generate the files if some new icons
+         were added (#15079).
+       * When TYPO3 runs with two different domain names for the FE and the
+         BE, it is now possible to set accordingly different cookie domains
+         using $TYPO3_CONF_VARS['FE']['cookieDomain'] and
+         $TYPO3_CONF_VARS['BE']['cookieDomain'].
+       * Pages of type "Shortcut" can now also link to the parent page, not
+         only to the first or a random subpage.
+       * The media element now has a core wizard for rewriting URLs. This
+         allows the user to copy the URL from browser (eg a youtube URL like
+         http://www.youtube.com/watch?v=pkA9qw80xO0) and use
+         it in the media element as URL. Currently supported platforms:
+         youtube, dailymotion, sevenload, vimeo, clipfish, google,
+         metacafe, myvideo, liveleak and veoh.
+       * A improved version of misc/advanced.htaccess provides more accurate
+         and up-to-date information and is a real working sample on how to setup
+         your Apache to server TYPO3 pages. This setup is now also used in the
+         introduction package as-is.
+
 
 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.
-
-       * The backend login page is now localized. The language for the login page where no
-         user-defined language is available yet is detected by the preferred browser language. If you
-         have previously changed the login labels via $TYPO3_CONF_VARS['BE']['loginLabels'] then
-         these will be used, however it is recommended to overload the XML file with your own XML file
-         and $TYPO3_CONF_VARS['BE']['XLLfile']['EXT:lang/locallang_login.xml']. These will only be used
-         once you remove the altered "loginLabels" configuration option from typo3conf/localconf.php.
+       * 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.
+       * The cron syntax interpreter of the Scheduler was entirely refactored.
+         It now supports the full range of cron syntax features as can be found
+         in Unix manual pages.
+
 
 Frontend
 ========
 
-       * 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.
+       * FE login now allows to show the logout form direct after login.
 
-       * 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).
+Extbase / Fluid
+===============
 
-       * The GIFBUILDER now supports automatic line breaks by defining a maximum width of the
-         element to be rendered. The new TypoScript properties are "breakWidth" and "breakSpace".
+       * 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
 
-       * Image rendering now cuts off the profile data of images by default to reduce file sizes.
-         This behaviour can be modified or disabled by changing [GFX][im_stripProfileCommand] in
-         the install tool or by setting the TypoScript property "stripProfile" on IMAGE objects.
 
 Compatibility
 =============
 
-       * 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 install tool has a setting "enableDeprecationLog" that allows one to disable the logging of
-         deprecation messages since the file might grow quite fast depending on the extensions installed.
+       * 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';
 
-       * 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.
-
-       * 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".
-
-       * The frontend editing functionality was extracted into a separate system extension "fe_edit".
-
-       * The help modules "about" and "cshmanual" were extracted into separate system extensions with the same name.
-
-       * 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.
 
 Development
 ===========
 
-       * t3lib_div::makeInstance now supports singletons. To mark a class as a
-         singleton it must implement the t3lib_singleton interface.
-
-       * 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).
-
-       * 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 '';
-                       }
-
-       * 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
-
-       * 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.
-
-       * 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.
-
-TypoScript changes
-==================
-
-       * Custom sub categories can be used in TypoScript constants like the following:
-               #customsubcategory=limits=LLL:EXT:devlog/locallang.xml:limits
-
-Database changes
-================
-
-       * The database tables cache_hash, cache_pagesections and cache_pages have been
-         changed due to a move to the new caching framework.
-
-       * Reference indexes storing table names have been extended from 40 to 255 chars
-
-       * The database table pages_language_overlay was extended by several fields to
-         support an alternative URL or a shortcut dependent on localization.
-
-       * The field t3ver_label has been extended from 40 to 255 chars in the tables
-         pages, pages_language_overlay, sys_template and tt_content.
-
-DBAL
-====
-
-       * ...
+       * There is a new setting that shows all SQL queries in debug
+         (#15425): $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2;
+       * Contrib libraries can be replaced now via hook (#15218). This
+         allows to test with updates of these libraries. Demo extensions
+         can be found here:
+               http://forge.typo3.org/projects/typo3v45-projects/files
+       * Catch all ExtDirect Exceptions and show them in the DebugConsole.
+         It now also allows you to call debug() (#15513).
+       * DebugConsole now also catch console-calls from Javascript if no
+         console is available. This allows eg debug prints in browsers
+         having no console like the IE
+       * ExtDirect is available in the frontend now (#15754):
+         http://wiki.typo3.org/ExtDirect
+       * t3lib_div now provides two functions setSingletonInstance and addInstance
+         that will set the objects to be returned by makeInstance. (#16267)
+         This will allow unit tests to inject mocks into makeInstance.
+         In addition, there now is a function purgeInstances that makes
+         makeInstance return fresh instances (singleton as well as non-singleton).
+
+
+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".
+       * The workspaces module was completely rewritten and is now based on
+         ExtJS. The usability is enhanced by displaying the information in a
+         nice grid view. Besides that each workspace can now have a customized
+         set of stages which are child records of a workspace record.
+         Make sure to run the upgrade wizard which migrates the hardcoded draft
+         workspace to a real workspace and sets up the new stages.
+       * Inline Relational Record Editing (IRRE) can now also be used for 1:n
+         relations in workspaces.
+       * In order to support custom stages properly it's recommended to change
+          the type of all t3ver_stage fields from tinyint(4) to int(11).
 
 
 Backend skin
 ============
 
-       * ...
+       * sprites.css now contains the autogenerated sprites.
 
 
 Speed improvements
 ==================
 
-       * 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.
-
-       * 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.
-
-       * There's a new $EM_CONF parameter called "doNotLoadInFE". When set it will prevent
-         TYPO3 from adding the extension's ext_localconf.php and ext_tables.php to the
-         temp_CACHED files when rendering frontend content. Technically this is done by
-         adding an additional list of extensions to localconf.php ($TYPO3_CONF_VARS['extListFE'])
-         which contains only a subset of all installed extensions. This list is only used
-         when rendering frontend content. Since this list is shorter
-         than the list of all extensions this will result in 2 new temp_CACHED_FE* files which are
-         smaller than the files containing all extensions settings. This can save some
-         precious milliseconds when delivering content.
-
-
-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.