Follow-up to #16848: Added link to buzz.typo3.org article about changes to CSH in...
[Packages/TYPO3.CMS.git] / NEWS.txt
1 ************************************************************************
2 CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5
3 (for technical details see ChangeLog)
4 ************************************************************************
5
6 Changes in 4.5 pre-releases
7 ===========================
8
9         * All additions to alpha3 and beta1 have been documented here:
10           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450alpha3
11           http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta1
12
13         This information will be merged in this NEWS.txt below before the
14         final release.
15
16 General
17 =======
18
19         * 4.5 will be the first official TYPO3 release with LTS (long term support)
20         * A Sprite Generator was added. This allows you to create your own
21           sprite files, also core can generate the files if some new icons
22           were added (#15079).
23         * When TYPO3 runs with two different domain names for the FE and the
24           BE, it is now possible to set accordingly different cookie domains
25           using $TYPO3_CONF_VARS['FE']['cookieDomain'] and
26           $TYPO3_CONF_VARS['BE']['cookieDomain'].
27         * Pages of type "Shortcut" can now also link to the parent page, not
28           only to the first or a random subpage.
29         * The media element now has a core wizard for rewriting URLs. This
30           allows the user to copy the URL from browser (eg a youtube URL like
31           http://www.youtube.com/watch?v=pkA9qw80xO0) and use
32           it in the media element as URL. Currently supported platforms:
33           youtube, dailymotion, sevenload, vimeo, clipfish, google,
34           metacafe, myvideo, liveleak and veoh.
35         * A improved version of misc/advanced.htaccess provides more accurate
36           and up-to-date information and is a real working sample on how to setup
37           your Apache to server TYPO3 pages. This setup is now also used in the
38           introduction package as-is.
39
40
41 Backend
42 =======
43
44         * The frameset was removed. This makes the Backend a lot faster.
45           Now the navigation tree also can be resized. The new backend works
46           using the ExtJS viewport, providing an easy and unified interface
47           to manipulate the content of the different panels.
48         * The user can decide the type of each page created in the
49           "Create multiple pages" Wizard. And the wizard can create more
50           than 9 pages at once.
51         * When copying or translating content elements, the copy /
52           translation will now default to be "hidden". In order for editors
53           not to loose track of copied elements the default for the checkbox
54           "show hidden elements" is now *on*. This behaviour can be modified
55           by adding this to typo3conf/extTables.php:
56                 $TCA['tt_content']['ctrl']['hideAtCopy'] = FALSE;
57         * All system extensions from typo3/mod were moved to real system
58           extensions. These modules are:
59                 - Extension Manager
60                 - List module
61                 - Filelist module
62                 - Info module
63                 - Access module
64                 - Workspace module
65           List module and Extension Manager are set to required extensions,
66           but it is possible to overwrite this setting in localconf.php eg
67           if you want to deinstall the Extension Manger. Make sure you visit
68           the Update Wizard!!!
69         * The recycler was refactored and has now the same skin as the rest
70           of the BE.
71         * DB check -> page tree submodule was removed (module lowlevel).
72         * RSA Auth now works also with special chars.
73         * Clearing cache now is logged (#15305).
74         * A hook now allows postprocessing of filelist and TCEforms files
75           operations (#15192 and #15221). Typical use-case:
76           - Allow editors to upload any picture (e.g., 10 Mpixels) as they
77             don't know how to resize the pictures or do not have the software
78           - Prevent fileadmin to be overflooded with huge pictures which
79             will never be used in their original size
80           - Automatically resize "huge" pictures after the upload
81           Extension using it already:
82           http://forge.typo3.org/projects/show/extension-image_autoresize
83         * New TS config option to disable the "Show secondary options"
84           checkbox (#13797). In User-TS, you can set:
85           options.enableShowPalettes=0 to see this feature in action.
86           Default is still "1" like it used to be.
87         * The cron syntax interpreter of the Scheduler was entirely refactored.
88           It now supports the full range of cron syntax features as can be found
89           in Unix manual pages.
90
91
92 Frontend
93 ========
94
95         * FE login now allows to show the logout form direct after login.
96
97
98 Extbase / Fluid
99 ===============
100
101         * Fixed Extbase Caching Bug.
102         * All methods trying to find an object by uid now ignore the
103           storagePid. This changes the behavior of argument mapping and the
104           way extbase fetches 1:1 relations. Resolves #5631. You should not
105           experience any negative side-effects of this change, i.e. if your
106           extension worked before, it will definitely after this change.
107           However, it makes the record handling more robust.
108         * Performance improvements in
109           TypoScript::convertTypoScriptArrayToPlainArray.
110         * Fluid contains many new features you might want to start using.
111           There are some changes that require special attention in case you
112           created custom condition ViewHelpers or if you call renderSection()
113           and renderWithLayout() from Tx_Fluid_View_TemplateView.
114         * Check out these ChangeLogs for more details:
115           - typo3/sysext/extbase/ChangeLog.txt
116           - typo3/sysext/fluid/ChangeLog.txt
117
118
119 Compatibility
120 =============
121
122         * See typo3/sysext/fluid/ChangeLog.txt for some breaking changes in
123           Fluid.
124         * See typo3/sysext/extbase/ChangeLog.txt for a fix that might break
125           certain setups (caching bug fixed, might break extbase extensions
126           that setup their own TS configuration manually)
127         * The API for registering additional cache frontends or backends has changed.
128           As of TYPO3 4.5 only the classname needs to be specified in favor of both
129           path to the php file and the classname. Instead the class needs to be
130           registered for autoloading. See #15586 for details.
131           Example:
132           New:
133           $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='tx_myext_cache';
134           Old:
135           $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='/path/tx_myext_cache.php:tx_myext_cache';
136
137
138 Development
139 ===========
140
141         * There is a new setting that shows all SQL queries in debug
142           (#15425): $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2;
143         * Contrib libraries can be replaced now via hook (#15218). This
144           allows to test with updates of these libraries. Demo extensions
145           can be found here:
146                 http://forge.typo3.org/projects/typo3v45-projects/files
147         * Catch all ExtDirect Exceptions and show them in the DebugConsole.
148           It now also allows you to call debug() (#15513).
149         * DebugConsole now also catch console-calls from Javascript if no
150           console is available. This allows eg debug prints in browsers
151           having no console like the IE
152         * ExtDirect is available in the frontend now (#15754):
153           http://wiki.typo3.org/ExtDirect
154         * t3lib_div now provides two functions setSingletonInstance and addInstance
155           that will set the objects to be returned by makeInstance. (#16267)
156           This will allow unit tests to inject mocks into makeInstance.
157           In addition, there now is a function purgeInstances that makes
158           makeInstance return fresh instances (singleton as well as non-singleton).
159         * CSH for FlexForms is handled more cleanly but requires adjustments.
160           This has an impact in particular for FE plugins. To continue displaying
161           the CSH for their FlexForm, the CSH file must be declared
162           as for other elements, i.e.
163
164           t3lib_extMgm::addLLrefForTCAdescr('somekey', 'EXT:myext/locallang_csh.xml');
165
166           For more details, in particular how the key is defined, see:
167           http://buzz.typo3.org/teams/core/article/getting-ready-for-45-changes-in-csh-for-flexforms/
168
169
170 TypoScript
171 ==========
172
173         * stdWrap now has a new feature: .numberFormat (#13815)
174         lib.myPrice = TEXT
175         lib.myPrice {
176                 value = 0.8
177                 numberFormat {
178                         decimals = 2
179                         dec_point = ,
180                 }
181                 noTrimWrap = || $|
182         }
183         # Will result in "0,80 $"
184
185         * GIFBUILDER has a new feature: ELLIPSE (#2049). Example:
186         file  =  GIFBUILDER
187         file  {
188                 XY  =  200,200
189                 format  =  jpg
190                 quality  =  100
191                 10  =  ELLIPSE
192                 10.dimensions  =  100,100,50,50
193                 10.color  =  red
194         }
195         * Added easy interface to integrate lightbox style image enlargement
196           in the frontend. Just set some constants in the "CONTENT" part of
197           css_styled_content and your images will get attributes added that
198           are needed for lightbox JS frameworks to work out of the box.
199
200
201 Database API / DBAL
202 ===================
203
204         * Prepared queries are now part of the TYPO3 database API (#15457).
205           The API is mostly based on PDO's method naming and currently
206           supports SELECT queries. TYPO3 will progressively use this new
207           database API which is cleaner and quicker when using DBAL.
208           Extension authors are encouraged to use it in their own
209           extensions.
210         * Output of SQL parser when dealing with prepared queries is cached
211           for enhanced performances. To activate this caching if you don't have
212           a memcached server:
213           $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
214           In order to have a much higher cache hit ratio, you should use one
215           or more memcached servers. To activate this enhanced caching, use:
216           $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1;
217           $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['dbal'] = array(
218                 'backend' => 't3lib_cache_backend_MemcachedBackend',
219                 'options' => array(
220                         'servers' => array('localhost:11211', 'otherhost:11211'),
221                 )
222           );
223         * DBAL now supports "FIND_IN_SET()" (#14818) function and maps it
224           correct functions in case usage under AdoDB. Using FIND_IN_SET in
225           listQuery() will provide performance improvements in all areas, as
226           this is used in several places (backend and frontend, for example
227           for checking the group list permissions).
228
229
230 Workspaces
231 ==========
232
233         * There is a new Scheduler task for the automatic publication of
234           workspaces (#14994).  If a publication date has been set for a
235           given workspace, it will be published the next time the Scheduler
236           task runs. Note that automatic "un-publication" still does not
237           work. Replaces non-working CLI script
238           "typo3/mod/user/ws/cli/ws_cli.phpsh".
239         * The workspaces module was completely rewritten and is now based on
240           ExtJS. The usability is enhanced by displaying the information in a
241           nice grid view. Besides that each workspace can now have a customized
242           set of stages which are child records of a workspace record.
243           Make sure to run the upgrade wizard which migrates the hardcoded draft
244           workspace to a real workspace and sets up the new stages.
245         * Inline Relational Record Editing (IRRE) can now also be used for 1:n
246           relations in workspaces.
247         * In order to support custom stages properly it's recommended to change
248            the type of all t3ver_stage fields from tinyint(4) to int(11).
249
250
251 Backend skin
252 ============
253
254         * sprites.css now contains the autogenerated sprites.
255
256
257 Speed improvements
258 ==================
259
260         * Added "compress data" options to DbBackend of the Caching
261           framework (#15141). Enable it like this:
262         $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages'] =
263         array(
264                 'frontend' => 't3lib_cache_frontend_VariableFrontend',
265                 'backend' => 't3lib_cache_backend_DbBackend',
266                 'options' => array(
267                         'cacheTable' => 'cachingframework_cache_pages',
268                         'tagsTable' => 'cachingframework_cache_pages_tags',
269                         'compression' => TRUE,
270                 ),
271         );
272         * Some often used functions of t3lib_div were speed improved.