diff --git a/docs/en/04_Changelogs/2.0.1.md b/docs/en/04_Changelogs/2.0.1.md
deleted file mode 100644
index 9aa04ba18..000000000
--- a/docs/en/04_Changelogs/2.0.1.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# 2.0.1 (2007-04-17)
-
-SilverStripe 2.0.1 was released on '''17 April 2007''' and had the following changes:
-
-## Overview
-
- * Improved layout of UserDefinedForm submissions in CMS
- * Don't show name field on root folder in Assets section
- * Mime types fallback for servers don't have /etc/mime.types
- * mb_string module is now an optional dependency
- * Added strong_create method to Object, as useCustomClass was not working correctly
-
-## Bugfixes
-
- * Sapphire
- * Text->FirstParagraph() now only shows the first paragraph
- * Fixed HTMLText->Summary()
- * Fixed layout issues on IE7 for TreeDropdownField
- * Don't show Akismet errors to user
- * Removed overloaded MemberTableField->sourceItems() that was causing problems
- * Fixed UserDefinedForm submission emails
- * Fixed UserDefinedForm permissions
- * If a file extension doesn't have a maximum upload size associated with it, then allow uploads of any size
- * Fixed a bug with the TreeMultiselectField that prevented it from displaying the checkboxes
- * Made Scheduled tasks concrete so they can be instantiated
- * TableField fixes
- * Fixed security vunerability in search
- * GD::color_web2gd() was using incorrect substr
- * Fixed last link css
- * Fixed duplicate checkbox fields in UserDefinedForm
- * Fixed css in UserDefinedForm
- * CMS
- * Fixed sizing of tabs in CMS
- * Fixed popup for single asset in Files & Images section
- * Fixed link to CMS on default homepage
- * Fixed permissions table in Security section
- * Fixed el no properties error in IE
- * Pressing the flash button a second time now hides the dropdown
- * Installer
- * Fixed MySQL version check
- * Merge with existing .htaccess file
- * Test that mod_rewrite is working
- * Added option to delete installer files after successful install
- * Fixed PHP4 parse error so installer loads and shows correct error message
- * Apache test passes if apache is used but apache php functions are not available
- * SilverStripe needs at least PHP version 5.0.4
diff --git a/docs/en/04_Changelogs/2.0.2.md b/docs/en/04_Changelogs/2.0.2.md
deleted file mode 100644
index c1ae17d74..000000000
--- a/docs/en/04_Changelogs/2.0.2.md
+++ /dev/null
@@ -1,155 +0,0 @@
-# 2.0.2 (2007-07-14)
-
-SilverStripe 2.0.2 was released on '''14 July 2007''' and had the following changes:
-
-## Overview
-
- * BlackCandy is the new default theme
- * Added pagination for page comments
- * Updated date field in CMS-edited forms to use CalendarDateField
- * Added 'open in new window' checkbox to link inserter
- * Added dimension fields when inserting images
-
-## Features and Enhancements
-
- * Much more API Documentation
- * Modules must now have _config.php files in order to be loaded
- * New Classes
- * PermissionProvider
- * Improved Classes
- * CalendarDateField
- * Added a calendar icon
- * CheckboxSetField
- * Prepared for use editing a many-many join in the CMS, popualted with a SQLMap object
- * ClassInfo
- * Added implementorsOf()
- * ContentNegotiator
- * Added set_encoding() to choose a character set other than utf-8
- * DatabaseAdmin
- * Removed populate() as it was a security risk, the initial content is now loaded via requireDefaultRecords()
- * DataObject
- * Added add_extension() for adding decorators in _config.php
- * DataObjectDecorator
- * Added extraDBFields() for modifying the decorated data objects, adding extra database fields
- * Email
- * Added send_all_emails_to()
- * Added cc_all_emails_to()
- * Added bcc_all_emails_to()
- * Replaced sentLiveErrorsTo() with send_errors_to(), for more flexibility
- * Form
- * Added current_action()
- * Added single_field_required()
- * FormField
- * Added Required(), so that you can put asterisks into a form template if you wish
- * GenericDataAdmin
- * Updated to use new permission model
- * LeftAndMain
- * Added second argument to setApplicationName() so that the name in the top corner and the name shown elsewhere can be 2 different strings
- * Permission
- * Added get_codes()
- * Profiler
- * Added trace argument to show()
- * Added profiling scaffolds
- * Added ?profile_trace=1 url variable tool to show a trace on the profiler
- * Sorted the output of profiler
- * Improvements to profiling information
- * TableField
- * Added option to aid putting TableFields inside the ComplexTableField popup
- * TreeDropdownField
- * Added setTreeBaseID(), for showing a sub-tree in your field
- * Javascript
- * Added event.setStyle to prototype_improvements.js
- * Add class text field to image properties dialog in TinyMCE
- * Added ?debug_behaviour=1 URL option for debugging behaviour calls with Firebug
-
-## Bugfixes
-
- * CMS
- * Forms in newsletter & security section were incorrectly submitting when enter was pressed
- * Fixed search in MemberTableField
- * Don't show popup when validation fails in Security section
- * Fixed bug where scrollbars aren't shown in the CMS
- * Let CMSMain be used to manage objects without Sort
- * The help button now redirects to http://userhelp.silverstripe.com
- * Version displayed in CMS now works correctly
- * Fixed CMS action button support when text size increases
- * Added message when report is empty
- * fixed (overrides) to CSS to avoid larger font-size due to em values
- * Fixed tree scrolling and resizing issues
- * Fixed sizing issues with CMS right content area
- * Fixed bug with image insertion
- * Fixed bug where new pages weren't being highlighted in the CMS
- * Fixed bug where the last page in the site tree wasn't being highlighted in the CMS
- * Fixed reordering of groups in security section
- * Improvements to image inserter
- * Sapphire
- * Reduced warnings when E_NOTICE is enabled
- * Fixed validation of date fields in a user defined form
- * Fixed multiple security groups being created when logging in with default admin
- * Fixed permissions for administrating page comments
- * Fixed ContentController::PageComments() method to die if spammers are POSTing form data when comments are disabled
- * Fixed permission checking on PHP 5.0.5
- * Fixed 'cannot access protected property' error in Security section on PHP 5.0.5
- * Fixed javascript validation of forms
- * Fixed error when asp_tags = On
- * Fixed bug where you have a non-required field with numeric validation
- * Added a limit of 20 steps in Breadcrumbs generation
- * Changed SiteTree.Title length from 100 to 255
- * Fixed random password generator in Member::createNewPassword()
- * Fixed BatchProcess to not display an error if no objects could be processed
- * Fixed a bug where a user is redirected incorrectly after logging in
- * Changed temp-folder selection to not leave temp files lying around, and put silverstripe temp files into a silverstripe-cache folder
- * Made guid of PageComments in rss feed unique
- * Removed duplicate XML class
- * Fixed bugs caused by missing html elements
- * Fixed code to remove need for short_open_tag
- * Fixed FileSize generation for sizes of just over 1 meg
- * only show $messageBlock in FormField::FieldHolder() if $Message is existing
- * fixed rightTitle and id in FormField::FieldHolder()
- * Fixed ?isDev=1 mode
- * Set default of sendWarnings on Debug::send_errors_to
- * Fixed formatting of error emails sent from ajax requests
- * Removed debug plumbing from the results of Debug::backtrace()
- * Simplified return data of htmlEmail, an inconsequential internal optimisation
- * Create assets folder if it doesn't exist when uploading a file
- * Fixed bug in SiteTree::NestedTitle()
- * Don't append /home to the home page URL
- * Small fix for windows installations
- * Fixed efficiency problems in Versioned::get_latest_version
- * Fixed File::sync(), to let it recurse into new directories in a single execution
- * Fixed bug with getting form action that was breaking form submission and complextablefield pop-up
- * Fixed SQLMap iteration
- * Simplified EmailField validation error message
- * Fixed some bugs in the debug emailer
- * Reduced amount of ajax-refetching that the TreeSelectorFields do
- * Fix macron support in reports
- * Improved debug message (remove big blocks of redundant data)
- * Allow for the disabling of default buttons. Apply this to CMSMain and GenericDataAdmin in the administration, so that we don't default to clicking the *DELETE* button.
- * Added default value to first arg of permissionFailure(); it's not actually used!
- * Improved handling of EditableFormFields on new UserDefinedForms
- * Improved search results message shown on first load
- * Made calendar control register a date change when the calendar is used
- * Set some good defaults in DataObjectSet::TotalPages() if they have not been set
- * Changes to support forum
- * Require authenficiation to do a db/build on live sites
- * Close directories before trying to remove them
- * Fixed a bug where CheckboxSetField wouldn't save if there was a method the same as the field name
- * Fix multiple "broken" in class attribute of HTML Content
- * Fixed bug with TreeDropdownField when you clicked the expand link 3 or more times, it wouldn't close
- * Fixed bug when editing properties of new text fields
- * Fixed duplicate of UserDefinedForm objects
- * JSParty
- * Fixed a bug where you couldn't always edit the bottom of an WYSIWYG editor field
- * Ensure that WYSIWYG context menu always appears on the screen
- * Javascript performance improvements
- * Fix weird bug in behaviour to do with class.applyToChildren
- * Improved console.log alternative
- * Installer
- * Added option of installing either the default template, or the tutorial template
- * mod_rewrite check now works with http authentification
- * Workaround for 'URL file-access is disabled in the server configuration' using curl for mod_rewrite test
- * Better error message if the installer can't detect the web server
- * Added an alternative .htaccess configuration
- * Less file permissions required by the installer
- * Made deleting the installer files more prominent, it now deletes all the installations files, not just php.
- * MySQL password is now a hidden field.
diff --git a/docs/en/04_Changelogs/2.1.0.md b/docs/en/04_Changelogs/2.1.0.md
deleted file mode 100644
index 404e55286..000000000
--- a/docs/en/04_Changelogs/2.1.0.md
+++ /dev/null
@@ -1,171 +0,0 @@
-# 2.1.0 (2007-10-02)
-
-SilverStripe 2.1.0 was released on '''2 October 2007''' and had the following changes:
-
-## Overview
-
- * Comment administration section, and comment moderation
- * Allow CMS users to limit view/edit access to a page
- * Show an rss link for page comments on each page
-
-## Upgrading
-
-### Too many redirects
-
-A problem occurs of 'too many redirects' or the page just doesn't load (home page) because of these situations:
-
- * Access tab for home page has 'logged in users only', OR
- * NO radio buttons have been set. This happens when upgrading site from old DB.
-
-It's caused by a redirect to Security/login on the home page controller, which is blocked off, so you can't actually
-login, so it infinitely loops a redirect. See http://open.silverstripe.com/ticket/1488
-
-## Features and Enhancements
-
- * Theme support
- * Widget support
- * Better extension API
- * Unit testing framework
- * More API documentation
- * Added support for __ss_environment.php files
- * New classes
- * BankAccountField
- * BBCodeParser
- * HasManyComplexTableField
- * HasOneComplexTableField
- * ManyManyComplexTableField
- * NewsletterType
- * RestfulService (from mashups module)
- * Improved classes
- * ComplexTableField
- * Validation in popup
- * ContentController
- * Added project()
- * Controller
- * Added redirectedTo()
- * Convert
- * Added raw2htmlatt()
- * Added raw2mailto()
- * DatabaseAdmin
- * Drastically improved database build performance
- * DataObject
- * Added ID,ID,ID syntax for populating many-many joins
- * DataObjectDecorator
- * Allow member CMS fields to be added
- * DataObjectSet
- * Added getRange()
- * Date
- * Added past_date()
- * Director
- * Added set_dev_servers()
- * Added set_test_servers()
- * Added redirected_to()
- * Refactored CMS page-URL accessing to use ->AbsoluteLink(), which can be overridden by defining alternateAbsoluteLink()
- * Debug
- * Optionally hide backtrace-headers in message() and show() (applied in 'showqueries')
- * Email
- * MimeType-fallback (from /etc/mime.types)
- * Improved validation in is_valid_address()
- * FieldSet
- * Added insertAfter()
- * Form
- * Automatic filesystem backup of POST-data
- * FormField
- * Support for right-aligned titles
- * Custom CSS-classes by addExtraClass() and removeExtraClass()
- * Group
- * Added Description field
- * HtmlEditorField
- * Allow classes other than 'typography' to be set
- * Image
- * Added PaddedImage()
- * ImageField
- * Added readonly transformation
- * PageCommentInterface
- * Added anchors to page comments, and made rss feed link to them
- * Permission
- * Added $strict flag to check()
- * Allow passing of an array of permission codes to get_members_by_permission()
- * Added get_groups_by_permission()
- * PhoneNumberField
- * Improved validation
- * Security
- * Added basicauthlogin()
- * SecurityAdmin
- * Added EDIT_PERMISSIONS permission code
- * TableField
- * Validation and RequiredFields
- * TableListField
- * Added sorting, highlighting, formatting
- * Improved styling
- * TreeDropdownField
- * Improved styling
- * Varchar
- * Added RTF()
- * ViewableData
- * Added `<% if HasPerm(PERM_CODE() %>` for templates
- * Javascript
- * Implemented showIndicator() and hideIndicator()
- * Improved statusMessage() to clear manually instead of fixed interval
- * Added hideStatusMessage()
-
-#### Bug Fixes
-
- * CMS
- * Fix specific newsletter bug
- * Don't show classes user doesn't have permissions to change to in class dropdown
- * Fix reading of Live pages in CMSMain
- * Fix double page reading after changing the class
- * Fix insert flash
- * Fix version regex for release candidates
- * Fix delete in Files and Images section
- * Fixed saving root folder causes error
- * Fixed "non-numeric ID" error that occurs when visiting newsletter section for a newsletter that doesn't exist (caused by session sometimes)
- * Fixed CMS sort subpages bug
- * Sapphire
- * Improved spam detection
- * Support for running SilverStripe in safe mode and under open_basedir restrictions
- * PHP notice fixes
- * Use normal authentification rather than basicauth for db/build
- * Fix CSS of profiler pop-up
- * Changed DropdownField $emptyString syntax from '0' to ''
- * Fixed IE6 DOM-parsing bug caused by FormResponse::load_form()
- * Triggering previewwrite for 'delete' and 'replace' SQL-actions
- * Changed record-insertion in DataObject
- * Boolean accepts database-default
- * Fixed Permission::get_members_by_permission()
- * Added memory_limit to publishall()
- * Fix many-many component set relation setting
- * The Link for a RedirectorPage points to its target
- * Add SQL_ prefix in place it was missing in Email
- * Added a check to make sure record exists before calling hasMethod on it in CheckboxSetField
- * Fixed bug in DataObject::addStaticVars()
- * Check for string 'true' as well as boolean in SiteTree::MetaTags()
- * Fix AllNewsletters value not being passed to OptionSetField in SubscribeForm
- * Improved the encapsulation of ErrorPage publication
- * Fix redirect back after failing login
- * Fixed renaming of .tar.gz and .tar.bz2 files
- * Fixed validation of DateField, EmailField and NumericField
- * Fix livesite bug for visibility handling difference between PHP5.2.0 and PHP5.1.6
- * Changed colouring of db/build to be more appropriate for the actual meaning of the messages
- * Fixed redirection from /home/ to /./ in IE6
- * Use the homepage as a model for the security base-page, so that things like the current subsite are factored in
- * Sorted permission codes in Permission::get_codes
- * Changes to support gallery module
- * Added missing has_many in DataObjectDecorator
- * Replace empty strings in SQL queries with NULL
- * JSParty
- * TinyMCE has been updated to 2.1.1.1
-
-Installer
-
- * New installer look based on BlackCandy
- * Use the new theme system
- * Add first and last name fields
- * Added ability to set servers that will be in dev mode
- * When the posix module isn't present, throw a warning instead of dying
- * Warn if PHP version is less that 5.2.0 in support of GoPHP5 (http://www.gophp5.org)
- * Added favicon to installer and default template
- * Optional reporting of version information to SilverStripe
- * Installer now runs with short tags disabled
- * open_basedir and safe mode fixes
diff --git a/docs/en/04_Changelogs/2.1.1.md b/docs/en/04_Changelogs/2.1.1.md
deleted file mode 100644
index c737f2d5e..000000000
--- a/docs/en/04_Changelogs/2.1.1.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# 2.1.1 (2007-11-02)
-
-SilverStripe 2.1.1 was released on '''2 Nov 2007''' and had the following changes:
-
-## Bug Fixes
-
- * CMS
- * BBCode help link now works inside CMS
- * Fixed invalid 'cursor: normal' CSS in cms_left.css
- * Ensure ComplexTableField CSS is loaded in CMS
- * Fixed blank comments showing in Comment Admin
- * Ensure behaviour is applied correctly to new fields in a UserDefinedForm
- * Fixed fatal error in Newsletter Admin on some servers
- * Sapphire
- * Fix infinite redirects when upgrading from 2.0.2
- * Use the hostname, not the ip address, in dev/test mode tests
- * Changed the include of the BBCodeParser so it works on more systems
- * Fixed saving of HasOneComplexTableField and HasManyComplexTableField when value is undefined
- * Removed extra comma in TableListField.js
- * Fixed redirection of login when login fails
- * Fixed bug where removing a comment via ajax removed all comments from display
- * Fix $_SESSION not saving correctly on some servers
diff --git a/docs/en/04_Changelogs/2.2.0.md b/docs/en/04_Changelogs/2.2.0.md
deleted file mode 100644
index 80577b52c..000000000
--- a/docs/en/04_Changelogs/2.2.0.md
+++ /dev/null
@@ -1,341 +0,0 @@
-# 2.2.0 (2007-11-28)
-
-SiverStripe 2.2.0 was released on '''28 November 2007''' and had the following changes:
-
-## Upgrading
-
-### Login Form
-
-Check that you have a Layout/Page.ss file for your site, or alternately have a Security_login.ss template.
-Your template file needs a $Form variable for it to work. This is where the login form gets included. Without either of
-these, the Security/login form will be blank.
-
-
-### Form Actions HTML/CSS
-
-Check css/js and subclassed templates of Form.ss for changed markup. A global search for "p.Actions" should cover both
-js/css changes.
-
- :::ss
- // before
-
- // after
-
-
-See http://open.silverstripe.com/changeset/43562
-
-### Form Security Token
-
-There has been a hidden 'SecurityID' field added to SilverStripe generated forms by default, with the purpose to stop
-CRSF attacks. If you wish your form not to be tied to a specific session, and able to be able to be executed by URL
-without the SecurityID, you can disable it on your form with
-
- :::php
- $form->disableSecurityToken();
-
-
-The other issue to be aware of is constructing the URL to execute the form manually, as is done in javascript sometimes.
-If the security token is enabled, you need to add its value to the URL, eg:
-
- :::js
- updateURL += ($('SecurityID') ? '&SecurityID=' + $('SecurityID').value : '');
-
-
-### Custom Section in CMS
-
-Special attention will need to be given to custom sections on a case-by-case basis.
-
-As we have changed the design of the CMS, the top bar for your custom sections is no longer needed. We've moved the
-buttons that it once held down to the bottom.
-
-![](/_images/cms22screenie.jpg)
-
-
-### Classes added to 2.2 that may conflict
-
-Sitemap.php
-
-
-## Features
-
- * New look for CMS
- * Support for authentification by OpenID (auth_openid module included with installer)
- * Google Sitemaps support
- * Internationalisation support
- * German translation
- * Dutch translation
- * Chinese (simplified) translation
- * Spanish translation
- * French translation
- * Croatian translation
- * Polish translation
- * Portuguese (Portugal) translation
- * Support for multilingual content
- * Added a Statistics area showing the following reports
- * Page views
- * User activity
- * Trends
- * Operating Systems
- * Browsers
- * Added an image editor, allowing a user to rotate, crop and resize an image from within the CMS
- * Added profile popup in CMS
- * Added a 'Sent Status Report' tab to Newsletters with the following reports
- * Sending to the following recipients failed
- * Sending to the following recipients bounced
- * The newsletter has never been sent to following subscribers
- * Sending to the following recipients was successful
- * Sending to the following recipients did not occur because they are blackListed
- * Add 'Send to only people not previously sent to' option for sending newsletters
- * Added SWFUpload library as default method of uploading files
- * Added photo upload in from the Site Content section
- * Added the ability to search the Site Content tree
- * Added the ability to publish selected pages
- * Added a list of unused assets in the Files & Images section, and the ability to delete unused thumbnails
- * Usability improvements
- * Move action buttons to bottom right of screen
- * Moved insert image/flash/link to pane on right
- * Removed right frame headers as the buttons have been moved and they only contain redundant information
- * Use a javascript dialog box for confirming unsaved changes instead of the slow loading model one
- * Reworked the tabs in the Newsletter section to be less confusing
- * Cancel button added to Send Newsletter window
- * External logo link opens in a new window
- * Left sections in Site Content 'Site Tree', 'History' and 'Reports' now use expandable sections rather than tabs
- * Relabeled 'Site Tree' to 'Site Content & Structure', 'History' to 'Page Version History' and 'Reports' to 'Site Reports' in left sections of Site Content
- * Relabeled 'Files & Images' left frame to 'Folders'
- * Added tooltips to site content tree, showing the page type
- * In the 'Page Version History', use a checkbox lable 'Compare mode (click 2 below)' instead of a dropdown
- * Renamed 'Save draft' button to 'Save'
- * The 'Save' button text changes to 'Saving...', and the 'Publish' button text changes to 'Publishing...' when they are clicked
- * Added save indicator to all 'Save' buttons, the 'Save & Publish' button and the 'Unpublish' button while they are being submitted
- * Added a go button to the 'Site Reports' dropdown
- * Relabeled 'Name' field to 'Folder Name' in Files & Images section
- * Renamed the 'Save' button to 'Save folder name' in Files & Images section
- * Relabeled 'Send newsletters from' field to 'From email address' in Newsletter section
- * Removed the 'Move Files' button from Files & Images section, implemented multi-file drag & drop moving
- * Add 'Newsletter Settings' tab to Newsletter type edit form for consistency with other forms
- * Make the status message shown after sending a newsletter always include the # of emails sent
- * Added delete confirmation for items in Newsletter left tree
- * Added delete confirmation for items in Security left tree
- * Make 'Add new draft' the default action for 'Create...' in the Newsletter section
- * Replace the 'reorganise' button with 'Allowing drag & drog reordering' checkbox
- * Delete and Unpublish buttons turn red on hover
- * Added the ability to align images 'left on their own'
-
-## Enhancements
-
- * New classes
- * Authenticator, allowing multiple authentification methods
- * ConfirmPasswordField
- * DropdownTimeField
- * i18n, for internationalisation
- * LanguageDropdownField
- * LoginForm, base class for login forms for each authentification method
- * MemberAuthenticator, providing username/password authentification
- * MemberLoginForm, refactored from old LoginForm form
- * PopupDateTimeField
- * ToggleField
- * OpenIDAuthenticatedRole, which is an extension to Member that adds OpenID authentification columns
- * OpenIDAuthenticator, providing OpenID authentification
- * OpenIDLoginForm, providing OpenID sign in
- * PageView, which saves the details of each page view for statistics
- * Statistics, which provides static methods for statistics
- * Translatable, for multilingual content
- * New third party libraries
- * PHP OpenID (http://openidenabled.com/php-openid/)
- * Browscap (http://garetjax.info/projects/browscap/)
- * Plotr (http://www.solutoire.com/plotr/)
- * SWFUpload (http://profandesign.se/swfupload/)
- * Improved classes
- * CalendarDateField
- * Refactored part of Field() into HTMLField() so it can be used in PopupDateTimeField
- * ComplexTableField
- * Improved pagination in popup
- * Better transformation of save-button (replaced indicator with "saving..." label)
- * CompositeField
- * Added SmallFieldHolder() to properly render fields in a FieldGroup
- * Added insertBeforeRecursive()
- * Allow empty children
- * Added Field()
- * Added linebreaks for HTML
- * ConfirmedFormAction
- * Respect $extraClass
- * ContentController
- * Save statistics on page views
- * Added LangAttributes(), for use in XML header
- * Draft/Archived content can only be viewed by users with permission to access the CMS
- * Core
- * Added _t() for internationalisation
- * Check if TEMP_FOLDER is already defined before defining it, allowing the user to set the temporary folder themself
- * DataObject
- * Added merge()
- * Director
- * Added extend_site(), which allows modules to register a function that will be run on every page load
- * redirectBack() now redirects to the base URL if neither the referrer nor the _REDIRECT_BACK_URL is set
- * Added support for translatable URLs
- * Added is_cli()
- * Added set_status_code() and get_status_code()
- * Email
- * Define 'EMAIL_BOUNCEHANDLER_KEY' in sapphire/_config.php and require its value to be sent as 'Key' $_GET var in pings to /Email_BounceHandler to prevent fake email bounce pings
- * Display an error on duplicate bounce logs instead of a blank screen
- * If the contents of the X-SilverStripeMessageID header is sent to /Email_BounceHandler in the 'SilverStripeMessageID' _GET variable, then it will be logged in the Newsletter_SentRecipient table so that the bounce report will show up on the 'Sent Status Report' tab of the Newsletter
- * Bounced newsletter recipient emails and blacklisted by default
- * FieldSet
- * Added insertBeforeRecursive()
- * FileSystem
- * Added $file_create_mask and $folder_create_mask, which are used whenever creating new files/folders in sapphire
- * Form
- * All Forms now have a hidden SecurityID field to prevent CSRF attacks
- * Added disableSecurityToken() to disable the SecurityID field
- * Added securityTokenEnabled()
- * Changed `
` to `
`
- * Renamed PureName() to Name()
- * GD
- * Added rotate()
- * Added rotatePixelByPixel(), allowing rotation where the imagerotate function is unavailable
- * Added crop()
- * Added getWidth()
- * Added getHeight()
- * Hierarchy
- * Versioned now automatically add suffixes, so Hierarchy no longer needs to
- * HTTP
- * Added register_modification_timestamp()
- * Added register_etag()
- * ImageField
- * Improved layout
- * Int
- * Added support for default value
- * ManifestBuilder
- * Refactored getClassManifest() for clearer ignore rules
- * Ignore i18n language files
- * Ignore folders that have a '_manifest_exclude' file
- * Member
- * Automatically login user if the 'remember login' cookie is set
- * Added createNewPassword(), which generates a random password, optionally using a word list
- * Added support for password encryption
- * Added Locale field to store user preferred language
- * Added the ability for Member decorators to augment MemberFormFields()
- * MemberLoginForm (refactored from old LoginForm)
- * Save the email address in the session to reuse when the login fails
- * ModelAsController
- * Added support for translatable URLs
- * Object
- * Added require_developer_login(), which allows you to check if the user has permission to use URL debugging tools
- * ?debugmethods=1 now requires developer login
- * PageComment
- * Added the ability to have BBCode in comments (disabled by default)
- * PasswordField
- * Always show five stars in performReadonlyTransformation(), so it is impossible to use the information of the password length for brute-force attacks
- * Permission
- * Added declare_permissions()
- * Added get_declared_permissions_list()
- * Added traverse_declared_permissions()
- * Added Permission_Group class, used to group permissions together for showing on an interface
- * Added $admin_implies_all, if this is false then the 'ADMIN' permission doesn't imply all permissions
- * Refactored Permission::checkMember(), should be faster now because the non-strict checking is now only executed if the user doesn't has the permission
- * Added deny(), giving the ability to define 'deny permissions'
- * RecipientImportField
- * Added default 'GenericEmail.ss' template
- * RestfulService
- * Added caching
- * RSSFeed
- * Added support for conditional GETs
- * Security
- * Added support for password encryption
- * Added set_word_list() and get_word_list(), to set the location of the word list used in Member::generateNewPassword()
- * Session
- * Added save(), which copies the current controllers session to $_SESSION
- * SiteTree
- * Changed references to 'stage site' to 'draft site' in TreeTitle()
- * Use Translatable interface by default
- * Add content language in MetaTags()
- * Add delete class to unpublish and rollback buttons
- * SSViewer
- * Added support for internationalisation in templates, using `<% _t() %>`
- * Added $Iteration in templates, which keeps track of the number of iterations in a control block
- * TableListField
- * Prevent onclick event in td.markingcheckbox from showing the popup
- * TabSet
- * Remove tabset div to reduce wasted space on tabs
- * Added insertBeforeRecursive()
- * ToggleCompositeField
- * Refactored from TogglePanel
- * Added icons and used 'cursor: pointer' to make it obvious that it is clickable
- * Versioned
- * Added the ability to versionise suffixed tables that have names that are not DataObject descendants
- * Added canBeVersioned()
- * Added extendWithSuffix()
- * Added hasVersionField()
-
-## Bugfixes
-
- * Sapphire
- * E_NOTICE fixes
- * Fixed incorrect deprecated message in Convert::raw2xml()
- * Don't show and error message and quit the script when @ is used to suppress the error
- * Changed width of HTMLEditorFields to prevent horizontal scrollbars in IE7
- * Added checks in DataObjectSet::First() and DataObjectSet::Last() to prevent errors on an empty $items array
- * Fixed incorrect treatment of Member::logout() as a static method in Security::logout()
- * Ensure Priority is set in SiteTree::onBeforeWrite(), otherwise an invalid SQL statement will be generated when the page is published
- * Only highlight broken links in HTMLEditorFields once, to prevent execution timeouts when there are lots of identical broken links
- * Fixed bug "Fatal error: Access to undeclared static property: Controller::$db in ../sapphire/core/Object.php(282) : eval()'d code on line 1"
- * Fixed DataObjectDecorators not supporting indexes and defaults
- * Fixed ReportField generating invalid HTML
- * In Member::setBlacklistedEmail() call this->write() so that the BlacklistedEmail field state will be saved to the Member database table
- * Fix Email_BlackList::isBlocked() to check the BlockedEmail field instead of non-existant Email field so that it will actaully return true when an email is blocked
- * Fix layout problems with search box in IE by only generating a label tag if TItle is set in FormField::FieldHolder()
- * Fixed Permission::check() not p[assing $strict to Permission::checkMember()
- * Fixed HTTP::gmt_date()
- * Fix validation of Member extensions
- * Removed DriversLicense references from LoginForm (project specific clutter)
- * Added check for existence of #sitetree in RelationComplexTableField.js
- * Fixed VirtualPage creation
- * Fixed lighttpd flushing bug
- * Fixed CustomRequiredFields
- * Fix bugs with ComplexTableField when it is used outside of the CMS
- * Fixed error saving when value is undefined in HasOneComplexTableField and HasManyComplexTableField
- * Fixed saving error in FileIFrameField
- * Added a security fix for Security::check_default_admin()
- * Fixed caching in DataObject::getManyManyComponents() to take into account different SQL parameters
- * Geop::ip2country() now throws an E_USER_NOTICE instead of an error when it cannot run geoiplookup
- * Added if() check around a foreach loop that was causing errors when there were no entries in an RSS feed
- * Fix inheritance in ManyManyComplexTableField
- * Fixed FormField::setRightTitle() not showing because of a typo
- * Create assets folder if doesn't eixts on ErrorPage publish
- * Fixed submission of ImageField when no file was selected
- * Catch errors in ContentController::deleteinstallfiles()
- * Fix generation of group codes on creation of a Group
- * Fix title on LabelledLiteralField
- * Fix ImageField deleting the Image instead of unlinking it from the page
- * Set TimeField value to null when a bad value is passed
- * Don't return a span when the Title doesn't exist in DropdownField
- * Fix bug where NumericField couldn't have 0 as a default value
- * Call Page_Controller->init() when rendering Security/changepassword etc to respect any Requirements called in there
- * Fixed an error when a CheckboxSetField is submitted with no checkboxes ticked
- * Fixed exporting of TableListField to use commas for CSV files
- * ?previewwrite no longer works on live sites
- * Fixed incorrect CSS in TableListField.css
- * Fixed incorrect namespacing in TableListField::BaseLink()
- * If a CreditCardField is completely blank, then it's not invalid. Required-fields should be used to check for values.
- * CMS
- * E_NOTICE fixes
- * New pages are created in the database straight away, which solves a number of issues
- * Fixed Email link not working in page history
- * Unsaved changes detection now works in Security section member tables
- * Fix typo in LeftAndMain::addTreeNodeJS() by renaming 'select' parameter to 'selected' because 'selected' is what is used in the method body
- * Delete image thumbnails after deleting an image
- * Use 'html>body' instead of just 'html>' so that #sitetree correctly gets assigned width:auto on Mozilla browsers (prevents Folders being selected from 500px away on file drag and drop)
- * Display a useful error message if getCMSFields() returns null
- * When 'Duplicate this page' is clicked, first silently (without confirmation) save the page, then duplicate it so the new page is identical to the other page
- * Fix errors when importing recipients to newsletter mailing list
- * Fixed blocking during resize in IE6
- * Don't show a 'No template selected' error when sending a test Newsletter if no template has been selected since templates for Emails are optional
- * Fixed bug 'for newly created newsletter drafts, content of newsletter sent is not what is shown on screen'
- * Don't save new Newsletter drafts as soon as they are created to prevent TinyMCE Javascript errors in IE
- * Add if((typeof tinyMCE != 'undefined')) statement around call to tinyMCE.init() to prevent "Error: 'tinyMCE' is undefined" error in IE7 on Newsletter Recipient import
- * Don't allow a deleted draft to be edited in the Newsletter section
- * Fix a bug where newsletter drafts will be added, but not show up in the left tree (because of a Javascript error), if no selection has been made
- * If there are no newsletter types, and 'Add new draft' is chosen, create a newsletter type to prevent errors
- * Fix changed icon only showing after Save button is clicked twice
- * Fixed VirtualPage creation
- * Fix 'Sort subpages' not working correctly
- * Use classes instead of the align tag to align images
diff --git a/docs/en/04_Changelogs/2.2.1.md b/docs/en/04_Changelogs/2.2.1.md
deleted file mode 100644
index 5b031355a..000000000
--- a/docs/en/04_Changelogs/2.2.1.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# 2.2.1 (2007-12-21)
-
-SilverStripe 2.2.1 was released on '''21 December 2007''' and had the following changes:
-
-## Features and Enhancements
-
- * Translations
- * Added Italian translation
- * Added Russian translation
- * Added Slovak translation
- * Added Turkish translation
- * Added Bulgarian translation
- * Added Czech translation
- * Added Hungarian translation
- * Added Portuguese (Brazil) translation
- * Added Swedish translation
- * Added Chinese (Taiwan) translation
- * Added support for sapphire to Portuguese (Portugal) translation
-#### Developer Tools
-
- * Added augmentDefaultRecords(), so DataObjectDecorators can extend requireDefaultRecords
-Bug fixes
-
- * Sapphire
- * Hardcoded array of encryption algorithims in Security::get_encryption_algorithms(), as a bug in MySQL causes corruption in dumps with enums with commas
- * Fixed bug with google sitemap on translated sites
- * Removed title from SecurityID fields, as some forms show labels on HiddenFields
- * Fixed Object::uninherited() for PHP 5.1.2
- * Added empty array to member so that roles can add their own has_one relations
- * CMS
- * Added SecurityAdmin_rightbottom.ss
- * Javascript
- * Upgraded TinyMCE to 2.1.3
diff --git a/docs/en/04_Changelogs/2.2.2.md b/docs/en/04_Changelogs/2.2.2.md
deleted file mode 100644
index ffb4d463e..000000000
--- a/docs/en/04_Changelogs/2.2.2.md
+++ /dev/null
@@ -1,396 +0,0 @@
-# 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)
diff --git a/docs/en/04_Changelogs/2.2.3.md b/docs/en/04_Changelogs/2.2.3.md
deleted file mode 100644
index b02ca6e60..000000000
--- a/docs/en/04_Changelogs/2.2.3.md
+++ /dev/null
@@ -1,36 +0,0 @@
-* BUGFIX: Don't allow calling of magically added methods via URL unless explicitly listed in allowed_actions (changeset 64988)
-* BUGFIX: Fixed HTTP/1.0 support (changeset 64722)
-* Fix typo (changeset 64643)
-* Fix accept button in CommentAdmin not working (changeset 64640)
-* Fix CMS export (changeset 64639)
-* MINOR: PHP notice fixes (changeset 64638)
-* MINOR: fix php notice (changeset 64637)
-* Allow default value to be set on CountryDropdownField (changeset 64636)
-* Add ability to disable 'None' option and to choose the title field in TypeDropdown (changeset 64635)
-* BUGFIX: Allow disabling of updateCMSFields() on SiteTree so subclasses that want decorators to have access to (changeset 64634)
-* their added fields can call it themselves. (changeset 64634)
-* MINOR: Fix PHP notices (changeset 64625)
-* Show '(Choose)' text on TreeDropdownField when a non-existent object is selected, as can happen when related data is removed (changeset 64355)
-* When calling Folder::findOrMake(), set the Title as well as the Name of new folders (changeset 64354)
-* Allow updating of File detail CMS fields by defining updateCMSFields in a decorator (changeset 64353)
-* Add macron about native name of maori (changeset 64130)
-* Added ->itemWriteMethod parameter, to adjust the way that CTFs write (for instance, to save and publish instead of just save) (changeset 64128)
-* BUGFIX: Form::sessionMessage() didn't set type (changeset 63966)
-* Fixed sorting in TableListField and subclasses (changeset 63524)
-* Removed hard-coded limits in ConfirmedPasswordField. This should be configured in a member password validator (changeset 63405)
-* BUGFIX: Fixed tree.js to work with TreeMultiselectField (changeset 63343)
-* ENHANCEMENT: Use get variable rather than session for Security::permissionFailure()'s BackURL, as it's more reliable (changeset 63030)
-* BUGFIX Set ID of lostpassword page to -1 so we don't get top level pages (changeset 62107)
-* as its children (changeset 62107)
-* BUGFIX Revert r61631 for Translatable but kept SiteTree changes instact from that revision since they are still useful (changeset 61815)
-* API CHANGE: Decorators on SiteTree can now define updateCMSActions (changeset 61625)
-* API CHANGE: Decorators on SiteTree can now define updateCMSActions (changeset 61624)
-* BUGFIX: Don't show publish button when editing translatable page, as it is broken (changeset 61624)
-* BUGFIX: search is now html valid! (changeset 60980)
-* merged from trunk (changeset 60651)
-* BUGFIX: Fix typedropdown not working when there are no records of that (changeset 60240)
-* dataobject. (changeset 60240)
-* commented out line 121 that put line breaks (changeset 60194)
-* add missing semicolon (changeset 60026)
-* Fix null title value on tiny mce inserted images (changeset 60025)
-* Overwriting Date.php to output US Date format (changeset 59710)
\ No newline at end of file
diff --git a/docs/en/04_Changelogs/2.2.4.md b/docs/en/04_Changelogs/2.2.4.md
deleted file mode 100644
index 8ac7a6b66..000000000
--- a/docs/en/04_Changelogs/2.2.4.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# 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
diff --git a/docs/en/04_Changelogs/2.3.0.md b/docs/en/04_Changelogs/2.3.0.md
deleted file mode 100644
index 7d70ed146..000000000
--- a/docs/en/04_Changelogs/2.3.0.md
+++ /dev/null
@@ -1,2132 +0,0 @@
-# 2.3.0 (2009-02-23)
-
-## Upgrading
-
-### Translatable Problems
-
-**Don't use Translatable for multilingual database content. Don't upgrade to 2.3.0 if you're already using
-Translatable.**
-
-The [Translatable extension](/developer_guides/i18n) is currently marked as
-unstable for the initial 2.3 release. **If your site uses more than one language for page content, don't upgrade to this
-release.** We're working on bugfixes which will be contained in a minor 2.3.x release soon. Check our [releaseannouncements](http://groups.google.com/group/silverstripe-announce) for updates on Translatable bugfixes.
-
-### BasicAuth disabled on test sites by default
-
-Basic auth isn't enabled by default on test sites. If you need this, put this in your _config.php
-
- if(Director::isTest()) BasicAuth::enable();
-
-
-### /silverstripe and /cms no longer work as aliases to /admin
-
-Removed certain URL aliases for CMS interface to allow for common page URLs like "silverstripe" or "cms". Please use
-/admin as the main URL to access the CMS. See http://open.silverstripe.com/ticket/3267
-
-### SiteTree Access tab now lets you select multiple groups
-
-In order to do this, `SiteTree->ViewersGroup` and `SiteTree->EditorsGroup` have been changed from has_one relations
-to many_many relations.
-
-Your group-assignements for "Who can view this page" and "Who can edit this page" should be automatically migrated upon
-calling `dev/build`. See [#2847](http://open.silverstripe.com/ticket/2847)
-
-### Newsletter moved into new module
-
-Newsletter functionality has been moved into its own module called **[newsletter](http://addons.silverstripe.org/add-ons/silverstripe/newsletter)**. If you were
-previously using this as a feature out of the box with SilverStripe, then you will need to download the userforms module
-to continue using it.
-
-If you **don't** require the functionality, it's safe to delete these database tables:
-
-* Newsletter
-* NewsletterType
-* SubscribeForm
-* UnsubscribeRecord
-
-#### auth_openid removed from default installation
-
-The auth_openid module has been removed from default installation. Please install the module separately from
-[silverstripe.org](http://silverstripe.org/auth-openid-module/)
-
-### GenericDataAdmin and RelatedDataEditor moved into new module
-
-GenericDataAdmin functionality has been moved into its own module. If you were previously using this as a feature out of the box with
-SilverStripe, then you will need to download this module to continue using it.
-
-### User Defined Form moved into new module
-
-User Defined Form has been moved into its own module called **[userforms](http://addons.silverstripe.org/add-ons/silverstripe/userforms)**. If you were previously
-using this as a feature out of the box with SilverStripe, then you will need to download the userforms module to
-continue using it.
-
-//Important note: If you **do** have an existing page of User Defined Form type in your CMS site tree, it's best to
-install the module first as shown above. If you run dev/build?flush=1 without installing userforms, you'll lose the User
-Defined Form page type until you install it then run dev/build?flush=1.//
-
-If you **don't** require the User Defined Form functionality, it's safe to delete these database tables:
-
-* EditableCheckbox
-* EditableCheckboxOption
-* EditableDropdownOption
-* EditableEmailField
-* EditableFileField
-* EditableFormField
-* EditableMemberListField
-* EditableRadioOption
-* EditableTextField
-* SubmittedFileField
-* SubmittedForm
-* SubmittedFormField
-* UserDefinedForm
-* UserDefinedForm_Live
-* UserDefinedForm_versions
-
-### PostBackup
-
-PostBackup has been moved into a module. See [postbackup
-module](http://open.silverstripe.com/browser/modules/postbackup/trunk).
-
-### /db/build/?flush=1 is now called /dev/build
-
-Flushing the manifest with `?flush=1` doesn't need to be explicitly added.
-
-### Core API Changes
-
-* Removed ViewableData->setVal(), use ViewableData->setValue() ===
-* Removed Director::isLiveMode(), use Director::isLive() ===
-* Removed DataObjectSet->append(), use DataObjectSet->push() or DataObjectSet->merge()
-* Removed Controller->LinkTo(), use Controller->join_links()
-* Removed DataObject->getLastWriteFields(), use DataObject->getChangedFields()
-* Removed Convert::raw2attr(), use Convert::raw2att()
-* Removed Member->isAdmin(), use Permission::check('ADMIN')
-* Removed Debug::warning(), use user_error("your message", E_USER_WARNING)
-* Removed SiteTree->canView_page(), Use instance-specific SiteTree->canView() instead by checking for `$this->ID`.
-* Deprecated URL parameter ?buildmanifest=1 (please use ?flush=1)
-* i18ntextcollector is executed from a new URL. Use http://mysite.com/dev/task/i18nTextCollectorTask instead of
-http://mysite.com/i18ntextcollector
-
-### Director::addRules()
-
-If you have made your own custom director rules with `Director::addRules`, you will need to add a double-slash into
-the rule, to separate the part of the URL that specifies "this is how I get to this controller" from the part that
-specifies "these are arguments to the controller".
-
-In other words, change this:
-
- :::php
- Director::addRules(50, array(
- 'admin/ImageEditor/$Action' => 'ImageEditor',
- ));
-
-
-To this:
-
- :::php
- Director::addRules(50, array(
- 'admin/ImageEditor//$Action' => 'ImageEditor',
- ));
-
-
-
-### Decorators
-
-* Renamed DataObjectDecorator->extraDBFields() to extraStatics() (see
-[r65065](http://open.silverstripe.com/changeset/65065))
-
-* DataObjectDecorator->updateCMSFields() is now called from DataObject->getCMSFields(), instead of only SiteTree
-instances
-
-* Changed return values for DataObjectDecorator->updateCMSActions() to FieldSet, rather than an array.
-
-### Data Model
-
-* Removed Datetime class, use SSDatetime instead (it was conflicting with PHP 5.2 integrated classes)
-* Removed Text->Att(), use Text->ATT_val() instead
-
-### Forms
-
-* Removed NoScriptField, use LiteralField
-* Removed EncryptField, use PasswordField
-* Removed NamedLabelField, use LabelField
-* Removed NoScriptFormAction, use unobtrusive scripting
-* Removed FormField->setExtraClass(), use FormField->addExtraClass()
-* Removed deprecated ComplexRequiredFields, `RequiredFields` and custom javascript instead
-* If you have created your own FormField classes, FormField::performReadonlyTransformation() and
-FormField::performDisabledTransformation() must return new form fields, e.g., cloned instances, or unit tests will fail.
-
-### Templates
-
-* '''$Top''' in templates has changed its behaviour; if you call $Top from inside a template that is rendered
-separately (eg, a Form template), it will point to the top element of that template execution (in this case, the Form
-object) rather than the top element of the outermost template (which would presumably be the page in question). This
-was a bug that we have fixed, but some people may rely on it. See http://open.silverstripe.com/ticket/2781
-
-* A `