TYPO3 CMS 6.2 LTS alpha2 released

Categories: Development, Community Created by Ernesto Baschny <ernesto.baschny@typo3.org>
The TYPO3 CMS Team and the TYPO3 Community are happy to announce the availability of a new sneak preview of the upcoming 6.2 LTS release: 6.2 alpha2.
Since the release of alpha1 (June 4th) we have had plenty of activity in our development team. Workspaces experts met up in Frankfurt at dkd for some heavy Workspaces Brainstorming sessions. We have had the incredible Developer Days last week in Hamburg. The Active Contributors team met three days prior to it (report still to come). We haven't published some general news regarding 6.2 development since over a month, so there is lot of nice stuff to share. Please hold your breath and read on! What's new with alpha2 since alpha1? Here is a short round-up:
  • Install Tool completely refactored
  • We finally removed t3lib completely
  • Extbase now has recursive validation
  • Our Logger is now fully PSR-3 compliant
  • We merged the separate ts_* extensions into one
  • You can now drag&drop files into the file list to upload them
  • There is a new "System" group in the module menu
  • The BE authentication now uses saltedpassword by default
  • Many many other usability and code cleanups
And now the gory details (you can breath again...):

Install Tool

The most prominent and ambitious change was the completely reworked Install Tool (#49162). The base is the master refactoring work done by Christian Kuhn. It not only provides a suberb and robust new code base for the delight of the fellow developers: It also comes with a whole new usability feeling. It is designed not to crash, and redesigned to cope with the shortcomings that we have known for ages. The main menu now presents the Install Tool modules in a more usable way. All important actions (like "Database compare", "Change of site name" and "Create new admin user") are grouped together in one menu entry. The system environment now has dozens of new checks, which are directly linked from the Reports module in case some misconfiguration is detected. The folder structure can now be checked and automatically cleaned up (i.e. creating missing subdirectories, changing the permissions). Read more about the technical details of this change if you are interested. The Usability Team will further go through the modules and further optimize it, while the development team will still be enhancing it even more.

The "Packaging" project

The refactored Install Tool doesn't currently provide support for installing the Introduction or the Government Packages as before. The package-handling will be completely reworked during the next weeks to provide several benefits:
  • Packages will be simply "extensions". The Install Tool will redirect to the Backend Login and the Extension Manager will then pick up with some workflow to install available packages.
  • The extensions will be provided through TER so that other enthusiasts could also create their own packages.
  • Package extensions will come with their extension dependencies so that the EM can fetch the right extensions directly from TER (rather than having to be shipped with the Package itself). A fallback possibility of providing the extensions in a "zip" package already is being considered..
  • It looks like a new Responsive Package will replace the current Introduction Package. Benni Mack is currently working on the basis of Sven Wolfermann's package.
So stay tuned for more news on that area!

Cleanup's: no more t3lib!

Wait a minute, what?! Yes, in alpha1 we already removed lots of obsolete files from t3lib. Now we managed to move them all to the corresponding System Extensions (core, backend, ...). So no more need to keep this folder around. A minimal typo3_src could now contain only the entry point index.php and a single typo3/ subdirectory containing the whole core! This also means that the constant TYPO3_t3lib was not used anymore, and thus removed. It was mostly used for "require_once" in extensions, which did not work since alpha1 anyway: Simply rely on the auto-loader and you can still use the old class names (t3lib_div etc) even though they are now called differently. Apart from this and plenty of other cleanups, we merged the separate tstemplate_* extensions (Template Analyzer, Object Browser, Info, Constant Editor, Info/Modify) into one single extension to ease maintainability.

Usability / Backend

Felix Kopp and the Usability Team continued to clean up the backend. The goal is still to have a common standard for backend modules to follow. To acchieve this, lots of conflicting ways of stying have to be identified and cleaned up.

New "System" top level backend module group

In the past system utilities cluttered the "Admin Tools". It was not uncommon that this holded up to 20 entries. Clearly too much for a menu. So we introduced a new top level module group called "System" (#48625) and moved the "low level" administrative modules there ("Backend users", "Install tool", "DB check" etc), leaving most commonly used tools in "Admin Tools" which is also the place where extensions currently place their admin modules.

Extbase and Fluid

Finally Extbase allows recursive validation (#6893). Note that in certain situations this can be a breaking change, please stay up to date by following the list of Extbase/Fluid breaking changes, maintained by the Extbase team. The team also improved some ViewHelpers: The BE module ViewHelper was improved to allow loading more than one CSS/JS files and other new goodies (#49749). Already in use by the Extension Manager, Language and Reports Module. There is now a new Switch-ViewHelper (#48653) and one to display file sizes (#49139).

Logging API

Our logging API is now fully compliant with the PSR-3 specification. This means that integrating third party components which require Psr\Log\LoggerInterface is now fully supported. Further work is still open and we need your help to tackle it. Get in touch with Steffen Müller through the Logging Project if you want to contribute.

File Abstraction Layer

During the Developer Days a Workshop concentrated on the user experience of FAL. During this, we managed to include two new additions thanks to the work done by new FAL artists:
  • You can now drag&drop files into the file list to upload them directly - if your browser supports it (#47005).
  • The Label for sys_file_reference which is displayed for example on content elements referencing to files was made more usable (#49718).
Since there is still lot of work to do to make FAL provide a robust API for everyone's needs, we will be organizing a Code Sprint for it in the next two months. Stay tuned for more information on that! During the Developer Days we gathered many new ideas and got in touch with new potential contributors.

TER extension cleanup

The TYPO3 Core's Extension Manager now support the concept of "outdated" extensions in TER (#49350). This was introduced with the TER cleanup project and will improve search for actively maintained extensions. Currently no extension is marked as "outdated", but as soon as TER starts outdating extensions, the extension manager will know about it.

Other notable changes

Extensions providing backend modules now have a new option to configure the module when calling ExtensionManagementUtility::addModule() (#49643). This makes the conf.php file obsolete. There is now a new task for the scheduler to update language files automatically (#43703). Currently it is a bit hidden inside the "Extbase CommandController Task", but this should be improved later (see #49375). The BE authentication now uses saltedpassword and rsaauth by default (#49694).

Downloading and Upgrading

You can download TYPO3 6.2.0alpha2 on our download page in the tab "TYPO3 CMS 6.2 LTS Preview".

MD5 Sums of packages:

d528f7abe0290bfb4302b7ef7b64a2fe typo3_src-6.2.0alpha2.tar.gz d71b97d09cb1719b76ba3bd86efaba19 typo3_src-6.2.0alpha2.zip 855dc17f85f3ce23b19c1f4d76883f71 blankpackage-6.2.0alpha2.tar.gz cc0a6caf4f1b34b4eb34eff159f18a66 blankpackage-6.2.0alpha2.zip 51c546d3d4e47c0bf1c23f6adf341131 dummy-6.2.0alpha2.tar.gz 07434fe70acc3a67e23fb0a09568df3d dummy-6.2.0alpha2.zip 6b244fe908a301a3d9c1437da08b381c typo3_src+dummy-6.2.0alpha2.zip

Upgrading notes:

Please note that we haven't shipped an Introduction Package and a Government Package with alpha2 as explained above. One way to use the introduction package with alpha2, is:
  • Install 6.2 alpha1 Introduction Package
  • Remove typo3_src and replace it with a "fresh copy" of alpha2 source package (or simply checkout current "master" from git instead).
If after updating your typo3_src you get some "Fatal error" (i.e. Interface 'Psr\Log\LoggerInterface' not defined or Call to a member function isEnvironmentInFrontendMode() on a non-object), make sure that you:
  • clean typo3temp/Cache directory
  • use "Clear all caches" in the backend.

What's to come?

Despite being a couple of days later with the alpha2 release we are still in track with the 6.2 Roadmap. The following events are planned already for the weeks to come:
  • PHPUnit Code Sprint Berlin: July 19-21
  • Extbase Code Sprint for Workspaces Stuttgart: August 15-18
  • TYPO3 Smooth Migration Sprint: August 26-30 (details will follow)
  • FAL Code Sprint (being planned)

List of unique new changes in 6.2 alpha2

Apart from the below mentioned 112 new unique issues since alpha1, the team was able to commit 98 other bugfixes which were also backported to older releases! That's a huge effort, thanks to everyone involved! Refer to the git log for full details.

Install Tool

  • [TASK] Install steps: Load saltedpasswords and rsaauth (core) (#49694)
  • [BUGFIX] Reports module link to Install Tool section is incorrect (reports lang) (#49352)
  • [BUGFIX] System information looks ugly (install) (#49748)
  • [BUGFIX] Folder structure honors file and folderCreateMask (install others) (#49715)
  • [TASK] Database analyzer: Enable add tables and add fields (install) (#49705)
  • [BUGFIX] Installer triggers PHP warnings with folder structure tests (install) (#49700)
  • [BUGFIX] Install tool performs all db updates (install) (#49591)
  • [BUGFIX] Check for imageftbbox() existence before usage (install) (#49458)
  • [BUGFIX] Reports Module links to the standalone install tool (lang install) (#49353)
  • [TASK] Adapt install tool mail functions to use Swiftmailer (install) (#49366)
  • [TASK] Install: Update TTFdpi test description text (install) (#49267)
  • [TASK] Remove last bits of forceCharset handling (install core others) (#49336)
  • [BUGFIX] Show unit "Bytes" for file size of Installer test images (install) (#49269)
  • [TASK] Remove last bit of multiplyDBfieldSize handling (install) (#49334)
  • [FEATURE] Install tool: Remove obsolete keys from LocalConfiguration (core install) (#49299)
  • [BUGFIX] Frontend shows HTML tags in messages (install) (#49266)
  • [BUGFIX] Install tool: Warning in upgrade wizard (install) (#49265)
  • [BUGFIX] Use userInput instead of own broken method (install) (#49260)
  • [BUGFIX] Update Wizard user input not taken into account (install) (#49258)
  • [TASK] Install tool: Code optimization in update wizard action (install) (#49263)
  • [TASK] Rewrite install tool (install) (#49162)
  • [BUGFIX] Fix missing single quotes in SchemaMigratorTest (install) (#49072)
  • [FEATURE] Install tool: Check xdebug.max_nesting_level (install) (#49298)


  • [FEATURE] Debug register and page with TypoScript (frontend) (#49478)
  • [FEATURE] Hook for tsfe::checkEnableFields (frontend) (#48981)
  • [BUGFIX] Follow-up: Add stdWrap for _DEFAULT_PI_VARS (frontend) (#49314)
  • [FEATURE] Add stdWrap for _DEFAULT_PI_VARS (frontend) (#22045)

Extbase / Fluid

  • [TASK] NEWS.txt Entry for recursive validation in extbase () (#49669)
  • [FEATURE] Backport recursive and allowing empty validation from Flow (extbase) (#6893)
  • [FEATURE] Enable chaining of set* funtions (extbase) (#47684)
  • [BUGFIX] Generation of class information fails with DateTime (extbase) (#49307)
  • [BUGFIX] ShortcutVH must not ignore options.enableBookmarks (fluid) (#49220)
  • [FEATURE] ViewHelper to display file sizes (fluid) (#49139)
  • [FEATURE] Switch View Helper (fluid) (#48653)
  • [FEATURE] Improve BE container view helper (extensionmanager langfluid) (#49749)

Developement / Integrator:

  • [BUGFIX] Fix deprecation call in AbstractRecordList (backend) (#49764)
  • [FEATURE] Add TCA label_userFunc_options support to BackendUtility (backend) (#49721)
  • [FEATURE] IRRE: Provide default values for created records (backend) (#46124)
  • [FEATURE] Allow flexible configuration for BE submodules (backend others) (#49643)
  • [FEATURE] Exclude doktypes from pagetree (backend) (#49279)


  • [BUGFIX] Change the label userfunc for FAL records (core:Resource) (#49718)
  • [FEATURE] Add Drag&Drop Upload to file-list (backend lang others) (#47005)

Core Misc:

  • [FEATURE] MathUtility: Add canBeInterpretedAsFloat (core) (#49144)
  • [FEATURE] Increase size of be_groups table subgroup field (core) (#36505)
  • [TASK] Namespacing: Use-statement for common classes like GeneralUtility (core frontend others) (#49745)
  • [BUGFIX] Cleanup permission settings in factory configuration (core) (#49732)
  • [TASK] CGL, switch(): Indent "case" correctly; no "break" in default (core indexed_searchfrontend dbal backendothers) (#49527)
  • [FEATURE] Add checkFlexFormValue hook in DataHandler (core) (#49699)
  • [BUGFIX] Skip APC test on php 5.3 (core) (#49682)


  • [BUGFIX] Failing test due to Log exception renaming (core) (#49663)
  • [TASK] Mention PSR-3 Logger compatibility in News.txt () (#49661)
  • [TASK] Throw InvalidArgumentException for undefined log level (core) (#48876)
  • [TASK] Implement LoggerInterface from PSR-3 (others) (#48880)
  • [TASK] Convert log levels from string to integer (core) (#48881)
  • [TASK] Cast log message to string (core) (#48877)

Backend Features:

  • [FEATURE] Add search for alias as option to the pagetree filter (backend) (#32960)
  • [FEATURE] Refactor ElementInfo / show_item (backend) (#49164)
  • [FEATURE] Scheduler: Add delete button to edit view (scheduler) (#48054)
  • [TASK] Make uid,pid selectable by users in list view (recordlist) (#49810)
  • [TASK] DB-Browser: Pagetree shown even though tables only allow rootLevel (recordlist) (#47436)
  • [FEATURE] Allow custom record list in element browser (recordlist) (#49037)


  • [TASK] Move language include to .xlf (cms others) (#49832)
  • [FEATURE] Add task to auto update languages (lang) (#43703)

TS-Template Modules:

  • [FEATURE] Merge extensions TS/Template (tstemplatetstemplate_ceditorothers) (#49270)
  • [TASK] Remove table in TSOB condition (tstemplate_objbrowser) (#49635)

Backend User Management:

  • [CLEANUP] Use proper Clickmenu API (beuser backendtstemplate_infosys_note others) (#20326)
  • [TASK] Backend user management: add delete button (beuser) (#43053)

Backend Styling / Cleanups:

  • [TASK] Remove <table> in lowlevel configuration (lowlevel) (#49743)
  • [BUGFIX] Bring back my icons to me, to me () (#49594)
  • [BUGFIX] Follow-up: Docheader spacious (row1/row2) (t3skin) (#49735)
  • [TASK] Remove not needed icons & css (others) (#49638)
  • [TASK] Use flash message in CreatePageWizard (wizard_crpages) (#49637)
  • [TASK] Replace table structure in new element wizard (backend t3skin) (#49603)
  • [FEATURE] Module menu: System group (t3skin lowlevelscheduler others) (#48625)
  • [BUGFIX] Followup for removed table wrap in FormEngine (backend) (#49647)
  • [TASK] Clean up TCEforms main table and according CSS definitions (t3skin) (#49596)
  • [TASK] Remove not needed table in permission legend (perm t3skin) (#49599)
  • [TASK] Docheader drop-shadow (t3skin others) (#49597)
  • [TASK] Remove empty table at end of list output (backend recordlistothers) (#49593)
  • [TASK] Crisp up navigation frames borders (t3skin) (#48586)
  • [TASK] Unwrap "Page TSconfig" info tree (info_pagetsconfig) (#48976)
  • [TASK] Page module edit icon for language overlay (backend others) (#39107)
  • [FEATURE] Add autofocus attribute to BE login (backend) (#49228)
  • [TASK] EXT: t3skin - extract table styling (t3skin) (#48786)
  • [TASK] EXT: t3skin: Extract form styling into own file (t3skin) (#48783)
  • [TASK] Remove styles for former ExtensionManager (t3skin) (#48550)


  • [TASK] Adapt INSTALL.txt to removed t3lib () (#49346)
  • [TASK] Remove constant PATH_t3lib (core t3editor) (#49348)
  • [TASK] Move ExtJS- & JavaScript from t3lib (backend) (#49342)
  • [TASK] Move typo3/stylesheets to EXT: backend (backend) (#49747)
  • [TASK] Cleanup entry classes in typo3/ part1 (backend) (#49394)
  • [TASK] Cleanup ext:recordlist (recordlist) (#49578)
  • [TASK] Cleanup ext:lowlevel (lowlevel) (#49552)
  • [TASK] Cleanup ext:setup and ext:tstemplate (setup tstemplate) (#49580)
  • [TASK] Cleanup ext:opendocs (opendocs) (#49550)
  • [TASK] Move JavaScript files to EXT: backend (backend) (#49507)
  • [TASK] Remove dummy files from ext:indexed_search (indexed_search others) (#47852)
  • [TASK] Remove dummy files from ext:wizard_crpages and wizard_sortpages (#48155)
  • [TASK] Remove class.* from /typo3/ (recordlist backendothers) (#48942)
  • [TASK] Remove last bits of gdlib_2 setting (core others) (#49335)
  • [TASK] Cleanup openid extension (openid) (#48522)
  • [TASK] Cleanup wizard initializing (backend) (#48963)
  • [TASK] Remove duplicate vera.ttf from ext:core (core) (#49261)
  • [TASK] Remove unused icons from /gfx () (#49112)
  • [TASK] Move video-js to contrib () (#49152)
  • [TASK] Move express-install to contrib (flowplayer) () (#49151)
  • [TASK] Move t3lib/csconvtbl && t3lib/unidata (core) (#49005)
  • [TASK] Remove "require_once" in /typo3/ () (#48934)
  • [TASK] Move JavaScript files out of t3lib (backend others) (#48379)
  • [BUGFIX] Fixed return URL in reports module (reports) (#43417)