************************************************************************ CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5 (for technical details see ChangeLog) ************************************************************************ General ======= * 4.5 will be the first official TYPO3 release with LTS (long term support) * A Sprite Generator was added. This allows you to create your own sprite files, also core can generate the files if some new icons were added (#15079). * When TYPO3 runs with two different domain names for the FE and the BE, it is now possible to set accordingly different cookie domains using $TYPO3_CONF_VARS['FE']['cookieDomain'] and $TYPO3_CONF_VARS['BE']['cookieDomain']. * Pages of type "Shortcut" can now also link to the parent page, not only to the first or a random subpage. * The media element now has a core wizard for rewriting URLs. This allows the user to copy the URL from browser (eg a youtube URL like http://www.youtube.com/watch?v=pkA9qw80xO0) and use it in the media element as URL. Currently supported platforms: youtube, dailymotion, sevenload, vimeo, clipfish, google, metacafe, myvideo, liveleak and veoh. Backend ======= * The frameset was removed. This makes the Backend a lot faster. Now the navigation tree also can be resized. The new backend works using the ExtJS viewport, providing an easy and unified interface to manipulate the content of the different panels. * The user can decide the type of each page created in the "Create multiple pages" Wizard. And the wizard can create more than 9 pages at once. * 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. Frontend ======== * FE login now allows to show the logout form direct after login. Extbase / Fluid =============== * Fixed Extbase Caching Bug. * All methods trying to find an object by uid now ignore the storagePid. This changes the behavior of argument mapping and the way extbase fetches 1:1 relations. Resolves #5631. You should not experience any negative side-effects of this change, i.e. if your extension worked before, it will definitely after this change. However, it makes the record handling more robust. * Performance improvements in TypoScript::convertTypoScriptArrayToPlainArray. * Fluid contains many new features you might want to start using. There are some changes that require special attention in case you created custom condition ViewHelpers or if you call renderSection() and renderWithLayout() from Tx_Fluid_View_TemplateView. * Check out these ChangeLogs for more details: - typo3/sysext/extbase/ChangeLog.txt - typo3/sysext/fluid/ChangeLog.txt Compatibility ============= * See typo3/sysext/fluid/ChangeLog.txt for some breaking changes in Fluid. * See typo3/sysext/extbase/ChangeLog.txt for a fix that might break certain setups (caching bug fixed, might break extbase extensions that setup their own TS configuration manually) * The API for registering additional cache frontends or backends has changed. As of TYPO3 4.5 only the classname needs to be specified in favor of both path to the php file and the classname. Instead the class needs to be registered for autoloading. See #15586 for details. Example: New: $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='tx_myext_cache'; Old: $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='/path/tx_myext_cache.php:tx_myext_cache'; Development =========== * There is a new setting that shows all SQL queries in debug (#15425): $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2; * Contrib libraries can be replaced now via hook (#15218). This allows to test with updates of these libraries. Demo extensions can be found here: http://forge.typo3.org/projects/typo3v45-projects/files * Catch all ExtDirect Exceptions and show them in the DebugConsole. It now also allows you to call debug() (#15513). * DebugConsole now also catch console-calls from Javascript if no console is available. This allows eg debug prints in browsers having no console like the IE * ExtDirect is available in the frontend now (#15754): http://wiki.typo3.org/ExtDirect 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 } 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 ============ * sprites.css now contains the autogenerated sprites. Speed improvements ================== * Added "compress data" options to DbBackend of the Caching framework (#15141). Enable it like this: $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages'] = array( 'frontend' => 't3lib_cache_frontend_VariableFrontend', 'backend' => 't3lib_cache_backend_DbBackend', 'options' => array( 'cacheTable' => 'cachingframework_cache_pages', 'tagsTable' => 'cachingframework_cache_pages_tags', 'compression' => TRUE, ), ); * Some often used functions of t3lib_div were speed improved.