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?
- Finally: TYPO3 Database API executes native prepared queries (#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 (#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 (#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 (#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 (#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 (#57169)
- Workspaces: Also fixed: Invalid relations of IRRE records in workspaces(#56376)
- Avoid superfluous IRRE child record duplication (#44795, #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 (#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
- Implemented locking in ClassLoader (#55099, #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 (#56933).
- Class loader handles information about invalid classes (#57117).
File Abstraction Layer
- We reverted the new File Processing API, which had been introduced in beta7 (#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 (#57002).
- The filelist tree now orders storages by name, just like in the list view (#56824).
- Performance: Prevent Inclusion of ResourceStorage from Bootstrap (#56335).
- Element browser doesn't use FAL info to for file dimensions (#56864).
- RTE Linking with file upload fails (#56751).
- Avoid reference index records for images in RTE fields (#56811).
UX / GUI
- Lists (OL and UL) in the backend have a regular list-like styling since beta6 (#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 (#57126) and in the Workspaces Module (#57114)
- Fixed: Clipboard was not being shown if the page was empty. Now it will always be shown (#57062).
- Finalize skinning of Sys_Note (in Web>List and Web>Page) (#56960).
- Hide "new page buttons" for users who can't create new pages (#56992)
- Use correct warning icon in time tracker (#57116).
- FlashMessage style missing in Reports module (i.e. when deleting deprecation log) (#57162).
- Cleanup EXT:cshmanual (#56826).
- Unify use of getter for $GLOBALS['TYPO3_DB'] (#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().
- Performance: Allow FrontendContentAdapter to be disabled (#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).
- css_styled_content with FAL: Invalid file used to compute image ratio in text with picture (#57075).
- css_styled_content with FAL: Use language overlay for image rendering (#56712).
- TYPO3 now uses HTTP Status 307 for all page shortcut modes (#56423).
Extbase / Fluid
- Performance: Use a queryCache in query building of the generic persistence (#55167, #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 (#57104, #57130).
- Performance: Speed up page ID resolving in Extbase BE (#55566, #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 (#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 documented in the Extbase Wiki.
- Since beta7 we use prepared statements in the generic Extbase persistence (#55360). A bug where query statement returns null was fixed (#56915).
Importer / Exporter
- Fixed impexp with images in RTE and links to files (#56089, #56285).
- Fixed import of type group internal_type file_reference (#56071, #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 (#52593).
- SoftReferenceIndex typolink[linkList] missing support separation by line feed (#57006).
- First install listed "directory does not exist" errors since beta6. This was annoying and confusing for new users, so this is now fixed (#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 (#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 (#51362).
- Install Tool Improved Default File/Directory permission warnings (#57025). And it now also looks nicer on Windows (#57118).
- Fixed automatic core updater (#56865).
- Transformed the phpinfo into a ViewHelper (#57124).
- Support for static table titles in new record wizard (#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 (#57136).
- Extension Manager: Update $GLOBALS['TYPO3_LOADED_EXT'] on package change (#56978).
- PageTS setting: options.clearCache.system does not show up (#57064).
- Link validator: Reduce amount of false positives: Retry HEAD request with GET when hitting on 403 status responses (#54513)..
- Integrator / Admin: Unify TCA "eval=null" default value handling (#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 (#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 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 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.
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 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!