# 2.2.2 (2008-05-22) SilverStripe 2.2.2 was released on '''22 May 2008''' and had the following changes: ## Features and Enhancements * Set svn:externals for new phpinstaller release tags/2.2.2 (changeset 54973) * Disable / fix flash uploading (changeset 54959) * Fixed php/code snippets in forum posts (changeset 54619) * BUGFIX #2504 - Fixed translation interface not working in CMS (changeset 54472) * Removed references to 'mot' folder in code (changeset 54407) * #2501 + #2500 - Fixed notice-level errors in editable forms (changeset 54402) * #2482 - Fixed newsletter unsubscribe (changeset 54215) * #2447 - Bug in editing comment (changeset 54212) * Don't mark a test site as being in dev mode if set_test_servers matches (changeset 53373) * FEATURE: added phpdoc comments to the API calls for customising CMS rebranding (changeset 53216) * BUGFIX: Ticket #2449 - Fixed unsubscribe function - because it's extending ContentController without a data record, we have to hack this by using null in the parent::__construct() - This however, should be refactored to have a data record (page in the CMS) (changeset 53210) * MINOR: PHP notice fix - undefined variable (changeset 53204) * MINOR: Fixed some php notices (changeset 53188) * BUGFIX: Removed display: none for "nolabel" class - this is custom project code, and shouldn't be in sapphire! (changeset 53175) * BUGFIX: Ticket #2455 - Check variable exists before accessing Password index (changeset 53160) * BUGFIX: Removed undefined variable $mem - we include ini_set for memory_limit in main.php instead (changeset 53156) * _t call for EXPORTCSV problem fixed (changeset 53106) * DataReport EXPORTCSV field missing (changeset 53105) * API CHANGE Removed deprecated/incomplete Synchronise class - please do not use for production purposes (changeset 53101) * Made has_one, has_many, and many_many methods more reliable (changeset 53075) * Fix drag&drop in assets and security (changeset 53073) * Make double-redirects a warning rather than an error, since they are usually benign. (changeset 53066) * Don't redirect from /home to / if you've already called a redirection. (changeset 53066) * Fixed ContentController where ->dataRecord is empty (changeset 52719) * Don't strtolower ->action, as it had too many side-effects. (changeset 52452) * #2387 - Fields specified in DataObjectDecor not saved in some cases (changeset 52448) * Newsletter import: only send a change notification email if there are changes to be sent (changeset 52434) * #2378 - Fixed newsletter import (changeset 52432) * Fixed Authenticators to work with r52400 (changeset 52401) * #2299 - Fatal error in specific version of PHP (changeset 52400) * BUGFIX re-initializing tabstrip javascript after ajax-reload in AssetTableField popup (#2309 AssetTableField popup fails after saving) (changeset 52399) * Fix to ManifestBuilder when running site on windows in a directory containing \r or \t or \n (changeset 52398) * #2388 - Fixed CMS search. (changeset 52395) * BUGFIX disable third party browscap by default (#2336) (changeset 52394) * formatting (changeset 52393) * Upgraded SWFUpload to improve CMS uploads (changeset 52392) * Show security id errors on test sites as well as dev (changeset 52391) * Improved behaviour of contentcontrollerInit when extensions are applied to subclasses of SiteTree (changeset 52350) * fix comment admin not working correctly (changeset 52309) * Added LeftAndMain::set_loading_image() for replacing the image shown when the CMS is loading (changeset 52298) * Fix pagecomment links and feeds (changeset 52296) * fix links in RSS feeds (changeset 52295) * don't cache in overridden instance_get(), as the fields are different for subclasses (changeset 52293) * #2314 - Fixed SQLMap implementation so that Group::map() returns appropriate data, and the group dropdown on the access tab works. (changeset 52224) * #2362 - Fixed change password form (changeset 52213) * Add scrollbar to RHS link inserter, so you can see everything (changeset 51973) * Fix to anchor insertion (changeset 51963) * fix php notice (changeset 51938) * Make Object::hasMethod() and Object::__call() case-insensitive, and added tests for it (changeset 51462) * Test for hasMethod (changeset 51461) * Fixes to TestRunner for latest PHPUnit/PHP (changeset 51459) * API CHANGE Allow for tests that don't use the database - don't define a static SapphireTest:: (changeset 51150) * Fixed typo in r51150 (changeset 51151) * Fixed HomepageForDomain behaviour when entering multiple domains (changeset 51436) * API CHANGE Added RestfulService::httpHeader() for setting custom headers on REST requests (changeset 51203) * API CHANGE Added RestfulService::basicAuth() for setting authentication for REST requests (changeset 51203) * API CHANGE Added param to RestfulService::connect(), to allow for requesting of multiple URLs from a single RestfulService object. (changeset 51203) * Updates to usability & IE support of link insertion (changeset 51081) * #2265 Installer falsely claims modrewrite fails (mamp) (merged from trunk, r50698) (changeset 51070) * #2282 Undefined index in install.php (merged from trunk, r50698) (changeset 51069) * #2266 Fresh install of SilverStripe? doesn't let you upload or view images to insert, until you first go into Files and Images area (merged from trunk, r50695) (changeset 51068) * Cleaned up ChangeLog (changeset 51064) * updated changelog for 2.2.2 (changeset 51042) * Added delete from stage button to CMS (changeset 50852) * Added Translations for Danish (Denmark) - thanks to Jesper and Dennis (changeset 50824) * Added Translations for Esperanto - thanks to Wojtek, Donald, Evan and Joop (changeset 50824) * Added Translations for Finnish (Finland) - thanks to Elias, Vesa and Nina (changeset 50824) * Added Translations for LOLCAT - thanks to Wojtek (changeset 50824) * Added Translations for Sinhalese (Sri Lanka) - thanks to Nivanka, Himali and Lakshan (changeset 50824) * Updated several translations in cms/auth_openid/sapphire (changeset 50824) * Added package names for i18n files (changeset 50824) * Reverted patch from r47694 which introduced conditional statements in lang-files (changeset 50824) * Added Translations for Danish (Denmark) - thanks to Jesper and Dennis (changeset 50824) * Added Translations for Esperanto - thanks to Wojtek, Donald, Evan and Joop (changeset 50824) * Added Translations for Finnish (Finland) - thanks to Elias, Vesa and Nina (changeset 50824) * Added Translations for LOLCAT - thanks to Wojtek (changeset 50824) * Added Translations for Sinhalese (Sri Lanka) - thanks to Nivanka, Himali and Lakshan (changeset 50824) * Updated several translations in cms/auth_openid/sapphire (changeset 50824) * Added package names for i18n files (changeset 50824) * Reverted patch from r47694 which introduced conditional statements in lang-files (changeset 50824) * Added Translations for Danish (Denmark) - thanks to Jesper and Dennis (changeset 50824) * Added Translations for Esperanto - thanks to Wojtek, Donald, Evan and Joop (changeset 50824) * Added Translations for Finnish (Finland) - thanks to Elias, Vesa and Nina (changeset 50824) * Added Translations for LOLCAT - thanks to Wojtek (changeset 50824) * Added Translations for Sinhalese (Sri Lanka) - thanks to Nivanka, Himali and Lakshan (changeset 50824) * Updated several translations in cms/auth_openid/sapphire (changeset 50824) * Added package names for i18n files (changeset 50824) * Reverted patch from r47694 which introduced conditional statements in lang-files (changeset 50824) * #2283 Permissions are a bit broken - what happened to all the CMS permissions? (changeset 50957) * #2310 MemberTableField Popup breaks after saving (changeset 50954) * #2310 MemberTableField Popup breaks after saving (changeset 50954) * BUGFIX fixed csv export in MemberTableField by checking for valid database columns when building SELECT statement (changeset 50952) * FEATURE added hasDatabaseField() (changeset 50949) * BUGFIX properly setting $childID in form for newly created items to avoid duplicates after subsequent saving (the form reloaded without the ID connection) (changeset 50947) * Make RSS feed work with objects that don't support AbsoluteLink, such as the forum (changeset 50921) * fixing typo in parameter name $validate --> $validator (changeset 50641) * made $messageType parameter of Validator::validationError optional, and added API docs to explain what (apparently) is going on (changeset 50645) * fixing bug with in-memory child objects not having their parent ID field updated via the ->add() method (changeset 50815) * #2302 - Fixed double-escaping of CTF popup page-navigation links (changeset 50903) * reverted r49775 (accidental removal of "add" feature, its actually not redundant functionality) (changeset 50854) * fixed xhtml error (forgot closing `

