************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.0 and 4.1
+CHANGES & IMPROVEMENTS between TYPO3 4.1 and 4.2
(for technical details see ChangeLog)
************************************************************************
+General
+==================
+
+ * New PHP version requirement: You need to have at least PHP 5.2.0 in order to run TYPO3 4.2
+ * Workspaces allow moving of elements (for details, see Inside TYPO3, Core API, and this video: http://castor.t3o.punkt.de/files/moving_in_workspaces2.mp4 (/.mov for better quality)
+ * The new backend of the "Cleaner Backend Project" (typo3/backend.php) replaced the old module (typo3/alt_main.php)
+
+Backend
+==================
+
+ * Templates
+ -> Various enhancements to the TS object browser and TS analyzer
+ -> Added new T3Editor with syntax highlighting and other usability improvements for editing TypoScripts
+
+ * Extension Manager
+ -> Auto-update view when new back-end modules were installed
+ -> Integrate the extension ter_update_check into EM
+
+ * Workspaces
+ -> Implemented moving for elements ("Element" versions)
+ -> Workspace "swapping" for "New"-placeholders and "Deleted"-Markers is now supported
+ -> Added switch in TYPO3_CONF_VARS['BE']['elementVersioningOnly'] which allows to completely turn off page and branch versioning
+
+ * htmlArea RTE
+ -> Various bug fixes
+ -> Enable htmlArea RTE in Safari
+ -> Removed list of plugins from EM configuration
+ -> Enhancements to the block styling and text styling drop-down lists
+ -> Enhancements to the handling of inline elements: new formattext drop-down list and new inline element buttons
+ -> Enhancements to the handling of block elements: formattext, insertparagrahbefore and insertparagraphafter buttons, blockquote button, indent with div and configurable class, alignment with configurable classes
+ -> New plugin API enable TYPO3 extension to extend the RTE (to be documented separately)
+
+ * Cleaner Backend Project
+ -> Implemented new GUI with lots of usability improvements
+ -> Enable Tabs in Page Properties
+ -> Use optgroups in selectorboxes
+ -> Added "Open Documents" as optional module in top bar
+ -> Possibility to fold the page- and file-tree widgets
+
+ * TCEforms
+ -> Notify and visualize user where required elements are nested in IRRE or Tabs
+ -> The page doktypes "advanced" and "not in menu" were removed and their functionality integrated into the "normal" doktype
+ -> Date and Datetime fields now support dates starting from 01/01/1902 (dates prior to 1970 are are stored in the database as negative timestamps). The upper limited is still 01/01/2038.
+
+ * Inline Relational Record Editing (IRRE)
+ -> Localization support for child records
+ -> Possibility to define storage page for child records on a per-table-basis (TSconfig TCAdefault.[table].pid = [page id])
+
+ * Template Module
+ -> Improved TypoScript editor by integration of T3Editor with several extended features like code highlighting, code snippets, etc.
+ -> Improved the usability of the Constant Editor
+
Compatibility
=============
- * captionSplit.cObject had been removed in version 4.0. For compatibility reasons, it has been added again, though it remains deprecated and should not be used anymore (bug #3005)
- * In TYPO3 4.0, showpic.php automatically adds default parameters to custom URLs. Some extensions did not like this feature because they want to generate all parameters by themselves. Enabling JSwindow.altUrl_noDefaultParams will now solve this problem for them (bug #1153)
- * FORM submit buttons with images are now valid xhtml (bug #3397)
+ * t3lib_div::csvValues() now exports like Internet RFC 4180 (embedded line-breaks allowed)
+ * !!! Page doktypes "2" & "5" ("advanced" and "not in menu") were removed and merge with the "normal" doktype "1"
+ -> This behaviour can be disabled by setting the $TYPO3_CONF_VARS['SYS']['compat_version'] to '4.1'.
+ -> The update wizard allows one to perform the required database changes.
+ -> For Developers: Check your extensions and TypoScripts
+ -> doktypes '2' and '5' are deprecated!
+ -> change conditions like "doktype=5" to "nav_hide=1"
+ -> remove conditions like "doktype=2"
+
+Speed improvements
+==================
+
+ * indexed_search with a huge page trees can now be a lot faster with the new TypoScript configuration option "skipExtendToSubpagesChecking"
+ * Added many calls to $GLOBALS['TYPO3_DB']->sql_free_result() free these memory resources
+ * Speed up link rendering by implementing some local caches
+ * Introduction of global variable $ACCESS_TIME (to the minute) to allow a better usage of MySQL query cache for time-based access control queries
+ * Improved caching of locallang and changed internal caching from default character set of language to required character set.
-Installation/Upgrade
+Development
====================
- * The update wizard has been slightly reworded to make the functionality more easy to understand (bug #3943)
- * typo3temp/ subdirectories were not created automatically (bug #2462)
+ * Add new external library "RemoveXSS" for easily filtering potential Cross Site Scripting (XSS) attacks.
+ -> Can be used by any script. Usage: $filtered_string = t3lib_div::removeXSS($input_string);
+ -> Thanks to Travis Puderbaugh <kallahar@quickwired.com> for providing this nice piece of code!
+
+ * TCEforms
+ -> Setting a field of eval "timesec" as a label of a table would show an integer instead of the hh:mm:ss string
+
+ * Workspaces
+ -> Added class.wslib_gui.php to allow using WS GUI from extensions
+ -> Added "flush" command to TCEmain API for versions so versions can be completely deleted and not only released from a workspace
+
+ * AJAX/JavaScript
+ -> Added JavaScript minification feature (new function t3lib_div::minifyJavaScript)
+ -> Updated JavaScript libraries: prototype (1.6.0.2) and script.aculo.us (1.8.1)
+ -> Consistent interface for AJAX calls in the TYPO3 Backend (typo3/ajax.php)
+
+ * Hooks
+ -> Added hook to Web>Page "columns" view, allowing plugins to display "additional info" instead of "CODE:"
+ -> Added a hook to TCEforms to enable custom evaluations for input fields
+ -> Introduced a new global hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['recStatInfoHooks']
+ -> allows to insert HTML before a records icon in the page tree, Web>List and Web>Page modules (and possibly more places where makes sense)
+ -> Integrate post processing hook for links handled by typoLink
+ -> Web>List module: Allow modification/addition/removal of icons for each table and its records
+ -> Hook in TCEmain after all database operations
+ -> Some Hooks for tslib_content
+ -> Added hooks to t3lib_TCEforms_inline to manipulate control items for each child record
+ -> Added hook to manipulate the cHash
+
+TypoScript changes
+==================
+
+ * Back-end
+ -> Removed TSconfig property TCEFORM.<table>.<field>.linkTitleToSelf.returnUrl
+ -> Added possibility to set TCAdefaults in Page TSconfig
+ -> Added Page TSconfig property TCEFORM.[table].[field].label to override labels
+
+ * Front-end
+ -> Added +stdWrap for the .src parameter of "FRAME"
+ -> Added +stdWrap for the .wrapItemAndSub parameter of "TMENUITEM"
+ -> Added new conditions "year" and "dayofyear"
+ -> Addes possibility to define cache expire time of HMEMUs
+ -> Introduced a new TS option that makes indexing of metatags configurable (config.index_metatags)
+ -> Added stdWrap support for minW and minH of imgResource
+ -> Added minification of JavaScripts (config.minifyJS)
+ -> Constant 'PAGE_TARGET' of CSS Styled Content is cleared when compatVersion is set to 4.2.0
+
+Database changes
+================
+
+ * Replace all TINYTEXT columns with VARCHAR(255)
+ * Change index "parent" of fe_user to (pid,username) and drop the index "pid"
+ * Added fields "crdate" and "cruser_id" to tt_content
DBAL
====
- * Improved support for Oracle
- * ADOdb has been updated to version 4.90
- * DBAL now honours the no_pconnect setting
- * Importing dumps using the install tool now works, see manual for tips
- * Code cleanup
- * Updates to the documentation manual
+ * typo3/sysext/adodb: Update to upstream version 4.94
+
+Frontend features
+=================
+
+ * New login-box System-Extension "felogin":
+ -> This is a refactored version of the "newloginbox" extension, now integrated into the core.
+ -> If you install the extension, it will replace the old login content element (CType: "Login Form").
+ -> The new plugin comes with a great new redirection framework and lots of configuration options - but still runs nicely out of the box.
+ * Roll-over (RO) on a GMENU in IE didn't work with xhtml_strict (Bug #3729)
+ * Content encoding with x-gzip is now available also for IE7
+ * Various improvements to the admin panel
+ * Whole workspaces can be previewed now for users with no backend login by a simple link you can email
+ * Enabled EXPLAIN SELECT queries in TS admin panel
Backend skin
============
- * Template modules have been changed to support skins (especially t3skin)
- * The BE admin module has been changed to support skins (especially t3skin)
- * Current page was not highlighted in navigation tree on IE6 (bug #2874)
+ * ...
Important bugfixes
==================
- * Windows systems print phpinfo under some circumstances (bug #3362)
- * HTTP status was incorrect for pageNotFound_handling when external URL is specified as 404 page
- * Wrong HTTP status 503 was sent when $TSFE->set_no_cache() was called from a plugin (bugs #3049 and #3176)
- * Mail forms did not work with <input type="image"> submit buttons (bug #1374)
- * FE editing: edit form on page did not work in 4.0
- * Linking images to hidden pages resulted in click-enlarge (bug #3522)
- * config.formMailCharset did not work (bug #3600)
- * Some broken references to media/ have been fixed (bug #3233)
- * Fixed RTE bug: images were removed under some special conditions when saving (bug #3051)
- * Various enhancements to CSS styles content (bugs #3138, #3258, #3416)
- * config.spamProtectEmailAddresses returned garbled links sometimes (bug #3427)
- * Localized flexforms did not work properly (bug #3505)
- * Extension manager: The label for enabling unreviewed extensions is more clear now. The search scope (all/reviewed) is displayed on the import extensions page.
+ * Better transliteration for hebrew (using lower-cased latin letters)
+ * pageNotFound_handling used to return an empty page if the specified URL could not be retrieved (old gremlin)
+ * "Clear FE cache" didn't clear "typo3temp/cache_pages" directory
+
+Currently unsupported
+=====================
+
+ * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
+ -> Workspaces and Versioning are currently not supported
+ -> FlexForms using the TCA type 'inline' are currently not supported/tested
+ -> Import/Export (sysext tx_impexp) might not work correctly in special cases