# 2.2.4 (2009-03-20) ## Features and Enhancements * ![rev:65263] Default permission failure message set can be changed * ![rev:73365] Text->FirstParagraph?() now works for `
` containers in HTML, as you may not always have paragraph tags. * ![rev:73272] Added Director::is_relative_url() and Director::is_site_url() * ![rev:69634] After a javascript validation error from a form submission, focus on the first errored field ## Bugfixes * ![rev:73367] Allow translation of front-end content into all languages, not just common ones (Merged from r64943) * ![rev:73347] Removed canEdit() call that doesn't exist in SecurityAdmin::savemember() * ![rev:73319] Added missing action 'DeleteImageForm' to Image::$allowed_actions * ![rev:73305] Added missing action 'EditImageForm' to Image::$allowed_actions * ![rev:73302] Fixed too strict permission checking on Image::$allowed_actions. Replaced broken * permission check with explicit method names * ![rev:73298] Fixed array to string conversion caused by patch committed in r73272 * ![rev:73295] Validating $_FILES in Image::loadUploadedImage() (Original patch was applied to Upload->validate() in trunk - r73254) * ![rev:73294] Validating $_FILES in Folder::addUploadToFolder() (Original patch was applied to Upload->validate() in trunk - r73254) * ![rev:73292] Fixed undefined variable $backURL that should've been $_REQUEST['BackURL'] * ![rev:73282] Using $allowed_actions in ImageEditor (Merged from r73248) * ![rev:73280] Using $allowed_actions in Image_Uploader (Merged from r73255) * ![rev:73279] Validating $_FILES in File::loadUploaded (Original patch was applied to Upload->validate() in trunk - r73254) * ![rev:73278] Existence check for Member autologin token (Merged from r73253) * ![rev:73276] Checking for Director::is_site_url() before redirecting in Controller->redirectBack() and MemberLoginForm (Merged from r73252) * ![rev:73273] Added isDev() and Permission::check() directives to DatabaseAdmin (Merged from r73251) * ![rev:73272] Validating $_FILES array in Director::direct() * ![rev:73271] Using auto-escaped get_by_id() in CommentAdmin and SecurityAdmin (Merged from r73247) * ![rev:72220] changed target blank to only exist by default for files * ![rev:69598] Corrected layout of Security/lostpassword and Secuirty/changepassword pages to not show a glitchy main menu, ie, matches Security/login * ![rev:69138] Fix readonly checkbox fields always setting the field to true * ![rev:65490] Fixed usability issue with CalendarDateField required field validation. Slightly over-coupled; resolve that in the jQuery validation rewrite. * ![rev:65258] Fixed ComplexTableField showing export link correctly * ![rev:65219] Fixed i18n entity problem with TableListField_Item.ss * ![rev:69594] Corrected changed-password email layout * ![rev:67482] Merged db/build fix for auto_increment * ![rev:65473] Preserve BackURL get-variable on failed log-ins * ![rev:65488] Removed 'Welcome back, FirstName', message that appears if you log-in, out, then in again * ![rev:66552] Make sure only fields that exist can be autocompleted on MemberTableFields, and never autocomplete on password. (merged from branches/2.3) * ![rev:69440] forced tinymce to keep iframes in html rather then deleting them * ![rev:66769] Reverted r66440 - this was causing too many bugs * ![rev:66479] Fixed error on CommentAdmin * ![rev:66440] Merged r57599 from branches/roa