`) (changeset 50849) * updated en_US master entities (changeset 50844) * updated en_US master entities (changeset 50844) * updated en_US master entities (changeset 50844) * fixed PHP notices (changeset 50840) * fixed PHP notices (changeset 50838) * formatting, fixed PHP notices (changeset 50836) * fixed PHP notice (changeset 50829) * documentation (changeset 50814) * #2285 - Fixed widget editor (changeset 50812) * added $searchable_fields in preparation for a more generic search implementation, currently limited to Member.php and MemberTableField.php (mainly to fix bugs caused by r49774 and r47856) (changeset 50805) * fixed weird indentation formatting in Member.php (changeset 50805) * Fixed default-setting for link anchor (changeset 50786) * Added 'anchor' option to link inserter (changeset 50783) * Fixed svn:externals (changeset 50776) * Moved externals to used HTTP for 3rd-party friendliness (changeset 50764) * fixed typo (changeset 50729) * added database indexes for AuthorID and PublisherID (changeset 50723) * #2265 Installer falsely claims modrewrite fails (mamp) (changeset 50697) * #2295 - DataObjectSets cannot be iterated over multiple times concurrently (changeset 50683) * #2280 - Fixed XML parsing errors in CTF (changeset 50488) * #2287 - Removed notice-level error when geoip's not installed (changeset 50487) * Fixed newlines in to-do report (changeset 50361) * #2277 - Fixed notice-level error on controllers that are direct subclasses of controller (changeset 50352) * Added support for password and old_password encryption mechanisms if you're using MySQL (changeset 50290) * Small fix for session bugs on Lightspeed server (changeset 50245) * A bit of a hack to fix double-escaped URLs in the CMS. (changeset 50214) * Fixed CMS bottom-navigation after publish, when using the subsites module (or other alternateAbsoluteLink implementors) (changeset 50205) * Fixed password emailing for edited members (changeset 50200) * Allow use of on controller extensions (changeset 50180) * Fixed 4.1-sort-by-group-aggregate query rewriter for sort functions containing columns, eg, ORDER BY if(A,B,C), X (changeset 50179) * Fixed notice level error (changeset 50047) * Fixed bug with BasicAuth enabled on an old database, it was preventing you from visiting db/build (changeset 50031) * Fixed MySQL 4.1 support for situations where we are sorting by a group aggregation function (changeset 49999) * Fixed notice level error (changeset 49999) * fixed caching in getManyManyComponents (see r43848) (changeset 49946) * removed redundant error strings (changeset 49922) * Added a default exception handler. Any uncaught exceptions thrown from application code are now scooped up by the Debug::fatalHandler (changeset 49906) * (changeset 49906) * Still some small problems with displaying stack traces of exceptions because the context array from trigger_error looks quite different from that of Exception::getTrace (changeset 49906) * (changeset 49906) * Also fixed a couple of echo/print bugs in Debug::friendlyError. From the looks of the code there may be more bugs to cleanup here. (changeset 49906) * Fixed Controller::allowed_actions documentation (changeset 49896) * Added to main CMS controllers (changeset 49895) * Removed warning in group admin (changeset 49894) * Improved allowed_actions support for subclassed controllers, such as CMSMain extends LeftAndMain (changeset 49893) * Removed use of deprecated setExtraClass (changeset 49892) * Moved _ss_environment.php include to very top (changeset 49891) * Added deprecation note to BulkLoaderAdmin (changeset 49890) * added $casting for BaseHref() (changeset 49843) * fixed sql-injection (changeset 49834) * Updated AssetAdmin to use TreeTitle() in place of Title for tree generation (changeset 48425) * > Updated TreeTitle() to allow use of alternateTreeTitle() in decorator (changeset 48425) * > Updated File to allow the insertion of extra columns by decorator (changeset 48425) * Updated subject line of warning/error emails (changeset 49732) * Moved folder admin form to Folder::getCMSFields() to let you more easily manipulate the form with a decorator (changeset 49804) * Disabled notice level error until more of the core is compliant (changeset 49803) * Moved CMS page-disabled logic into SiteTree::CMSTreeClasses(), so that it can be more easily customised for specific sites (changeset 48376) * Added Member->SetPassword, a field that lets you have a write-only password field (changeset 46525) * Used Member->SetPassword to create a password column on the MemberTableField for SecurityAdmin (changeset 46525) * Send 'changed password' emails when a user is first created as well as edited (changeset 46525) * Fixed DataObjectSet::insertFirst() - it now uses a numeric key rather than null (changeset 45750) * Create Group::canEdit(), which can be used to filter the SecurityAdmin group list (changeset 45748) * Redirect to legislation section when there are only legislation pages (changeset 45654) * Allow selection of folder when inserting files / images (changeset 45654) * Minor bugfixes (changeset 43980) * Added additional checks so that the email doesn't get sent to new members, or on the test site. (changeset 43384) * Used Object::create() to create email instances sent by the system. (changeset 43342) * Added BaseHref() to Member_ChangePasswordEmail so that the email shows the domain name of the current subsite. (changeset 43340) * Tidied up lost password form. (changeset 43339) * Added Member::$notify_password_change (changeset 43336) * Added missing ChangePasswordEmail.ss (changeset 43335) * Saving the member with a changed password now sends an email to the member. (changeset 43334) * Updated AssetAdmin to use TreeTitle() in place of Title for tree generation (changeset 48425) * > Updated TreeTitle() to allow use of alternateTreeTitle() in decorator (changeset 48425) * > Updated File to allow the insertion of extra columns by decorator (changeset 48425) * Updated core to allow for subsites restriction of filesystem: Folder::getCMSFields() is now responsible for generating the folder form. (changeset 48401) * Folder::syncChildren() now exclusively uses DB::query() calls instead of DataObject::get(). (changeset 48401) * Moved CMS page-disabled logic into SiteTree::CMSTreeClasses(), so that it can be more easily customised for specific sites (changeset 48376) * Removed redundant Add Member button at the top-right (changeset 46526) * Added Member->SetPassword, a field that lets you have a write-only password field (changeset 46525) * Used Member->SetPassword to create a password column on the MemberTableField for SecurityAdmin (changeset 46525) * Send 'changed password' emails when a user is first created as well as edited (changeset 46525) * Changed call to ViewableData::castingHelperPair to fix sort not being set by getNewItem (changeset 43365) * Added LeftAndMainSubsites->augmentNewSiteTreeItem that allows extensions of LeftAndMain to provide the current SubsiteID for the new item. (changeset 43321) * CMSMain->getNewItem now calls $this->extend('augmentNewSiteTreeItem', $newItem); (changeset 43321) * Changed DataObject to be a subclass of ViewableData instead of Controller, so that it can't be hacked by visiting Page/write. (changeset 49767) * reverted accidental delete in r49761 (changeset 49766) * e-This line, and those below, will be ignored-- (changeset 49766) * (changeset 49766) * A svn://svn.silverstripe.com/silverstripe/open/themes/blackcandy/trunk/blackcandy_blog (changeset 49766) * reverted accidental delete in r49760 (changeset 49765) * revert accidental commit in r49763 (changeset 49764) * readding blackcandy (reverted r49761, r49762) (changeset 49763) * Removed unused blackcandy blog (changeset 49762) * Removed unused themes (changeset 49761) * #2200 - Allowed subclasses in ComponentSet::add/remove (changeset 49715) * #1878: wakeless: Supress disabled errors on live site (changeset 49709) * Merged r49479 from branches/2.1.1-madebyme (changeset 49658) * Merged r46528 from branches/2.1.1-madebyme (changeset 49657) * Bypass debug handler for E_USER_NOTICE as well as E_NOTICE (changeset 49593) * #2203 - ManifestBuilder regex (changeset 49448) * fix caching in complex table field (changeset 49447) * added setFields()/setActions() (changeset 49386) * formatting (changeset 49386) * reverted accidental commit (changeset 49352) * added gwgtn theme files (changeset 49349) * Added SS_DEFAULT_ADMIN_USERNAME/PASSWORD defines to conf/ConfigureFromEnv.php (changeset 49308) * #177 - Don't let people create a page name the same as a class name (changeset 49193) * Disabled unused files list, as it uses way too much memory (changeset 49192) * #1921 - Make DataObject::write() call the recursive write on components, even when the dataobject itself hasn't changed (changeset 49187) * #1956 - Show Title in RSSFeed (changeset 49184) * simon_w: #1954 - Added object caching methods (changeset 49182) * #1951 - Fix newsletter subscription form (changeset 49181) * Removed clone behaviour from Form::Fields() (changeset 49180) * Added SubscribeSubmission template to get subscribeforms to work (changeset 49177) * Added default SubscribeForm.ss (changeset 49176) * Fixed ManifestBuilder execution in restrictive openbasedir environments (changeset 49172) * #1987 - Fixed sitename/?url=sitename bug (changeset 49151) * #2016 - Added all the types of error pages (changeset 49150) * #2137 - Changed email encoding from iso-8859-15 to utf-8, in compliance with other parts of SilverStripe and IMC recommendations (changeset 49149) * fixed i18n::get_owner_module() calls on classes with _s (changeset 49148) * Improvement to link-insertion logic when selecting text that doesn't have a link (changeset 49147) * #1881 - Duplicated words in error message text (changeset 49066) * documentation (changeset 49033) * documentation (changeset 49032) * fixed typo in doc comment (changeset 48972) * fix sql error on comments section (changeset 48970) * #2088 - Notice level error on compare versions (changeset 48969) * #2005 - Fixed seamonkey browser recognition (changeset 48968) * fix upload folder (changeset 48857) * #2212 / #2201 - Fix notice-level errors in PageView updates (changeset 48941) * mrickerby: #2201 - fixed PageView's recording of referrers. (changeset 48912) * For some project we need server run some scheduled task yearly, such as upgrade high school students for GSO. (changeset 48906) * updating form in ctf-popup after saving (including validation-errors and fields that have may changed on the serverside, e.g. ImageField) (changeset 48874) * not all cms panel has sitetree, so better check if($('sitetree')) exsit, otherwise IE broken with all genericDataAdmin panel. (changeset 48869) * adding "delete" class to DeleteImageForm (changeset 48865) * compressed ImageField layout to fit in CTF-popup (removed "click here to remove" label) (changeset 48855) * removed iframe-borders for IE (changeset 48855) * fixed "object not found" error in ie6 (somehow Observable is not applied to sitetree at window-load) (changeset 48847) * Polishing EducatorAdmin's Students Tab (changeset 48844) * locking down URLs: image/iframe, image/flush, image/transferlegacycontent (changeset 48835) * Recover ExportForm for genericDataAdmin Which is needed for CRM CreateCommunication (changeset 48792) * Add ability to choose which file to upload to in a FileField (changeset 48785) * Fixed illegal reference to this (changeset 48688) * Put MenuTitle in the CMS LHS tree instead of Title (changeset 48462) * (changeset 48451) * Fix incorrect text boxes being set on an ajax request (changeset 48178) * Allow many-many complex table fields to be used on the reverse side of the join (belongs many many) (changeset 48082) * Removed ranking tools from DataObjectSet (changeset 47743) * implemented equal values (changeset 47459) * (changeset 47454) * Added simple to-do list facility to SiteTree (changeset 47172) * Added title attributes to the SilverStripeNavigator messages (changeset 47156) * Fix bug when duplicating pages with reorganise enabled (changeset 48507) * Added paste plain text and paste from word buttons to the HtmlEditorField in the CMS (changeset 47155) * Added 'duplicate page and children' context-item in addition to 'duplicate just this page' (changeset 48503) * Fixed context menus in CMS (changeset 48474) * Fixed 404 on spacer.gif (changeset 47190) * Fixed bug in todo list reprot (changeset 47174) * Added simple to-do list facility to SiteTree (changeset 47172) * Added paste plain text and paste from word buttons to the HtmlEditorField in the CMS (changeset 47157) * Added paste plain text and paste from word buttons to the HtmlEditorField in the CMS (changeset 47155) * #2005 - Fixed fatal error due to browscap.ini capitalisation error (changeset 48514) * Updated windmill tests - sleeps and waits (changeset 48431) * Added in_array_recursive() to ArrayLib, for recursively checking an array with nested arrays (changeset 48423) * fix the bug that initialises with preloaded selected items with right hide/show (changeset 48419) * Added sapphire/conf/ConfigureFromEnv.php for making use of _ss_environment.php (changeset 48359) * Fixed formatting of code, and added some documentation on what the source for this field should be (changeset 48326) * (changeset 48313) * Fix sorting in complextablefield (changeset 48257) * wakeless: #2144 - More memory-efficient version of admin/publishall (changeset 48242) * #1736 - Make Security::get_encryption_algorithms() a dynamic function again. (changeset 48227) * Fixed comment. (changeset 48200) * Fixed bug: Page class wasn't shown in add-page dropdown (changeset 48176) * Fixed admin credentials setting from 'make install' and 'make test' (changeset 48175) * Added the contents of assets/ to svn:ignore (changeset 48175) * Added Windmill test for editing content (changeset 48173) * Re-enabled session_regenerate_id() (changeset 48172) * renamed escapeFlagForField() to escapeTypeForField(), updated documentation (changeset 48168) * Deprecated use of DBField 'Text' for saving HTML-Content (added check in HTMLEditorField->saveInto()) (changeset 48164) * Added ViewableData->escapeFlagForField() to determine if the record-field needs escaping (currently only 'xml' supported) (changeset 48164) * Refactored session_regenerate_id to make it easier to disable in some circumstances. (changeset 48161) * Temporarily disabled session_regenerate_id so that Windmill can work. (changeset 48161) * Removed notice level errors for better cli-script operation (changeset 48153) * Better error for cli-install errors, uses exit(1) to stop make (changeset 48152) * Added note about Makefile so that people don't think they should use that for normal installation. (changeset 48133) * Allow calling of installer by running 'make install' from an environment with an _ss_environment.php file. This is important for continuous integration. (changeset 48132) * formatting (changeset 48113) * formatting (changeset 48112) * removed dropDatalessFields() - needs serious refactoring before going into core again (changeset 48110) * removed dropDatalessFields() - needs serious refactoring before going into core again (changeset 48109) * renamed $wantDefaultAddRow to $showAddRow (changeset 48105) * fixed escaping errors in default homepage content (changeset 48104) * Added Makefile so that you can execute 'make test' in sapphire and it will run tests. (changeset 48100) * Added support for array in _ss_environment.php for specifying URLs to use for cli-script.php (changeset 48100) * Improved the Behaviour.addLoader() method to play more nicely with tools such as windmill (changeset 48086) * fix bug: when no source items found, the table should still show and it should works as adding new records (changeset 48085) * Fixed the $hide_ancestor static on SiteTree subclasses so that it actually works. (changeset 48056) * Fixed login test (changeset 48049) * Added initial windmill test (changeset 48042) * Fix php notice (changeset 47985) * FIx php notice (changeset 47982) * Fix autocompletion in Security Admin (changeset 47956) * #892 - Error attaching an existing folder to an ImageField (changeset 47948) * Fix spelling mistake (changeset 47947) * Remove having clause as it can't be used (changeset 47946) * simon_w: #2122 - Bug in PageComments class (Security) (changeset 47937) * #2058 - Installer does not escape passwords in _config files (changeset 47910) * converted TODO into @todo for better PHPDocumentor support (changeset 47891) * Fix i18n errors (changeset 47890) * #2094: Make ContentNegotiator send XHTML to the W3C validator (changeset 47882) * Fix externals (changeset 47881) * Fix DataObjectSet constructor breaking with associative arrays (changeset 47880) * simon_w: #2118 - When removing a value from an enum, set affected rows back to the default (changeset 47877) * simon_w: #2098: Fixed notice level error (changeset 47876) * #1874 - generated .htaccess lacks "Rewritebase" (changeset 47875) * fix wrong warning info: Director -> Debug (changeset 47858) * rbarreiros: 019 - Lost Locale when translatable string not found (changeset 47857) * rbarreiros: #1907 - Patch for more i18n strings (changeset 47856) * #1959 - You can't reorganise pages without creating pages (changeset 47855) * Don't fail in i18n::include_by_class if the module isn't translatable (changeset 47854) * Remove debug message (changeset 47847) * Added $SecurityID for templates (changeset 47846) * lperera: #1975 - Improvements to RestfulService (changeset 47844) * #2003: Don't close img and br tags on HTMLText.Summary (changeset 47843) * Fix syntax error (changeset 47842) * Error checking in i18n::include_by_class shouldn't complain if mysite/lang doesn't exist - only if a module doesn't have internationalisation options. (changeset 47841) * Reverted 47595, are it broke $defaults (changeset 47840) * rbarreiros: #1918 Translate newsletter and other strings (changeset 47839) * Fix building manifest before database is created (changeset 47838) * #1352 - Better handling of memory limit (changeset 47836) * #1212 - Show the saved value of EditableEmailField.SendCopy (changeset 47832) * #1352 - Better handling of memory limit (changeset 47831) * Allow insertion of `` tags that refer to external domains (changeset 47827) * Add alt= to any images that don't have alt tags (changeset 47827) * Improvements to API docs (changeset 47826) * documentation (changeset 47815) * allowing object-parameters in DataObjectSet and ArrayData, added ArrayData::object_to_array() (changeset 47808) * added is_associative() (changeset 47807) * added lc_XX locale for LOLCAT (changeset 47813) * Improved API documentation (changeset 47806) * Improved API documentation (changeset 47805) * Moved test control files into sapphire/testing, so that sapphire/tests can be ignored by the documentor. (changeset 47804) * Use lighter version of browscap.ini (changeset 47802) * #1088 - attachments cannot be emailed from mac or windows systems (changeset 47800) * #172 - Reorganise : new page (changeset 47797) * Fix php notice (changeset 47792) * API Documentation updates (changeset 47773) * Added tests for DataObject (changeset 47767) * Take orderby clause into account when caching in DataObject::get_one() (changeset 47756) * Fix caching in DataObject::get_one() (changeset 47755) * Remove HAVING clause from methods where it doesn't make sense to have them (changeset 47754) * set $template and $itemClass to public (according to parent implementation) (changeset 47748) * fixed formatting (changeset 47748) * fixed getParentIdName() call in DetailForm() - paramter-order was wrong (changeset 47747) * better checking in saveComplexTableField() to avoid PHP-notice (changeset 47747) * Fix YAML many_many/has_many relationships (changeset 47746) * YAML comma seperated => lists should work on has_meny relationships as well (changeset 47739) * Added package tags and docblock info for API documentation (changeset 47733) * Fixed whitespace (changeset 47733) * Updated API documentation package tags (changeset 47732) * Fixed some whitespace (changeset 47732) * Removed unnecessary file CMSHelp (changeset 47729) * Removed unnecessary class Staged (changeset 47725) * Fix stack trace on objects that don't extend the Object class (changeset 47723) * PDODatabase got the wrong end of the stick - Database::createDatabase() shouldn't need any arguments. Fixed this in the core class and MySQLDatabase, but PDODatabse still needs fixing. (changeset 47698) * Fixed TestRunner (changeset 47699) * Added paste plain text and paste from word buttons to the HtmlEditorField in the CMS (changeset 47155) * Added paste plain text and paste from word buttons to the HtmlEditorField in the CMS (changeset 47155) * wakeless: #1976 - DataObject queries the database for child elements when it hasn't been serialized (changeset 47695) * #1666 - Interface translations don't show in footer (changeset 47694) * Fix title and description in RSS feeds (changeset 47688) * Update copyright to 2008 (changeset 47657) * update copyright to 2008 (changeset 47654) * Update copyright to 2008 (changeset 47653) * Added release date (changeset 47430) * Updated Changelog (changeset 47262) * Updated ChangeLog (changeset 46870) * add function fieldByName (changeset 47479) * made breadcrumbs-delimiter configurable (changeset 47634) * Reversed isset() change which was causing some side effects (changeset 47602) * Fixed PHP notice undefined index - $messageSet['alreadyLoggedIn'] (changeset 47600) * Fixed ID undefined PHP notice error (changeset 47595) * removed DetailForm() (was just needed to set custom class which is now in $popupClass), updated saveComplexTableField() to reflect parent class code (changeset 47593) * added $popupClass to avoid duplication, getting basedataclass for existing children in DetailForm() (in case we're dealing with different subclasses) (changeset 47592) * more solid ID-detection in php() (changeset 47591) * additional checks before foreach() loop (changeset 47589) * fixed PHP notice in implementorsOf (changeset 47588) * #2069 Locale file /lang/en_US.php should exist (Windows) (changeset 47587)