#  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 `<div>` 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
