TYPO3 CMS 6.2 LTS RC1 released

Categories: Development, Community Created by Ernesto Baschny
The TYPO3 community, contributors, and the release team prepared the first release candidate for the next big release: TYPO3 CMS 6.2 RC1!

What happened since beta7?

Notable improvements

  • Finally: TYPO3 Database API executes native prepared queries (<link http: forge.typo3.org issues _blank>#27372). As TYPO3 is using mysqli since 6.1, prepared queries are natively supported and now finally used. The DBAL layer provides a compatibility layer falling back to standard queries by replacing placeholders and executing the underlying SQL query. If your extension makes use of prepared statements, it will work as before, because the API hasn't changed. It will just be faster!
  • Security: Initial installation will require the user to create a FIRST_INSTALL file in the document root (<link http: forge.typo3.org issues _blank>#55387). Security Note: the Install Tool could be accessed regardless of ENABLE_INSTALL_TOOL in all previous beta versions of 6.2. If you have production sites running with a current TYPO3 6.2 beta, please be advised to upgrade as soon as possible to this Release Candidate.
  • Security: Implemented click jacking protection (<link http: forge.typo3.org issues _blank>#54201). This means the TYPO3 backend cannot (by default) be embedded in remote IFRAMEs anymore. If you need this despite the security risks, use this in your AdditionalConfiguration.php file: unset($TYPO3_CONF_VARS['BE']['HTTP']['Response']['Headers']['clickJackingProtection']);.
  • Improved the labels in the "flush cache" menu (<link http: forge.typo3.org issues _blank>#57128). Documentation Team leader François Suter noted that the new setup wasn't very intuitive, especially for users knowing previous TYPO3 versions. The "all caches" were not really "all caches" anymore (because it does not include the "system caches"). So we agreed on changing the text and optimize the tooltip.

Workspaces / IRRE

Olly Hader has made big progress in this area, which is now very well covered with functional tests to prove the validity of the solutions. With this solid base he was able to solve some very puzzeling issues which have haunted most Workspace users since the early beginning. The sys_refindex data structure was improved to allow storing the current workspace (<link http: forge.typo3.org issues _blank>#56977). This will allow other fixes with IRRE. Note: make sure you visit the Install Tool / Database Compare to get this new field! Also make sure you publish all Workspaces in your old TYPO3 installation before upgrading to 6.2 to have a clean basis!
  • Workspaces: Fixed: Invalid relations of MM records in workspaces (<link http: forge.typo3.org issues _blank>#57169)
  • Workspaces: Also fixed: Invalid relations of IRRE records in workspaces(<link http: forge.typo3.org issues _blank>#56376)
  • Avoid superfluous IRRE child record duplication (<link http: forge.typo3.org issues _blank>#44795, <link http: forge.typo3.org issues _blank>#56284). This is a long standing issue with IRRE which became more visible since 6.0 and the file abstraction layer. Copying and pasting pages with images used to make preview images disappear and duplicate records to appear.
  • Added ManyToMany copyPage functional test (<link http: forge.typo3.org issues _blank>#57030).
  • For TypoScript, a new feature was added to the pidInList property to allow also selecting root records and/or to disable the "pid<>-1" query constrain, which is

Class Loader

  • Implemented locking in ClassLoader (<link http: forge.typo3.org issues _blank>#55099, <link http: forge.typo3.org issues _blank>#57008). This solves many concurrency issues with the caching. For improved performance, make sure you configure TYPO3 to use semaphore locking if available, by $TYPO3_CONF_VARS[SYS][lockingMode]="flock". Default is file based, AKA "simple".
  • Cached class loader misses are not considered (<link http: forge.typo3.org issues _blank>#56933).
  • Class loader handles information about invalid classes (<link http: forge.typo3.org issues _blank>#57117).

File Abstraction Layer

  • We reverted the new File Processing API, which had been introduced in beta7 (<link http: forge.typo3.org issues _blank>#56775). The reason is that this API does not make sense without the whole core fully supporting and using this API internally. Since we weren't been able to complete this task in time for 6.2, we postpone this feature completely for the next TYPO3 release.
  • We reduced the length of identifier key in sys_file_processedfile in order to ease the migration from 6.0 and 6.1 (<link http: forge.typo3.org issues _blank>#57002).
  • The filelist tree now orders storages by name, just like in the list view (<link http: forge.typo3.org issues _blank>#56824).
  • Performance: Prevent Inclusion of ResourceStorage from Bootstrap (<link http: forge.typo3.org issues _blank>#56335).
  • Element browser doesn't use FAL info to for file dimensions (<link http: forge.typo3.org issues _blank>#56864).
  • RTE Linking with file upload fails (<link http: forge.typo3.org issues _blank>#56751).
  • Avoid reference index records for images in RTE fields (<link http: forge.typo3.org issues _blank>#56811).

UX / GUI

  • Lists (OL and UL) in the backend have a regular list-like styling since beta6 (<link http: forge.typo3.org issues _blank>#55819). These lists were unstyled (no padding, no bullets) before and now they have proper "list styles". We discovered some places where this was still not streamlined, and fixed it: in the Form Wizard (<link http: forge.typo3.org issues _blank>#57126) and in the Workspaces Module (<link http: forge.typo3.org issues _blank>#57114)
  • Fixed: Clipboard was not being shown if the page was empty. Now it will always be shown (<link http: forge.typo3.org issues _blank>#57062).
  • Finalize skinning of Sys_Note (in Web>List and Web>Page) (<link http: forge.typo3.org issues _blank>#56960).
  • Hide "new page buttons" for users who can't create new pages (<link http: forge.typo3.org issues _blank>#56992)
  • Use correct warning icon in time tracker (<link http: forge.typo3.org issues _blank>#57116).
  • FlashMessage style missing in Reports module (i.e. when deleting deprecation log) (<link http: forge.typo3.org issues _blank>#57162).

Cleanups

  • Cleanup EXT:cshmanual (<link http: forge.typo3.org issues _blank>#56826).
  • Unify use of getter for $GLOBALS['TYPO3_DB'] (<link http: forge.typo3.org issues _blank>#57119). We often use a protected method to wrap $GLOBALS['TYPO3_DB'] to ease testing and help with type hinting for IDEs. We decided to unify these to always be called getDatabaseConnection().

Frontend

  • Performance: Allow FrontendContentAdapter to be disabled (<link http: forge.typo3.org issues _blank>#54979). The content rendering loads a backwards compatibility dataset to allow it to work with old school TypoScript. This layer can now be disabled, speeding up rendering. New installations get this enabled by default. If you are upgrading this will be enabled. Disable with $TYPO3_CONF_VARS[FE][activateContentAdapter] (in the Install Tool).
  • The new stdWrap property "escapeJsValue" (introduced in beta7 in <link http: forge.typo3.org issues _blank>#56642) was renamed to "encodeForJavaScriptValue" (<link http: forge.typo3.org issues _blank>#57107). And want to know something amazing? This is already <link http: docs.typo3.org typo3cms typoscriptreference latest functions stdwrap>documented in the TyposcriptReference. A big thanks to the great work of the documentation team, which managed to bring the whole reference documentation up to date even before the release of 6.2!
  • css_styled_content with FAL: Invalid file used to compute image ratio in text with picture (<link http: forge.typo3.org issues _blank>#57075).
  • css_styled_content with FAL: Use language overlay for image rendering (<link http: forge.typo3.org issues _blank>#56712).
  • TYPO3 now uses HTTP Status 307 for all page shortcut modes (<link http: forge.typo3.org issues _blank>#56423).

Extbase / Fluid

  • Performance: Use a queryCache in query building of the generic persistence (<link http: forge.typo3.org issues _blank>#55167, <link http: forge.typo3.org issues _blank>#57053). This is a non breaking major change which have already gained some follow-up fixes but will for certain require even more eyes testing. If you use Extbase and its persistence, make sure you test it well so that we can get it stable until final release. Two issues are already on our radar to be fixed (<link http: forge.typo3.org issues _blank>#57104, <link http: forge.typo3.org issues _blank>#57130).
  • Performance: Speed up page ID resolving in Extbase BE (<link http: forge.typo3.org issues _blank>#55566, <link http: forge.typo3.org issues _blank>#57125). This should also make the determination of the Page ID when running Extbase in CLI deterministic.
  • The LTS release wouldn't be a LTS release without some last minute feature: We backported and included Flow's JsonView (<link http: forge.typo3.org issues _blank>#56007).
  • Small breaking bug fix: BooleanNode now casts negative integers to boolean (true). This affects conditions in Fluid templates, as condition="-9" now evaluates to true. This and other breaking Extbase/Fluid changes are <link https: forge.typo3.org projects typo3v4-mvc wiki breaking_changes _blank>documented in the Extbase Wiki.
  • Since beta7 we use prepared statements in the generic Extbase persistence (<link http: forge.typo3.org issues _blank>#55360). A bug where query statement returns null was fixed (<link http: forge.typo3.org issues _blank>#56915).

Importer / Exporter

  • Fixed impexp with images in RTE and links to files (<link http: forge.typo3.org issues _blank>#56089, <link http: forge.typo3.org issues _blank>#56285).
  • Fixed import of type group internal_type file_reference (<link http: forge.typo3.org issues _blank>#56071, <link http: forge.typo3.org issues _blank>#56516).
We still need more eyes taking a look at these other pending reviews:
  • Migration layer for impexp for importing exports from version 4.x (<link http: forge.typo3.org issues _blank>#52593).
  • SoftReferenceIndex typolink[linkList] missing support separation by line feed (<link http: forge.typo3.org issues _blank>#57006).

Install Tool

  • First install listed "directory does not exist" errors since beta6. This was annoying and confusing for new users, so this is now fixed (<link http: forge.typo3.org issues _blank>#57152).
  • Performance: The left menu contained badges with the folder and system environment errors. These checks can be costy and were being done on every request. These are now called asynchronously through Ajax to avoid slowing the Install Tool itself (<link http: forge.typo3.org issues _blank>#57166). Wouter Wolters came with this solution in just a couple of minutes, amazing work!
  • The PHP errors will be shown in the Important Actions "Check Extensions" in case of errors (<link http: forge.typo3.org issues _blank>#51362).
  • Install Tool Improved Default File/Directory permission warnings (<link http: forge.typo3.org issues _blank>#57025). And it now also looks nicer on Windows (<link http: forge.typo3.org issues _blank>#57118).
  • Fixed automatic core updater (<link http: forge.typo3.org issues _blank>#56865).
  • Transformed the phpinfo into a ViewHelper (<link http: forge.typo3.org issues _blank>#57124).

Other fixes

  • Support for static table titles in new record wizard (<link http: forge.typo3.org issues _blank>#23478). Yes, a very low issue number. This is a 3 year old issue, finally solved for 6.2. The waiting has an end!
  • Mitigate race condition on cache flush (<link http: forge.typo3.org issues _blank>#57136).
  • Extension Manager: Update $GLOBALS['TYPO3_LOADED_EXT'] on package change (<link http: forge.typo3.org issues _blank>#56978).
  • PageTS setting: options.clearCache.system does not show up (<link http: forge.typo3.org issues _blank>#57064).

Other changes

  • Link validator: Reduce amount of false positives: Retry HEAD request with GET when hitting on 403 status responses (<link http: forge.typo3.org issues _blank>#54513)..
  • Integrator / Admin: Unify TCA "eval=null" default value handling (<link http: forge.typo3.org issues _blank>#54412). If a field is configured to allow NULL values ("eval=null") and the default value in the TCA is explicitly set to NULL, the value will not be converted to a string anymore. This streamlines the new feature of allowing null values introduced in 6.0 (<link http: forge.typo3.org issues _blank>#41773).

Downloading and Upgrading

If you have tried some earlier snapshot of the 6.2 development branch (i.e. some alpha or beta) here are some tips when upgrading to this latest RC:
  • Download 6.2 rc1 from the <link>Download Page.
  • Uncompress into your old Document Root.
  • Switch the typo3_src symlink to the new package
  • Use the Install Tool:
    • "Important Actions" and delete the whole cache content (make sure this deletes the whole typo3temp/Caches/* files and also the content of Extbase Reflection Caches - do it manually if not working otherwise!)
    • "Upgrade Wizards": Walk through all Upgrade Wizards

MD5 sum of packages

d3b284e78231b09e9e31f939e281c6aa typo3_src-6.2.0rc1.tar.gz edf9be995e41a8ede64d1c4ba59d52dc typo3_src-6.2.0rc1.zip 

Found a bug? Report it!

If you try out the release candidate and find some bug or issue with it, don't hesitate to report back to us. Our issue tracking system is <link http: forge.typo3.org projects typo3cms-core issues>Forge. To fill in a report, you must register as an user on typo3.org first. Then Login on Forge. Take a look at other reports as those linked in this release notes. Make sure to do a search first to see if there is already a report of the issue you have, before reporting the issue again. Do that by adding a filter "Subject" to the issue tracking filtering system or by using the "Search:" field on the top corner. If you are reporting some new issue, make sure you fill in all required fields:
  • A speaking and concise subject briefly describing the problem (a phrase like "I just found a bug in TYPO3!" is not descriptive enough!)
  • TYPO3 Version: specify the release of TYPO3 where the problem occurs: "6.2" in case you are trying this release candidate.
  • Category: Try to find a matching category, it helps us filter the issue. In case of doubt which category to use, just leave it blank.
  • In the text part of the issue, try to describe exactly what the problem is. A part with "How to reproduce" helps the developers understanding when the bug appears exactly.
You might want to join IRC on Freenode, channel #typo3-cms and get our attention on your bug or if you have questions if what you found is indeed a bug or some misconfiguration.

What's next?

The most pressing issues were solved for this release candidate. Thanks a lot for all contributors working on that! We will continue seeking final stabilization until Monday (24th). If we see enough changes, we will release a second and last release candidate on Monday. See this list of <link http: forge.typo3.org projects typo3cms-v62 wiki issues _blank>pending Issues for final 6.2.0 release as we will be updating it regularly during the next days, also specicying which issues we won't tackle for 6.2.0. 6.2 LTS is around the corner and it will be great!