TYPO3 CMS 6.1.0 Beta 1 released

Categories: Development created by Benni Mack
After a long weekend for a lot of contributors and some cool improvements the TYPO3 world has one more TYPO3 release - CMS 6.1 Beta 1. The feature freeze for the upcoming version has now been reached.
The following noteworthy changes have been introduced:

The core switched from mysql to mysqli

The main database connection class (formerly known as TYPO3_DB) now uses "mysqli" instead of the old "mysql" PHP extension. mysqli was introduced with PHP 5.0 and ships with all supported PHP versions by default. The original extension "mysql" is deprecated with the upcoming PHP 5.5 version, is only optimized for MySQL 4.1.3 or earlier, and lacks support for some newer features of MySQL Server. As TYPO3 CMS requires MySQL 5+ for some versions now, it is only natural to exchange the mysql library as well. The mysql calls are encapsulated entirely in the main database connection class, so there are only slight API changes -- all extension code using the API should run as before. "mysqli" is now a hard requirement in the PHP environment and must be loaded for TYPO3 to run.

RequireJS / JavaScript Unification

In order to rewrite the JavaScript parts of the TYPO3 Core further, the de-facto standard for asynchronous loading of external JavaScript code, the popular RequireJS, has been introduced. Pending patches for rewriting the JavaScript are available, more work to switching to a unified JS is in the works.

Caching Framework

The Caching Framework has now an additional XCache Cache Backend. XCache is an opcode cacher, and can also be used to cache PHP code. See http://xcache.lighttpd.net/wiki/Introduction for more information about XCache.

Improvements for TypoScript

The TypoScript modifiers "addToList" and "removeFromList" have company. It is now possible to use "unique", "reverse" and "sort" as well. There is a new stdWrap feature called "addPageCacheTags" to add tags to the page when a stdWrap routine is called. This minor, but really nice feature, was in the pipeline for the last 2 releases and has finally made it in the TYPO3 Core. The stdWrap option "noTrimWrap" also has the possibility to use "splitChar" to define a different character than | to split the strings that should be before and after the content.

TCA improvements

The TCA feature displayCond can now handle boolean checks and allows for multiple conditions with an extended syntax in order to show/hide fields when editing records in the Backend. The whole TCA is now cached in a more unified way, and thus fully available at any time. The call GeneralUtility::loadTCA() (GeneralUtility was known as t3lib_div in TYPO3 4.x) is now not needed anymore and it's use has been deprecated.
The option "dynamicConfigFile" has therefore been removed in the Core, as the whole TCA data is now loaded and cached. All TCA tables should now be placed in the according extensions in this manner: myextension/Configuration/Tca/Mytable.php.

Removal of "statictemplates"

The extension "statictemplates" which included the old, TYPO3 3.x TypoScript templates, were finally moved to TER, where it will show up in the next few days. As they are only in use for backwards-compatibility and special cases, it was overdue to not ship this extension with every release of the TYPO3 CMS Core.

3rd party libraries updated / added / deleted

A lot of libraries that are shipped with the Core have been updated: jQuery is running 1.9.1 (the old version is kept for compatibility reasons), SwiftMailer ships with version 4.3.0. Additionally, we removed the Flash library "swfupload" and the Flash Uploader interface as the HTML5-version of uploading files, that have been introduced in TYPO3 6.0, is more robust when uploading. The mentioned addition for RequireJS and the use of mysqli for the old mysql PHP extension add up to this list. Also, a lot of other changes for services, the File Abstraction Layer, the extension manager and Extbase/Fluid have been included in this release. See also the recent news about the Extbase Code Sprint and the File Abstraction Code Sprint.
For a full list of all changes, see our merged changes in the review system.
Additionally, there are still two code sprints left for 6.1 - the Extension Code Sprint - which is focused on the Extension Manager, the Extension Format and the interoperability with the TER. Also, next week, there will be another Extbase Code Sprint in Munich to clean up open topics for 6.1. Although the feature freeze has taken its effect with the release of TYPO3 6.1, these changes will still be included in this branch. The final release is still on schedule for April 30th - any testing, reviewing, bugfixing is fully welcome! You can find out the packages of the beta release on the download page. A big thanks goes to all contributors making this release outstanding!