Changelog

Here is a list of all changes that have been made so far. Contao draws a distinction between major releases (e.g., from version 3 to version 4), minor releases (e.g., from version 3.4 to version 3.5), and bug fix releases (e.g., from version 3.4.4 to version 3.4.5).

Go back

================================

Contao Open Source CMS Changelog

Version 2.10.4 (2011-12-30)

  • Fixed: the Environment class did not always return the correct script name (#3603)
  • Fixed: close the connection after sending a file to the browser (#3602)
  • Fixed: the new Ajax cron trigger did not work in IE8 due to missing Date.now() support (#3681)
  • Fixed: do not block ressources required by the Google website preview in the robots.txt file (#3688)
  • Fixed: correctly update the cache after a new template has been created (#3676)
  • Fixed: correctly handle HTML comments in inline JavaScripts (#3696)
  • Fixed: get the next autoincrement ID when importing a theme so deleted themes can be restored (#3604)
  • Fixed a few minor issues

Version 2.10.3 (2011-11-07)

  • Fixed: the postLogin/Logout hooks broke the save() method of the model (#3545)
  • Fixed: the style sheet editor did not handle font-family/size:inherit correctly (#3531)
  • Fixed: MooTools changed the default wMode settings for Swiff (#3540)
  • Fixed: the style sheet importer did not handle border-color:transparent/inherit (#3480)
  • Fixed: do not index empty news/event/FAQ/newsletter reader pages (#3511)
  • Fixed: group labels were not always loaded correctly (#3591)
  • Fixed: added a rename() workaround for Windows to the FileCache class (#3390)
  • Fixed: the site structure was not ordered properly for non-admins (#3423)
  • Fixed: custom layout sections were not displayed in "override all" mode (#3460)
  • Fixed a few minor issues

Version 2.10.2 (2011-10-10)

  • Updated: updated TinyMCE to version 3.4.6
  • Fixed: do not remove slashes just because get_magic_quotes_gpc() exists
  • Fixed: CSS units were not always applied when used with global variables (#3464)
  • Fixed: the task deadline field did not show the date picker (#3351)
  • Fixed: do not return empty lines in the compileDefinition hook (#3440)
  • Fixed: the TinyMCE spellchecker did not work anymore (#3487)
  • Fixed: the regexp for validating phone numbers accepted invalid values (#3493)
  • Fixed: added the new HTML5 elements to the valid TinyMCE tags (#3479)
  • Fixed: the style sheet generator did not support absolute URLs (#3512)
  • Fixed: fixed a potential XSS vulnerability (thanks to sschurtz)
  • Fixed a few minor issues

Version 2.10.1 (2011-08-31)

  • Updated: updated TinyMCE to version 3.4.4 (#3329)
  • Added: try to create missing CSS files before throwing the Combiner exception (#3350)
  • Added: make the file extension available in the download(s) templates (#3252)
  • Improved: store the copyright notice in the cached file (#3342)
  • Improved: show the native language name in addition to the translated one (#3283)
  • Fixed: remove single-line comments when minifying inline HTML (#3359)
  • Fixed: events with images had a wrong href in the eventlist (#3370)
  • Fixed: do not store URLs with the "state" parameter as referer (#3365)
  • Fixed: never add "www." to root page domains (#3373)
  • Fixed: the new checkbox and radio button fields were not marked as mandatory (#3389)
  • Fixed: do not store password and textStore field changes in the system log (#3394)
  • Fixed: make sure that "html5" is always in the list of allowed template files (#3398)
  • Fixed: some style sheet fields did not yet accept global variables (#3360)
  • Fixed: the task deadline field did not show the date picker (#3351)
  • Fixed: mark duplicated records with "copy of" (#2938)
  • Fixed: option_callbacks did not handle associative arrays correctly (#3026)
  • Fixed: news and event teasers were not converted to HTML5/XHTML (#3402)
  • Fixed: the onversion_callback was not triggered in editAll and overrideAll mode (#3312)
  • Fixed: fixed two issues when moving pages as normal user (thanks to Andreas Schempp)
  • Fixed a few minor issues

Version 2.10.0 (2011-08-11)

  • Updated: updated TinyMCE to version 3.4.3.2 (#3230)
  • Updated: updated SwiftMailer to version 4.1.1 (#3235)
  • Changed: replaced the runonce.php routine with a more practical one (#2664)
  • Added: added a "getUserNavigation" hook to modify the back end navigation (#2838)
  • Added: added a more accessible accordion template (#3264)
  • Fixed: the values of TinyMCE fields were not saved (#3196)
  • Fixed: the new color transparency settings led to incorrect format definitions (#3199, #3210)
  • Fixed: do not allow to link internally to pages running under a different domain (#2387)
  • Fixed: the request token check broke FancyUpload (#3117)
  • Fixed: support global style sheet variables in RGBA colors (#3259)
  • Fixed: make the syntax highlighter initialization script XHTML compatible (#3242)
  • Fixed: use GET requests to toggle the visibility of an element
  • Fixed: do not remove the cron.txt file when purging system/html (#3292)
  • Fixed: update the templates cache if a file is edited in the templates editor (#3278)
  • Fixed: empty news lists did not show the "currently no items" note (#3221)
  • Fixed: reapplied the id attributes for checkbox and radio button containers (#3269)
  • Fixed: do not generate inactive layout sections (#3273)
  • Fixed: do not show empty comment replies in the front end (#3223)
  • Fixed: parse insert tags in comment replies (#3309)
  • Fixed: do not cache a page if there is a login error (#3171)
  • Fixed: the lost password module did not use the dynamic widget class (#3237)
  • Fixed: sort global CSS variables by key length (#3316)
  • Fixed: verify the channel when subscribing to or unsubscribing from a newsletter (#3240)
  • Fixed: the Safe Mode Hack could not be set up with the install tool (#3215)
  • Fixed: hide the internally used Punycode format from the user (#2750)
  • Fixed a few minor issues

Version 2.10.RC1 (2011-06-23)

  • Changed: make static domains configurable per website root page in the front end
  • Changed: send the form field label instead of its name in raw format (#3065)
  • Changed: send the newsletter preview to the logged in user instead of the sender (#3123)
  • Changed: replaced the back end calendar with the MonkeyPhysics datepicker (#2923)
  • Removed: the acronym tag is no longer supported in HTML5 (#3177)
  • Improved: extended debug mode settings (#3080, #3030)
  • Improved: language-specific error_403 redirects (#2843)
  • Improved: modularized the maintenance module (#2989)
  • Added: added transparency to colors in the style sheet editor (RGBA)
  • Added: added form aliases to reference forms by alias (#3013)
  • Added: replaced editArea with CodeMirror (#3016)
  • Added: added a "notDeletable" flag to the DCA configuration (#3078)
  • Added: added a "generateBreadcrumb" hook to modify breadcrumb menu items (#1771)
  • Added: added an "ifnlng" insert tag as equivalent to the "iflng" tag (#2719)
  • Added: added an "oncreate_callback" and an "onversion_callback" (#2641)
  • Added: make the maximum GD library image dimensions configurable (#2156)
  • Added: do not allow multiple fallback pages per domain (#2826)
  • Added: added an option to reply to comments in the back end (#2881, #2505)
  • Added: added a "renameTo" method to the Folder and File class (#3181)
  • Added: added an option to add custom runonce.php files (#2664)
  • Fixed: the new request tokens did not support working with multiple tabs
  • Fixed: the FAQ links in the comments view were not linking to the correct FAQ (#3144)
  • Fixed: the default style sheets were not loaded when no style sheets were selected (#3138)
  • Fixed: the form headline and explanation elements did not convert the markup (#3160)
  • Fixed: support IPv6 addresses in the Environment class (#3157)
  • Fixed: do not cache pages when a back end user is logged in (#3072)
  • Fixed: descending sorting of the event list did not reverse the event order (#3098)
  • Fixed: TinyMCE did not load when a field was in a subpalette (#2461)
  • Fixed: the Input class did not filter "expression()" (#2865)
  • Fixed: the "listTables()" and "listFields()" methods were always cached (#3188)
  • Fixed: the page cache timeout was limited to 24 hours (#3167)
  • Fixed: the style sheet generator did not render correctly in debug mode (#3520)
  • Fixed a few minor issues

Version 2.10.beta1 (2011-06-01)

  • Updated: updated TinyMCE to version 3.4.2
  • Updated: updated SyntaxHighlighter to version 3.0.83 (#2459)
  • Updated: updated MooTools to version 1.3.2 (#2573)
  • Updated: updated mediaboxAdvanced to version 1.3.4
  • Changed: the back end now uses HTML5 instead of XHTML
  • Changed: moved auto-generated style sheets to system/scripts
  • Changed: support more complex conditional comments by making the field a text field
  • Changed: make "email" a unique field for users and members (#2493)
  • Changed: do not show subpages if the website root page is not public (#2425)
  • Changed: make the ellipsis string of the String class configurable (#2700)
  • Changed: moved the encryption logic from the DataContainer to the Widget class (#2603)
  • Changed: support passing a custom encryption key to the encrypt/decrypt method (#2979)
  • Changed: moved the "postLogin" and "postLogout" hooks to the User class (#2710)
  • Improved: optimized the back end page speed (#2400)
  • Improved: added CSS and JS combining to the back end front end
  • Improved: standardized event and newsletter templates (#2889)
  • Improved: minor CSS3 enhancements in the back end
  • Improved: display back end pop-up windows using the mediabox
  • Improved: visualize completed password fields in the back end (#2902)
  • Improved: make checkbox and radio button groups more accessible (#1257)
  • Improved: speed up the getChildRecords() method (#2475)
  • Improved: added a better poor man's cron implementation (#2616)
  • Improved: improved the __autoload() class (#3089)
  • Improved: improved the link insert tag to support external links (#2842)
  • Improved: the database installer now support multi-column primary keys (#112)
  • Added: added an option to specify URLs for static content (#2399)
  • Added: highlight the active module in the back end navigation (#2941)
  • Added: optionally disable the periodic command scheduler (#2960)
  • Added: added a FIND_IN_SET() method to the DBAL (#2383)
  • Added: optionally minify the page markup before it is sent to the browser (#2982)
  • Added: added a default IE6 warning message (browser out of date)
  • Added: added an option to choose between HTML and XHTML output in the front end
  • Added: add CSS classes to the body tag depending on the client's OS and browser
  • Added: added collapsible groups to the install tool (#2857)
  • Added: added CSS3 support to the style sheet editor (uses CSS3PIE)
  • Added: added media query support to the style sheet generator (#2535)
  • Added: added visual hints to TRBL fields (#3045)
  • Added: added a warning to the site structure if there is no language fallback page (#2950)
  • Added: added the classes "first", "previous" etc. to the pagination li elements (#2988)
  • Added: added an option to generate XML sitemap URLs with https:// (#2763)
  • Added: added an option to feature/unfeature news items via Ajax (#2506)
  • Added: mark the selected day in the calendar with the CSS class "selected" (#1784)
  • Added: added the event template names as CSS class (#2515)
  • Added: add the news article image as enclosure to the RSS feed (#2924)
  • Added: added an option to remove a session parameter (#2786)
  • Added: added insert tags to output the URL of news and calendar feeds (#2561)
  • Added: added a "parseTemplate" hook which is triggered before a template is parsed (#2582)
  • Added: added the CSS class "protected" to protected pages in the navigation menu (#2844)
  • Added: added an "updatePersonalData" hook to the "personal data" module (#2313)
  • Added: added an option to the table element to use the left column as row headers (#2869)
  • Added: add the mime type as alternative text to mime icons (#2954)
  • Added: added a new method Controller::getForm() to insert forms in templates (#3013)
  • Added: added a new insert tag "insert_form" to insert forms (#3013)
  • Added: added a language-specific short names length for days and months (#2874)
  • Added: added the method "getSizeOf" to the Database class (#2726)
  • Added: added PNG optimization to the image resize function (#2426)
  • Added: added global style sheet variables
  • Added: added autocomplete="off" to back end password fields (#2835, #3019)
  • Added: optionally ignore dynamic date parameters in the event list (#2559)
  • Added: replaced the referer check with a request token system
  • Fixed: do not add $objRow->protected in tree view by default (#2915)
  • Fixed: convert relative external image URLs in newsletters (#2895)
  • Fixed: not all option callbacks worked correctly in override multiple mode (#2976)
  • Fixed: make the Input class return null if a variable is not set (#2570)
  • Fixed: clear the output buffer befor sending a file to the browser (#2678)
  • Fixed: prevent session locking during downloads (#2804)
  • Fixed: modify the Config class to allow nested calls to getInstance() (#2706)
  • Fixed: make getReadableSize() units translateable (#2658)
  • Fixed: the link insert tag did not handle redirect and forward pages (#2972)
  • Fixed: pages excluded in the sitemap did appear in the Google XML sitemap (#2811)
  • Fixed: fixed the issue with lost newsletter subscriptions (#2779)
  • Fixed a few minor issues