Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

ENHANCEMENT Added sapphire/docs (migrated from https://github.com/chi…

  • Loading branch information...
commit 8bd01d62c4d38e05c1a5426ec04fe56ec69cb0e3 1 parent a569567
Ingo Schommer chillu authored
Showing with 20,602 additions and 0 deletions.
  1. +2 −0  docs/LICENSE
  2. 0  docs/_manifest_exclude
  3. BIN  docs/en/_images/silverstripe-cms-book-front-cover-design-june2009preview.png
  4. +46 −0 docs/en/changelogs/2.0.1.md
  5. +155 −0 docs/en/changelogs/2.0.2.md
  6. +171 −0 docs/en/changelogs/2.1.0.md
  7. +22 −0 docs/en/changelogs/2.1.1.md
  8. +342 −0 docs/en/changelogs/2.2.0.md
  9. +33 −0 docs/en/changelogs/2.2.1.md
  10. +396 −0 docs/en/changelogs/2.2.2.md
  11. +36 −0 docs/en/changelogs/2.2.3.md
  12. +43 −0 docs/en/changelogs/2.2.4.md
  13. +2,134 −0 docs/en/changelogs/2.3.0.md
  14. +68 −0 docs/en/changelogs/2.3.1.md
  15. +36 −0 docs/en/changelogs/2.3.10.md
  16. +11 −0 docs/en/changelogs/2.3.11.md
  17. +540 −0 docs/en/changelogs/2.3.2.md
  18. +65 −0 docs/en/changelogs/2.3.3.md
  19. +43 −0 docs/en/changelogs/2.3.4.md
  20. +15 −0 docs/en/changelogs/2.3.5.md
  21. +40 −0 docs/en/changelogs/2.3.6.md
  22. +12 −0 docs/en/changelogs/2.3.7.md
  23. +55 −0 docs/en/changelogs/2.3.8.md
  24. +52 −0 docs/en/changelogs/2.3.9.md
  25. +861 −0 docs/en/changelogs/2.4.0.md
  26. +497 −0 docs/en/changelogs/2.4.1.md
  27. +159 −0 docs/en/changelogs/2.4.2.md
  28. +350 −0 docs/en/changelogs/2.4.3.md
  29. +364 −0 docs/en/changelogs/2.4.4.md
  30. +41 −0 docs/en/changelogs/2.4.5.md
  31. BIN  docs/en/changelogs/_images/cms22screenie.jpg
  32. +385 −0 docs/en/changelogs/alpha/2.4.0-alpha1.md
  33. +732 −0 docs/en/changelogs/beta/2.4.0-beta1.md
  34. +555 −0 docs/en/changelogs/beta/2.4.0-beta2.md
  35. +63 −0 docs/en/changelogs/index.md
  36. +11 −0 docs/en/changelogs/rc/2.3.11-rc1.md
  37. +41 −0 docs/en/changelogs/rc/2.3.8-rc1.md
  38. +146 −0 docs/en/changelogs/rc/2.4.0-rc1.md
  39. +127 −0 docs/en/changelogs/rc/2.4.0-rc2.md
  40. +27 −0 docs/en/changelogs/rc/2.4.0-rc3.md
  41. +328 −0 docs/en/changelogs/rc/2.4.1-rc1.md
  42. +20 −0 docs/en/changelogs/rc/2.4.1-rc2.md
  43. +146 −0 docs/en/changelogs/rc/2.4.2-rc1.md
  44. +8 −0 docs/en/changelogs/rc/2.4.2-rc2.md
  45. +148 −0 docs/en/changelogs/rc/2.4.3-rc1.md
  46. +7 −0 docs/en/changelogs/rc/2.4.3-rc2.md
  47. +80 −0 docs/en/changelogs/rc/2.4.4-rc1.md
  48. +23 −0 docs/en/changelogs/rc/2.4.4-rc2.md
  49. +41 −0 docs/en/changelogs/rc/2.4.5-rc1.md
  50. +25 −0 docs/en/howto/cache-control.md
  51. +198 −0 docs/en/howto/csv-import.md
  52. +39 −0 docs/en/howto/dynamic-default-fields.md
  53. +142 −0 docs/en/howto/grouping-dataobjectsets.md
  54. +18 −0 docs/en/howto/index.md
  55. +139 −0 docs/en/howto/phpunit-configuration.md
  56. +63 −0 docs/en/index.md
  57. BIN  docs/en/installation/_images/webpi-2-a-silverstripe-choice.jpg
  58. BIN  docs/en/installation/_images/webpi-2-b-dependencies.jpg
  59. BIN  docs/en/installation/_images/webpi-2-c-downloading-and-installaing.jpg
  60. BIN  docs/en/installation/_images/webpi-2-d-installer-questions-step1.jpg
  61. BIN  docs/en/installation/_images/webpi-2-e-installer-questions-step2.jpg
  62. BIN  docs/en/installation/_images/webpi-2-f-success-message.jpg
  63. BIN  docs/en/installation/_images/webpi-2-g-silverstripe-homepage.jpg
  64. BIN  docs/en/installation/_images/webpi-2-h-cms-interface-working.jpg
  65. +67 −0 docs/en/installation/common-problems.md
  66. +45 −0 docs/en/installation/from-source.md
  67. +35 −0 docs/en/installation/index.md
  68. +87 −0 docs/en/installation/lighttpd.md
  69. +37 −0 docs/en/installation/mac-osx.md
  70. +35 −0 docs/en/installation/nginx.md
  71. +49 −0 docs/en/installation/server-requirements.md
  72. +40 −0 docs/en/installation/upgrading.md
  73. +29 −0 docs/en/installation/webserver.md
  74. +150 −0 docs/en/installation/windows-manual-iis-6.md
  75. +395 −0 docs/en/installation/windows-manual-iis-7.md
  76. +31 −0 docs/en/installation/windows-manual-iis.md
  77. +50 −0 docs/en/installation/windows-pi.md
  78. +49 −0 docs/en/installation/windows-wamp.md
  79. +455 −0 docs/en/misc/coding-conventions.md
  80. +285 −0 docs/en/misc/contributing.md
  81. +15 −0 docs/en/misc/index.md
  82. +242 −0 docs/en/misc/module-release-process.md
  83. +116 −0 docs/en/misc/release-process.md
  84. +113 −0 docs/en/misc/ss-markdown.md
  85. +175 −0 docs/en/misc/subversion.md
  86. BIN  docs/en/reference/_images/modeladmin_edit.png
  87. BIN  docs/en/reference/_images/modeladmin_results.png
  88. BIN  docs/en/reference/_images/modeladmin_search.png
  89. BIN  docs/en/reference/_images/sitereport.png
  90. +413 −0 docs/en/reference/advanced-templates.md
  91. +36 −0 docs/en/reference/bbcode.md
  92. +345 −0 docs/en/reference/built-in-page-controls.md
  93. +150 −0 docs/en/reference/complextablefield.md
  94. +129 −0 docs/en/reference/database-structure.md
  95. +196 −0 docs/en/reference/dataobject.md
  96. +172 −0 docs/en/reference/dataobjectdecorator.md
  97. +98 −0 docs/en/reference/dataobjectset.md
  98. +63 −0 docs/en/reference/director.md
  99. +93 −0 docs/en/reference/execution-pipeline.md
  100. +85 −0 docs/en/reference/form-field-types.md
  101. +118 −0 docs/en/reference/image.md
  102. +39 −0 docs/en/reference/index.md
  103. +193 −0 docs/en/reference/leftandmain.md
  104. +127 −0 docs/en/reference/member.md
  105. +115 −0 docs/en/reference/modeladmin.md
  106. +241 −0 docs/en/reference/partial-caching.md
  107. +74 −0 docs/en/reference/permission.md
  108. +193 −0 docs/en/reference/requirements.md
  109. +179 −0 docs/en/reference/restfulservice.md
  110. +84 −0 docs/en/reference/rssfeed.md
  111. +196 −0 docs/en/reference/searchcontext.md
  112. +96 −0 docs/en/reference/site-reports.md
  113. +71 −0 docs/en/reference/siteconfig.md
  114. +298 −0 docs/en/reference/sitetree.md
  115. +208 −0 docs/en/reference/sqlquery.md
  116. +288 −0 docs/en/reference/staticpublisher.md
  117. +82 −0 docs/en/reference/tablefield.md
  118. +288 −0 docs/en/reference/tablelistfield.md
  119. +108 −0 docs/en/reference/typography.md
  120. +92 −0 docs/en/reference/urlvariabletools.md
  121. +33 −0 docs/en/reference/versioned.md
  122. BIN  docs/en/topics/_images/basicfiles.gif
  123. BIN  docs/en/topics/_images/basicfiles.gif.png
  124. BIN  docs/en/topics/_images/basicfilestructure.gif
  125. BIN  docs/en/topics/_images/basicfilestructure.gif.png
  126. BIN  docs/en/topics/_images/controllers-and-dataobjects.png
  127. BIN  docs/en/topics/_images/modules_folder.jpg
  128. BIN  docs/en/topics/_images/pagetype-inheritance.png
  129. BIN  docs/en/topics/_images/translatable1.png
  130. BIN  docs/en/topics/_images/translatable2.png
  131. BIN  docs/en/topics/_images/translatable3.png
  132. BIN  docs/en/topics/_images/translatable4_small.png
  133. BIN  docs/en/topics/_images/widget_demo.gif
  134. BIN  docs/en/topics/_images/widget_demo.gif.png
  135. +57 −0 docs/en/topics/access-control.md
  136. +125 −0 docs/en/topics/commandline.md
  137. +77 −0 docs/en/topics/configuration.md
  138. +99 −0 docs/en/topics/controller.md
  139. +93 −0 docs/en/topics/css.md
  140. +34 −0 docs/en/topics/data-types.md
  141. +479 −0 docs/en/topics/datamodel.md
  142. +145 −0 docs/en/topics/debugging.md
  143. +65 −0 docs/en/topics/directory-structure.md
  144. +123 −0 docs/en/topics/email.md
  145. +104 −0 docs/en/topics/environment-management.md
  146. +105 −0 docs/en/topics/error-handling.md
  147. +67 −0 docs/en/topics/extending-the-cms.md
  148. +19 −0 docs/en/topics/files.md
  149. +77 −0 docs/en/topics/form-validation.md
  150. +279 −0 docs/en/topics/forms.md
  151. +324 −0 docs/en/topics/i18n.md
  152. +36 −0 docs/en/topics/index.md
  153. +647 −0 docs/en/topics/javascript.md
  154. +55 −0 docs/en/topics/module-development.md
  155. +88 −0 docs/en/topics/modules.md
Sorry, we could not display the entire diff because it was too big.
2  docs/LICENSE
View
@@ -0,0 +1,2 @@
+Licensed under Creative Commons Attribution 3.0 New Zealand
+http://creativecommons.org/licenses/by/3.0/nz/
0  docs/_manifest_exclude
View
No changes.
BIN  docs/en/_images/silverstripe-cms-book-front-cover-design-june2009preview.png
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 docs/en/changelogs/2.0.1.md
View
@@ -0,0 +1,46 @@
+# 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
155 docs/en/changelogs/2.0.2.md
View
@@ -0,0 +1,155 @@
+# 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.
171 docs/en/changelogs/2.1.0.md
View
@@ -0,0 +1,171 @@
+# 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
22 docs/en/changelogs/2.1.1.md
View
@@ -0,0 +1,22 @@
+# 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
342 docs/en/changelogs/2.2.0.md
View
@@ -0,0 +1,342 @@
+# 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
+ <p class="Actions">
+ // after
+ <div class="Actions">
+
+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 `<p class="Actions">` to `<div class="Actions">`
+ * Renamed PureName() to Name()
+ * GD
+ * Added rotate()
+ * Added rotatePixelByPixel(), allowing rotation where the imagerotate function is unavailable
+ * Added crop()
+ * Added getWidth()
+ * Added getHeight()
+ * Hierachy
+ * Versioned now automatically add suffixes, so Hierachy 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
33 docs/en/changelogs/2.2.1.md
View
@@ -0,0 +1,33 @@
+# 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
396 docs/en/changelogs/2.2.2.md
View
@@ -0,0 +1,396 @@
+# 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 `<p>`) (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 `<img>` 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)
36 docs/en/changelogs/2.2.3.md
View
@@ -0,0 +1,36 @@
+* 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)
43 docs/en/changelogs/2.2.4.md
View
@@ -0,0 +1,43 @@
+# 2.2.4 (2009-03-20)
+
+## Features and Enhancements
+
+ * ![rev:65263] Default permission failure message set can be changed
+ * ![rev:73365] Text->FirstParagraph?() now works for `<div>` containers in HTML, as you may not always have paragraph tags.
+ * ![rev:73272] Added Director::is_relative_url() and Director::is_site_url()
+ * ![rev:69634] After a javascript validation error from a form submission, focus on the first errored field
+
+## Bugfixes
+
+ * ![rev:73367] Allow translation of front-end content into all languages, not just common ones (Merged from r64943)
+ * ![rev:73347] Removed canEdit() call that doesn't exist in SecurityAdmin::savemember()
+ * ![rev:73319] Added missing action 'DeleteImageForm' to Image::$allowed_actions
+ * ![rev:73305] Added missing action 'EditImageForm' to Image::$allowed_actions
+ * ![rev:73302] Fixed too strict permission checking on Image::$allowed_actions. Replaced broken * permission check with explicit method names
+ * ![rev:73298] Fixed array to string conversion caused by patch committed in r73272
+ * ![rev:73295] Validating $_FILES in Image::loadUploadedImage() (Original patch was applied to Upload->validate() in trunk - r73254)
+ * ![rev:73294] Validating $_FILES in Folder::addUploadToFolder() (Original patch was applied to Upload->validate() in trunk - r73254)
+ * ![rev:73292] Fixed undefined variable $backURL that should've been $_REQUEST['BackURL']
+ * ![rev:73282] Using $allowed_actions in ImageEditor (Merged from r73248)
+ * ![rev:73280] Using $allowed_actions in Image_Uploader (Merged from r73255)
+ * ![rev:73279] Validating $_FILES in File::loadUploaded (Original patch was applied to Upload->validate() in trunk - r73254)
+ * ![rev:73278] Existence check for Member autologin token (Merged from r73253)
+ * ![rev:73276] Checking for Director::is_site_url() before redirecting in Controller->redirectBack() and MemberLoginForm (Merged from r73252)
+ * ![rev:73273] Added isDev() and Permission::check() directives to DatabaseAdmin (Merged from r73251)
+ * ![rev:73272] Validating $_FILES array in Director::direct()
+ * ![rev:73271] Using auto-escaped get_by_id() in CommentAdmin and SecurityAdmin (Merged from r73247)
+ * ![rev:72220] changed target blank to only exist by default for files
+ * ![rev:69598] Corrected layout of Security/lostpassword and Secuirty/changepassword pages to not show a glitchy main menu, ie, matches Security/login
+ * ![rev:69138] Fix readonly checkbox fields always setting the field to true
+ * ![rev:65490] Fixed usability issue with CalendarDateField required field validation. Slightly over-coupled; resolve that in the jQuery validation rewrite.
+ * ![rev:65258] Fixed ComplexTableField showing export link correctly
+ * ![rev:65219] Fixed i18n entity problem with TableListField_Item.ss
+ * ![rev:69594] Corrected changed-password email layout
+ * ![rev:67482] Merged db/build fix for auto_increment
+ * ![rev:65473] Preserve BackURL get-variable on failed log-ins
+ * ![rev:65488] Removed 'Welcome back, FirstName', message that appears if you log-in, out, then in again
+ * ![rev:66552] Make sure only fields that exist can be autocompleted on MemberTableFields, and never autocomplete on password. (merged from branches/2.3)
+ * ![rev:69440] forced tinymce to keep iframes in html rather then deleting them
+ * ![rev:66769] Reverted r66440 - this was causing too many bugs
+ * ![rev:66479] Fixed error on CommentAdmin
+ * ![rev:66440] Merged r57599 from branches/roa
2,134 docs/en/changelogs/2.3.0.md
View
2,134 additions, 0 deletions not shown
68 docs/en/changelogs/2.3.1.md
View
@@ -0,0 +1,68 @@
+# 2.3.1 (2009-03-19)
+
+## New Features
+
+ * ![rev:72804] #3659 - Update key to show what purple means (ezero)
+ * ![rev:72791] #3614 - Allow spell checking in HTMLEditorField when used outside of the CMS
+ * ![rev:72788] #3612 - Option to auto-login with basic auth (jshipman)
+ * ![rev:72771] added ability to disable AJAX commenting
+ * ![rev:72763] #3610 - Require ADMIN permissions for ?flush=all
+ * ![rev:72517] Allow access to the live site via RESTful api
+ * ![rev:73435] more robust conditional check before we go to foreach loop, more robust conditional checking before we call a FormField function where we are not sure the caller is a FormField object.
+ * ![rev:73285] Added Director::is_relative_url() and Director::is_site_url()
+ * ![rev:73149] Allow calling methods on DataObjects using RESTful API. Methods which can be called must be specified in the $allowed_actions array of the DataObject.
+ * ![rev:72574] Made JS i18n optional; disable it by calling Requirements::set_js_i18n(false)
+ * ![rev:72497] Database will fix itself if you view the site and the database doesn't exist
+ * ![rev:72496] Added BASE_SCRIPT_URL that lets you run a site without rewriting rules
+ * ![rev:72346] Added onBeforeSecurityLogin event handler to Security/login, for extensions to plug into
+ * ![rev:72229] Fixed invalid RSSFeed format - added `<atom:link>` and `<dc:creator>` elements, removed `<author>` element (invalid unless it contains an email address)
+ * ![rev:72119] #3232 lenix: Added Date::FormatI18N()
+
+## Bugfixes
+
+ * ![rev:73437] Fixed possible SQL injection in file name part for File::find()
+ * ![rev:73318] Added missing action 'DeleteImageForm' to Image::$allowed_actions
+ * ![rev:73304] Added missing action 'EditImageForm' to Image::$allowed_actions
+ * ![rev:73301] Fixed too strict permission checking on Image::$allowed_actions. Replaced broken * permission check with explicit method names
+ * ![rev:73299] Fixed array to string conversion caused by patch commited in r73285
+ * ![rev:73291] Using $allowed_actions in Image_Uploader (Merged from r73255)
+ * ![rev:73290] Validating $_FILES in Upload->validate() (Merged from r73254)
+ * ![rev:73289] Existence check for Member autologin token (Merged from r73253)
+ * ![rev:73288] Checking for Director::is_site_url() before redirecting in Controller->redirectBack() and MemberLoginForm (Merged from r73252)
+ * ![rev:73286] Added isDev() and Permission::check() directives to DatabaseAdmin and DevelopmentAdmin (Merged from r73251)
+ * ![rev:73285] Validating $_FILES array in Director::direct()
+ * ![rev:73284] Using $allowed_actions in ImageEditor (Merged from r73248)
+ * ![rev:73261] Interpret 401s and 403s created init() methods as 'finished' requests
+ * ![rev:73117] Fixed ajax-response for multiple-item deletion
+ * ![rev:73099] Fix notice-level error in rewriteless operation of homepage when db needs to be created
+ * ![rev:73084] #3715: Show the changes message in a popup instead of a blank confirm box
+ * ![rev:73082] #3716: Added error trapping to WYSIWYG side forms
+ * ![rev:73080] #3714: Added default value to modeladmin search button
+ * ![rev:73016] redirect user down to their posted comment if it was not posted via AJAX
+ * ![rev:72926] #3591: Make Controller::isAjax() more reliable
+ * ![rev:72854] #3529 - SilverStripeNavigator causes strict XHTML pages to fail in Firefox (michaek)
+ * ![rev:72852] #3596 - Creating more than one new folder causes infinite loop (hamish)
+ * ![rev:72819] Only use target="_blank" for files by default
+ * ![rev:72816] #3645 - CommenterURL missing from CMS
+ * ![rev:72798] #1450 - Passwords should be obscured when adding a member in a MemberTableField
+ * ![rev:72760] Make sure "Template to install" retains its value when rechecking requirements
+ * ![rev:72694] #3590: Allow subclassing of Folder
+ * ![rev:72693] #3590: Allow subclassing of Folder
+ * ![rev:72564] Include i18n where necessary. 2nd part of r72563
+ * ![rev:72563] Updated i18n javascript system so that the i18n javascript needs to be explicitly included, so that it doesn't poke its nose in where it's not wanted.
+ * ![rev:72557] #3418: Remove jQuery coupling from Email field focus, and only include email focus when validation is enabled
+ * ![rev:72457] #3644 - _ss_environment.php search creates open_basedir error (ed)
+ * ![rev:72341] Ensure that $this->class is set on ArrayData objects
+ * ![rev:72338] Allow SilverStripe to work when asp_tags is on
+ * ![rev:72252] Memory usage improvements to CsvBulkLoader and Member::onBeforeWrite()
+ * ![rev:72201] fixed syntax fail in silverstripe navigator
+ * ![rev:72200] Prevent infinite redirection when the homepage isn't available, when using modules such as subsites.
+ * ![rev:72190] escaped filename before querying with it - #ajoneil
+ * ![rev:73283] Using auto-escaped get_by_id() in CommentAdmin and SecurityAdmin (Merged from r73247)
+ * ![rev:73395] Disallow access of cli-script.php through a browser
+ * ![rev:72602] restored image panel showing 3 across (#3670)
+ * ![rev:72254] Fix tabs not being correct size when first loaded
+
+## Other
+
+ * ![rev:73285] (Merged from r73250)
36 docs/en/changelogs/2.3.10.md
View
@@ -0,0 +1,36 @@
+# 2.3.10 (2010-12-21)
+
+## Overview
+
+ * Security: XSS in controller handling for missing actions
+ * Security: SQL injection with Translatable extension enabled
+ * Security: Version number information disclosure
+ * Security: Weak entropy in tokens for CSRF protection, autologin, "forgot password" emails and password salts
+ * Security: HTTP referer leakage on Security/changepassword
+ * Security: CSRF protection bypassed when handling form action requests through controller
+ * Improved security of PHPSESSID and byPassStaticCache cookies (setting them to 'httpOnly')
+
+## Upgrading Notes
+
+See [2.4.4](2.4.4)
+
+## Changelogs
+
+### Features and Enhancements
+
+ * [rev:114501] Added !RandomGenerator for more secure CSRF tokens etc. (from r114497) (from r114499)
+
+### Bugfixes
+
+ * [rev:115200] Removing form actions from in !AssetAdmin, CMSMain, !LeftAndMain - handled through Form->httpSubmission() (merged from r115185)
+ * [rev:115191] Checking for existence of !FormAction in Form->httpSubmission() to avoid bypassing $allowed_actions definitions in controllers containing this form
+ * [rev:115191] Checking for $allowed_actions in Form class, through Form->httpSubmission() (from r115182)
+ * [rev:114776] Disallow web access to sapphire/silverstripe_version to avoid information leakage (from r114773)
+ * [rev:114772] Disallow web access to cms/silverstripe_version to avoid information leakage (from r114770)
+ * [rev:114763] Avoid potential referer leaking in Security->changepassword() form by storing Member->!AutoLoginHash in session instead of 'h' GET parameter (from r114758)
+ * [rev:114741] Fixed CSRF warning in image form after selecting a folder. (from r80237)
+ * [rev:114517] Escaping $locale values in Translatable->augmentSQL() in addition to the i18n::validate_locale() input validation (from r114515) (from r114516)
+ * [rev:114513] Limiting usage of mcrypt_create_iv() in !RandomGenerator->generateEntropy() to *nix platforms to avoid fatal errors (specically in IIS) (from r114510) (from r114512)
+ * [rev:114509] Using !RandomGenerator class in Member->logIn(), Member->autoLogin() and Member->generateAutologinHash() for better randomization of tokens. Increased VARCHAR length of '!RememberLoginToken' and '!AutoLoginHash' fields to 1024 characters to support longer token strings. (from r114504) (from r114507)
+ * [rev:114502] Using !RandomGenerator class in !SecurityToken->generate() for more random tokens (from r114500)
+ * [rev:114266] Removing quotes from test data in !RestfulServiceTest, it gives different results depending on magic_quotes_gpc setting on PHP configuration (merged from r80132).
11 docs/en/changelogs/2.3.11.md
View
@@ -0,0 +1,11 @@
+# 2.3.11 (2011-02-02)
+
+## Overview
+
+ * Bugfix: CMSMain->rollback() fails because of CSRF protection
+
+## Changelog
+
+### Bugfixes
+
+ * [rev:115919] #6291 Remove rollback action from CMSMain allowed_actions and rely on form action_rollback instead which is safer
540 docs/en/changelogs/2.3.2.md
View
@@ -0,0 +1,540 @@
+# 2.3.2 (2009-06-18)
+
+## Upgrading
+
+### Feature Changes
+
+#### CMS image alignment changes
+
+Image alignment elements have been changed slightly. There are no longer any `<DIV>` elements created with the images
+using the insert image toolbar in the CMS.
+
+All of these selectors in your typography.css are affected:
+
+* div.image.left
+* div.image.right
+* div.image.leftAlone
+* div.image.center
+
+They need to be changed to the following (respectively):
+
+* img.left
+* img.right
+* img.leftAlone
+* img.center
+
+Here's an example of how the default Blackcandy theme was changed:
+
+[http://open.silverstripe.org/changeset/75917/themes/blackcandy/branches/2.3/blackcandy/css/typography.css](http://open.silverstripe.org/changeset/75917/themes/blackcandy/branches/2.3/blackcandy/css/typography.css)
+
+#### Translatable Datamodel
+
+The datamodel for the Translatable extension was changed from multiple language tables to multiple rows for each
+translated record in the original table. We've also introduced the concept of "Translation groups", which means not
+every translated record has to exist in a "master language". Please review our updated documentation on how to [enable Translatable](/topics/translation).
+
+If you are upgrading an existing database with existing translations, you'll need to run our [Migration Script](/topics/translation#migrating_from_2.1_datamodel) before using the
+database.
+
+For in-depth discussion of the schema changes and translation groups, please refer to our developer mailinglist:
+[1](http://groups.google.com/group/silverstripe-dev/browse_thread/thread/91e26e1f78d3c1b4/bd276dd5bbc56283?lnk=gst&q=translatable#bd276dd5bbc56283)
+and
+[2](http://groups.google.com/group/silverstripe-dev/browse_thread/thread/575001296360a1cc/e3268963c6d8cef7?lnk=gst&q=translatable#e3268963c6d8cef7).
+
+#### Translatable property selection
+
+It is no longer possible to exclude certain properties on a DataObject from being translatable. This is a limitation by
+our database schema choice. See
+[discussion](http://groups.google.com/group/silverstripe-dev/browse_thread/thread/2b3df26361d17119/be8f9f08a797bd43?lnk=gst&q=translatable#be8f9f08a797bd43)
+on our mailinglist and ticket [#3722](http://open.silverstripe.com/ticket/3722).
+
+#### Translatable URLs
+
+Every page is now forced to have a unique URL, different languages can't be switched by appending a `?lang=xx`
+property any longer. Languages don't have to be set in sessions or cookies, as every request is able to determine the
+language for the remaining site by inspecting the URL. Unique URLs are enforced because of SEO concerns, problematic
+caching on proxies, browser and framework-level, as well as difficult debugging with session states. See
+[discussion](http://groups.google.com/group/silverstripe-dev/browse_thread/thread/17908f7318decfac/0c2b2e2a07ea6955?lnk=gst&q=translatable+url#0c2b2e2a07ea6955)
+on our mailinglist.
+
+### API Changes
+
+#### Important, but simple, ModelAdmin change
+
+The configuration statics for ModelAdmin have been changed from protected to public, so that `Object::get_static()`
+can access them. In particular the following static variables have been changed.
+
+* `ModelAdmin::$managed_models`
+* `ModelAdmin::$collection_controller_class`
+* `ModelAdmin::$record_controller_class`
+* `ModelAdmin::$model_importers`
+* `ModelAdmin::$page_length`
+
+Because of this, you will need to change the static definitions in your ModelAdmin subclasses. For example, you should
+change this:
+
+ :::php
+ class MyCatalogAdmin extends ModelAdmin {
+
+ protected static $managed_models = array(
+ 'Product',
+ 'Category'
+ );
+
+ ...
+ }
+
+
+To this:
+
+ :::php
+ class MyCatalogAdmin extends ModelAdmin {
+
+ public static $managed_models = array(
+ 'Product',
+ 'Category'
+ );
+
+ ...
+ }
+
+
+
+#### Deprecated Translatable::enable()
+
+ * Use ''Object::add_extension('SiteTree','Translatable'')'' instead of `Translatable::enable()`
+ * Use ''Object::remove_extension('SiteTree','Translatable'')'' instead of `Translatable::disable()`
+* Use ''Object::has_extension('SiteTree','Translatable'')'' instead of `Translatable::is_enabled()`
+
+#### Deprecated Translatable "lang" methods
+
+
+## 2.3.2-rc4
+
+### Bugfixes
+
+ * ![rev:79278] Fixed TranslatableTest->testSavePageInCMS(), needed admin login to edit ViewersGroups field (Merged via: r79282)
+ * ![rev:79269] Excluding Access fields on SiteTree from Translatable->updateCMSFields(), as their original values break the javascript logic for showing/hiding the fields (Merged via: r79282)
+ * ![rev:79266] Passing locale through to TreeSelectorField ajax calls (Merged via: r79282)
+ * ![rev:79240] Marking new TreeMultiSelectField_Readonly with $readonly flag, otherwise breaks CMS saving with Translable enabled etc. (see #4240)
+
+## 2.3.2-rc3
+
+### Enhancement
+
+ * ![rev:78919] DevelopmentAdmin: Changed dev/build to produce nicer formatting when running from sake/dev/build CLI
+ * ![rev:78618] Add HTMLText#FirstSentence based on new HTMLText#Summary
+
+### API Change
+
+ * ![rev:78632] Added increase_memory_limit_to() for increasing but not decreasing memory limit.
+ * ![rev:78618] Added two arguments to HTMLText#Summary. Minimal impact since previously any usage of this function threw an error.
+
+### Bugfixes
+
+ * ![rev:79208] Don't remove translation groups in Translatable->onBeforeDelete() if the decorated record uses Versioned, as other representations of the record might still exist in other tables (e.g. SiteTree_Live) (see #4219) (Merged via: r79211)
+ * ![rev:79194] Writing Locale in Translatable->onBeforeWrite() regardless of the record ID existing (see #4232). This is more in line with Translatable->requireDefaultRecords() which automatically updates all NULL locale values anyway. (Merged via: r79195)
+ * ![rev:78920] DevelopmentAdmin: Don't allow dev/reset to be run from CLI, as this could be accidentally run - give a message that the user should run this from their web browser instead
+ * ![rev:78732] #4119: Fixed encoding of readonly TextareaFields and unicode in TextareaFields.
+ * ![rev:78729] Fixed Translatable->requireDefaultRecords() for non-SiteTree objects (was assuming Versioned to be present) (Merged via: r79195)
+ * ![rev:78728] A couple of bugfixes on HTMLText#Summary and HTMLText#FirstSentence so the trickiest tests pass
+ * ![rev:78618] Replace HTMLText#Summary with one that works.
+ * ![rev:78542] Don't allow the use of get-var ?isDev=1 when security DB isn't available.
+ * ![rev:78496] WidgetAreaEditor shouldn't ever call editable segment "NoWidgets" - this is just a placeholder
+ * ![rev:78471] Fixed readonly version of TreeMultiselectField
+ * ![rev:78470] Get backtrace rather than crazy context stuff shown in dev error messages
+ * ![rev:78469] Fix readonly versions of grant fields.
+ * ![rev:78452] fixed spelling of spam protector
+ * ![rev:78352] modified convertDataObjectWithoutHeader to handle empty relationships.
+ * ![rev:78256] Removing operating system limitations for Flash Player checks which determine showing/hiding of upload button (which currently requires exactly FP9 in our version of SWFUpload). See #3679 and #3023 for followup tickets.
+ * ![rev:78155] Changing from unset record entry to an empty value shouldn't register as a 'level 2' change
+ * ![rev:78118] Using language dropdown to determine locale for partial tree ajax loads, because we can't rely on a page with a hidden "Locale" field being loaded in the CMS. Fixed bug with wrong spelling of "locale" argument. (see #3995). (Merged via: r78119)
+ * ![rev:76517] Closing `<link type="alternate">` tags for XHTML compliance on Translatable->MetaTags(). Use ContentNegotiator to transform them back to HTML markup. See #3989 (Merged via: r78167)
+
+## 2.3.2-rc2 Changelog
+
+### API Change
+
+ * ![rev:77658] Added DataDifferencer, for comparing DataObjects. Note that it won't be used by the core features until 2.3.3, but is made available here for the cmsworkflow module.
+ * ![rev:77385] Removed @deprecated 2.3 JS function ingize() from LeftAndMain.js: Please use ss.i18n instead
+
+
+### Bugfixes
+
+ * ![rev:77937] fixed is_array error in TableListField. #4123
+ * ![rev:77849] Fixed bugs in previous change to DOD
+ * ![rev:77822] Fix edge-case bug with application of decorators
+ * ![rev:77766] #4133 Fixed case where ComplexTableField failed to detect a has_many relation from the parent
+ * ![rev:77737] fixed #4119 by using htmlentities rather then Convert functions
+ * ![rev:77733] #4113: Fixed bugs with template processing in i18nTextCollectorTask.
+ * ![rev:77727] #4119 netminds: Fix error page publication for lang to locate replacement.
+ * ![rev:77726] a redirection with an external link that has more than one query string variables. Do not convert the link to html entities
+ * ![rev:77662] #2328: Show backtrace for uncaught exceptions (merged from r70444)
+ * ![rev:77596] fixed clearing issue with IE7
+ * ![rev:77553] Removed spurious console.log() functions (merged from r77552)
+ * ![rev:77528] missing unmoderated action in CommentAdmin.php
+ * ![rev:77461] Ensure that when a page is deleted from stage or live, its descendants are also deleted.
+
+### Minor changes
+
+ * ![rev:78083] Reverted r78055, it breaks TableListFieldTest and doesn't actually fix the bug it was supposed to (PHP segfaulting)
+ * ![rev:78082] Merged from trunk
+ * ![rev:78081] Merged from trunk
+ * ![rev:77992] Merged from trunk
+ * ![rev:77766] Updated tests for ComplexTableField
+ * ![rev:77595] fixed layout for SelectionGroup file
+ * ![rev:77554] mergeinfo
+ * ![rev:77384] Removed cases where GhostPage was being unset from the tests
+ * ![rev:77381] Removed unused ReportField_Controller URL rule from cms/_config.php
+
+## 2.3.2-rc1 (changes since 2.3.2-beta1)
+
+### API Change
+
+ * ![rev:77006] Deprecated Translatable::set_reading_lang(), use Translatable::set_current_locale().
+ * ![rev:76853] Deprecated Translatable::current_lang(), use Translatable::get_current_locale() (Merged via: r76855)
+ * ![rev:76839] Deprecated Translatable->getTranslatedLangs(), use getTranslatedLocales()
+ * ![rev:76723] Added SiteTree::doDeleteFromLive()
+ * ![rev:76666] Made batch actions pluggable through CMSBatchActionHandler::register()
+ * ![rev:76207] When there are script tags in the body, put requirements script just before them, instead of at the very top of the body. Since this reduces the cost of the (sometimes necessary) script tags in the body, the notice-level error has been removed.
+
+
+### Bugfixes
+
+ * ![rev:77282] WidgetAreaEditor gets it's related WidgetArea using getComponent(), a more robust way of getting the component
+ * ![rev:77259] Fixed Debug::friendlyError() to use Translatable::get_current_locale() instead of deprecated Translatable::current_lang()
+ * ![rev:77256] Fixed undefined variable $langAvail in Translatable
+ * ![rev:77242] Added a missing default english string to ADDITEM translatable entity in TableField.ss
+ * ![rev:77140] If CTF doesn't have a parent class (set to false), avoid breakages in ComplexTableField::getFieldsFor()
+ * ![rev:77111] #4082 - Translatable CMS fields layout broken in IE6
+ * ![rev:77031] Add JavaScript for HtmlEditorField on every CMS page, to avoid issue where loading form with HtmlEditorField via ajax doesn't work because scripts are stripped out.
+ * ![rev:77016] TableListField items couldn't be deleted because TableListField_ItemRequest::__construct() didn't call parent::__construct()
+ * ![rev:76955] Make requirements combiner work with jQuery
+ * ![rev:76949] #4038 If attempting to set a default locale that doesn't exist, throw a warning in Translatable::set_default_locale()
+ * ![rev:76948] Fixed case where SiteTree->getCMSFields() is missing a parent page, and thus it results in a non-object
+ * ![rev:76930] Fixed potential non-object error in LeftAndMain::callPageMethod()
+ * ![rev:76913] Fixed missing tinymce_template bug in ReportAdmin
+ * ![rev:76896] Fixed ErrorPage not showing up properly due to a SQL query that was merged from trunk not compatible with 2.3
+ * ![rev:76890] #4058 Requirements::process_combined_files() fixed small typo in the output
+ * ![rev:76881] #4068 - Fixed spelling mistake in en_US.php
+ * ![rev:76875] Fix javascript error in IE caused by Changeset 76845 where reloading a page would trigger a resetChanged before the tinyMCE instance existed
+ * ![rev:76872] Using Translatable::set_default_lang() for the deprecated i18n::set_default_lang() - this should trigger lang->locale convertion, and fix issues with running a 2.2->2.3 database schema migration (see #4009) (Merged via: r76873)
+ * ![rev:76870] Fixed CMSMain->LangSelector() default language selection (Merged via: r76871)
+ * ![rev:76866] Added translation groups for existing entries the first time Translatable is switched on through Translatable->requireDefaultRecords() (see #4051) (Merged via: r76867)
+ * ![rev:76852] Fix issue with 'clear' button on CMS SiteTree search
+ * ![rev:76841] Fixed tab layout for add form of model admin (Merged via: r77326)
+ * ![rev:76765] typo by legacy: ViewersGroup -> ViewerGroups, EditorsGroup -> EditorGroups
+ * ![rev:76731] Removed obsolete CMSMain->EditingLang(), not used any longer (see #3997) (Merged via: r76733)
+ * ![rev:76730] Fixed selected image hilighting, when inserting images into WYSIWYG, on IE
+ * ![rev:76729] Fixed WidgetAreaEditor javascript in IE
+ * ![rev:76726] Don't show the upload tab on readonly folders.
+ * ![rev:76702] Made TableListField::export() more memory efficient for large exports.
+ * ![rev:76655] Limit "show deleted pages" in CMS tree to current language (see #3994) (Merged via: r76656)
+ * ![rev:76650] Made SideTabs and SideReports work with Translatable by explicitly passing a "locale" GET parameter (see #4014) (Merged via: r76653)
+ * ![rev:76613] Fixed "Translations" tab display in CMS - no more duplication of original language and translated tab - see #4020 (Merged via: r76614)
+ * ![rev:76611] Creating a translation of a new page in a new language fails - fixed by adding locale to /createtranslation ajax call (see #4021) (Merged via: r76612)
+ * ![rev:76608] Fix getsubtree command in CMS tree to work with Translatable (#3995) (Merged via: r76609)
+ * ![rev:76603] Return NULL in Versioned::get_latest_version() if no record was found (fixes #4015) (Merged via: r76605)
+ * ![rev:76508] Escaped SiteTree.ID in LinkTracking selection so that show deleted pages would work.
+ * ![rev:76457] fixed escaping of code in textarea fields
+ * ![rev:76435] fixed treedropdownfield cropping long names off
+ * ![rev:76374] Ensure that the return object of File::find() is an instance of Image in HtmlEditorField_readonly::HtmlEditorField_dataValue_processImage()
+ * ![rev:76268] Fix modeladmin scrollbars in ie7
+ * ![rev:76258] Fixed scenarios where the page is readonly and the expected ParentType elements don't exist causing a JS error (Merged via: r76260)
+ * ![rev:76172] Fixed calls to uninherited() that returned no static in some cases, replacing with faster Object::get_static() calls (Merged via: r76205)
+ * ![rev:75027] Fixed Locale duplication detection for queries in Translatable->augmentSQL() (Merged via: r76593)
+ * ![rev:70325] Altering parent getCMSFields() results in RedirectorPage instead of starting with an empty FieldSet, as this discards any tabs and fields which are not explicitly mentioned in the implementation like the ability to create a translation. (Merged via: r76515)
+ * ![rev:70306] Don't require a record to be written (through exists()) when checking Translatable->isTranslation() or Translatable->hasTranslation()
+
+
+### Enhancement
+
+ * ![rev:77266] Added databse name to output of dev/build (merged from r77265)
+ * ![rev:77265] Added databse name to output of dev/build (Merged via: r77266)
+ * ![rev:77264] Added option for putting integers into SS_DATABASE_CHOOSE_NAME in _ss_environment.php, so that a parent/grandparent folder name can be used as the database name (merged from r77261).
+ * ![rev:77261] Added option for putting integers into SS_DATABASE_CHOOSE_NAME in _ss_environment.php, so that a parent/grandparent folder name can be used as the database name. (Merged via: r77264)
+ * ![rev:76944] Significant speed up for SiteTree Filter
+ * ![rev:76847] Add SSMacron plugin for inserting macron characters
+ * ![rev:76845] Use new HtmlEditorConfig API to specify options for CMS HtmlEditorField
+ * ![rev:76840] Using standard LanguageDropdownField in CMSMain->LangSelector() (Merged via: r76843)
+ * ![rev:76839] Added $instance parameter to LanguageDropdownField to call instance-specific canTranslate() on it (optionally) (Merged via: r76842)
+ * ![rev:76779] Correct issue with SiteTree filtering not persisting and add drop down for page type and clear button. Part of a re-work of the search system
+ * ![rev:76666] Added batch actions for unpublish and delete from published.
+ * ![rev:76594] Improved TranslatableTest->testCreateTranslationTranslatesUntranslatedParents() to translate two grandchildren - this used to be an issue in branches/2.3 (see #4016) (Merged via: r76597)
+ * ![rev:70306] Adding link back to original page in CMS editform for translations
+
+
+### Other
+
+ * ![rev:77326] Merged from trunk
+ * ![rev:77071] the sort
+ * ![rev:77051] Fix a PHP segfault
+ * ![rev:76942] API: Allow specifying any callback to setMarkingFunction, not just a function name.
+ * ![rev:76844] API: Move the TinyMCE configuration from a javascript file to a php system, to allow for site specific and section specific html editor options.
+ * ![rev:76779] @todo: Tests, speed optimisation, proper connection of filtering with tree control checkboxes
+ * ![rev:76260] Merged from trunk
+ * ![rev:76205] Merged from trunk
+ * ![rev:71917] NOTFORMERGE: Added custom batch actions and a 'show generic/customised' checkbox to the oriwave CMS. When upgrading to 2.3 or 2.4, we should use this code as a use-case for a new API that lets us customise the CMS interface. The JavaScript refactoring work we do might want to bear this in mind, to make such customisations easier. (Merged via: r76666)
+
+
+
+## Beta 1 - since 2.3.1
+
+### New Features
+
+ * ![rev:75153] Allow Title and Navigation Label to be searched separately
+ * ![rev:74739] hooks into form field to allow custom error messages. Note does not currently apply to the behaviour / js. Just the PHP validation
+ * ![rev:74538] make PasswordField and ConfirmedPasswordField able to either readonly or disabled.
+ * ![rev:74503] make PasswordField and ConfirmedPasswordField able to either readonly or disabled.
+ * ![rev:74327] added $Var.UpperCase support to DBField
+ * ![rev:74326] allow you to disable ?m suffixing of requirements
+ * ![rev:74248] optionally allow sorting toDropdownMap() function. Patched from #3829
+ * ![rev:73670] added after uploading notify method
+ * ![rev:70327] Enabled specifying a language through a hidden field in SearchForm which limits the search to pages in this language (incl. unit tests) (Merged via: r74986)
+
+
+### API Change
+
+ * ![rev:75913] Deprecated ModelAsController->get404Page() with using the URLSegment "404" on a normal page type - please use the ErrorPage class instead (Merged via: r75916)
+ * ![rev:75742] Deprecated Translatable::get_langs_by_id() - use getTranslations()
+ * ![rev:75328] Deprecated Translatable::get_homepage_urlsegment_by_language(), use get_homepage_urlsegment_by_locale() (Merged via: r75685)
+ * ![rev:74969] Deprecated DataObjectSet->toDropDownMap() and made it an alias of map(), copying the functionality of toDropDownMap() into map()
+ * ![rev:74901] add documentation to changeset r74858.
+ * ![rev:74858] BulkLoader::getImportSpec() call DataObject::fieldLables() with $includerelations as false, so that the relations is separated from column fields
+ * ![rev:74070] Deprecated Translatable::choose_site_lang(), use choose_site_locale() (Merged via: r74986)
+ * ![rev:73951] Removed Translatable::creating_from() - doesn't apply any longer
+ * ![rev:73900] Deprecated Object->extInstance(), use getExtensionInstance() instead
+ * ![rev:73468] Removed Translatable::get_original() - with the new "translation groups" concept there no longer is an original for a translation
+ * ![rev:73466] Deprecated Translatable::set_default_lang(), Translatable::default_lang() (Merged via: r74986)
+ * ![rev:73345] Removed CMSMain->switchlanguage() - createTranslation() is sufficient for new, ajax refreshing of CMS state got way too complicated for switching languages, we now just reload the entire CMS with a different ?lang GET parameter (Merged via: r74988)
+ * ![rev:73338] Translatable->findOriginalIDs(), Translatable->setOriginalPage(), Translatable->getOriginalPage()
+ * ![rev:70307] Removed CMSMain->switchlanguage() (Merged via: r74988)
+ * ![rev:70118] Removed obsolete Translatable::table_exists()
+ * ![rev:70072] Removed obsolete internal Translatable methods: hasOwnTranslatableFields(), allFieldsInTable()
+ * ![rev:69959] Removed Translatable::get_one(), Translatable::write()
+
+
+### Bugfixes
+
+ * ![rev:76036] Fixed extraFilter argument for SiteTree::get_by_url() when translatable is enabled
+ * ![rev:76019] Unblock blocked requirements when opening a poppup - otherwise
+ * ![rev:75984] Removing ParentType and ParentID fields in Translatable->updateCMSFields() as they are causing js problems when set to readonly. These fields should only be set on the original record anyway (at least as long as we don't have a multi-language capable TreeMultiSelectField). (Merged via: r76035)
+ * ![rev:75983] Removed URLSegment detection from Translatable->onBeforeWrite() - it was always preceeded by SiteTree->onBeforeWrite() which already alters the URL, so the appending of locale values to disambiguate the URL was pointless (never triggered) (Merged via: r76035)
+ * ![rev:75936] Resetting default language in TranslatableTest - this was breaking VirtualPageTest before (Merged via: r75937)
+ * ![rev:75926] Fixed undefined var error in VirtualPage (Merged via: r75937)
+ * ![rev:75922] Resetting Translatable locale in SearchForm after querying - this was causing side-effects when running TranslatableSearchFormTest in combination with other Translatable tests (Merged via: r75937)
+ * ![rev:75920] Ensure that when template content is being parsed by Email::parseVariables(), template path comments don't show
+ * ![rev:75919] Ensure that template path comments don't make it into ViewArchivedEmail
+ * ![rev:75915] Fixed wrong parameter in ErrorPage::get_static_filepath() (Merged via: r75916)
+ * ![rev:75914] Fixing assets filepath in Debug::friendlyError() (Merged via: r75916)
+ * ![rev:75873] Automatically publish virtual pages when their source pages are published
+ * ![rev:75869] #3970: Make virtual page editing work.
+ * ![rev:75831] Checking for existing value on TreeDropdownField->performReadonlyTransformation() - this broke the ReadonlyTransformation on Translatable->updateCMSFields() for the new "ParentID" field in SiteTree->getCMSFields()
+ * ![rev:75826] Removing the appended querying for NULL or empty Locale values in Translatable->augmentSQL() - this should no longer be necessary as we set default locales to all records through Translatable->requireDefaultRecords() (Merged via: r75838)
+ * ![rev:75791] Fixed ErrorPage::get_filepath_for_errorcode() to work with locale values instead of short language subtags (Merged via: r75838)
+ * ![rev:75787] Fixed faulty regex that broke rewritten links to be relative to the base href
+ * ![rev:75785] set when ajax is disabled for commenting that we redirect manually down to the comment form
+ * ![rev:75782] Unified locale values between i18n::$all_locales and $common_locales - the common locales should be a subset of all locales, without any additional ones as this might cause side-effects with LanguageDropdownField (see #3958) (Merged via: r75783)
+ * ![rev:75745] Fixed DBLocaleTest (Merged via: r75746)
+ * ![rev:75743] #3959: Fixed auto-setting has many relations on CTF - works mostly like the many-many relation auto setting.
+ * ![rev:75733] Allow insertion of object tags (such as youtube vids) into WYSIWYG's HTML view
+ * ![rev:75705] Fixed right hand image add/edit form panel sizing
+ * ![rev:75675] Fixed i18n::get_locale_from_lang() to return original parameter if it detects a fully qualified locale that shouldn't be converted (Merged via: r75685)
+ * ![rev:75654] Fixed PageCommentInterface $this->class being NULL because parent::__construct() wasn't called
+ * ![rev:75614] Fixed refactoring of getRecord() so that it can handle currentPage() calls properly.
+ * ![rev:75611] Let CMS users open pages deleted from draft; bug introduced by translatable.
+ * ![rev:75585] Updated DataObjectSet::map() to use empty string, rather than 0, as the empty value
+ * ![rev:75328] Updated enabling mechanism in Translatable->alternateGetByUrl()
+ * ![rev:75270] #3740: Fixd duplicate tab highlight in ModelAdmin, by moving back to old tabstrip.js
+ * ![rev:75269] #3740: Make tabstrip.js less picky about the URL before the # link
+ * ![rev:75263] Fixed HTTPRequest::send_file() to actually output the response, whereas before it did nothing
+ * ![rev:75258] Fixed HTTPRequest::send_file() to send the file properly over SSL with Internet Explorer. Without the pragma header, it won't work
+ * ![rev:75249] Correctly showing the available languages dropdown in Translatable->getCMSFields() (Merged via: r75685)
+ * ![rev:75248] Only force DataObject->forceChange() on fields which aren't already marked as changed (Merged via: r75685)
+ * ![rev:75226] Let users open the root folder in Files and Images section
+ * ![rev:75223] Disable warning about PastMember cookie if contnet was sent too early.
+ * ![rev:75182] Make sure tabs resize correctly when they are loaded
+ * ![rev:75180] Make sure tabs are resized correctly on first load
+ * ![rev:75161] Disable Geoip if in CLI mode - this fixes the tests from breaking. The geoip command won't be available in CLI context
+ * ![rev:75156] Setting Classname and RecordClassname properties on internal $record map when constructing a DataObject without passing $record into it. This ensures that getChangedFields() works on ClassName as well, which is required for Translatable->onBeforeWrite() (Merged via: r75685)
+ * ![rev:75151] #3919: Fix DataObject::dbObject() for decorated fields (Merged from r75150)
+ * ![rev:75150] #3919: Fix DataObject::dbObject() for decorated fields (Merged via: r75151)
+ * ![rev:75126] Fixed incorrect spelling of "$this" variable
+ * ![rev:75125] Fixed CSVParser constructor not passing the arguments to the protected variables delimiter and enclosure
+ * ![rev:75121] #3681: Added dynamic width style to container div for TinyMCE-inserted images, so if the user resizes, the div width resizes too. Thanks to ajshort for the patch!
+ * ![rev:75119] Fix DropdownField to select the correct option when using a map with "0" as an array key - useful for boolean searching using DropdownField
+ * ![rev:75116] Fixed alternative database not being reset back to the normal one after TestRunner is finished
+ * ![rev:75113] Fixed image editing panel padding in CMS "Insert image" button being squashed
+ * ![rev:75096] Allow execution of actions (such as Page's search) on ErrorPage; limit the 404 display to the index() action
+ * ![rev:75095] Use rendered page for 404 pages
+ * ![rev:75049] Ensure that CheckboxField always returns 1 from the form request data instead of "on" - this was because the value attribute didn't exist on the `<input>` tag
+ * ![rev:75046] Make sure that CheckboxField sets it's value as either 1 or 0, so that saveInto() saves the proper boolean value
+ * ![rev:75045] Ensure that CheckboxField setValue() always sets it's value as either 1 or 0, even though the request data can come through as "on"
+ * ![rev:75039] Fixed case where logging in with a session member ID that didn't exist in the database stopped you from being able to "Log in as someone else"
+ * ![rev:75038] #3594: Made WYSIWYG editor 50% larger
+ * ![rev:75034] Select correct default data formatter in restfulserver when there's an apparently useful Accept header that doesn't actually match a data formatter{
+ * ![rev:75032] Fixed "Log in as someone else" action failure when submitting MemberLoginForm while logged in
+ * ![rev:75030] when load a new Page (or other type of form in DataAdmin or GenericAdmin), initTabstripe called additional time for every tabstrip on the page
+ * ![rev:75023] Fixed error if clicking the root of a sitetree in the CMS - affected the AssetAdmin and SecurityAdmin sections
+ * ![rev:74981] Member::inGroup() returns false instead of an error if group doesn't exist. Ticket #3813 - thanks bgribaudo!
+ * ![rev:74980] Fixed ajax deletion of Group records properly - the site tree items didn't disappear immediately after deleting
+ * ![rev:74978] Fixed spelling mistake of "getOrientation" method name on Image
+ * ![rev:74961] Fixed error if JS/CSS requirements have arguments. Ticket #3860. Thanks simon_w!
+ * ![rev:74951] Fixed CMSMainTest->testThatGetCMSFieldsWorksOnEveryPageType() - was comparing a string $class with instanceof() instead of comparing the actually created instance (Merged via: r74988)
+ * ![rev:74942] Fixed TranslatableSearchFormTest->setUp() method (Merged via: r74986)
+ * ![rev:74927] Clearing Requirements in ScaffoldingComplexTableField, and fixed constructor arguments
+ * ![rev:74924] Explicitly destroy TinyMCE instances when loading a new page, in an attempt to reduce memory leaks
+ * ![rev:74920] Moving Requirements for AssetTableField, CommentTableField and MemberTableField from __construct() into FieldHolder() and renderWith(), which means inclusion closer to render time, and less side-effects by a previous Requirements::clear(), e.g. in a CTF popup. See r74919
+ * ![rev:74919] Moving Requirements for TableField, TableListField, ComplexTableField, ScaffoldComplexTableField and HasManyComplexTableField from __construct() into FieldHolder() and renderWith(), which means inclusion closer to render time, and less side-effects by a previous Requirements::clear(), e.g. in a CTF popup
+ * ![rev:74904] Removed unnecessary requirements from ComplexTableField_Popup: LeftAndMain.js, LeftAndMain_right.js, TableField.js, ComplexTableField.js - they will be included by the fields if necessary
+ * ![rev:74902] Making sure all input fields inside a newly added TableField row have unique HTML ids. This was causing problems when javascript logic was acting on those (previously ambiguous fields), e.g. when trying to use a jQuery UI datepicker
+ * ![rev:74899] If validator doesn't exist on Form, don't attempt to call setForm() on it or you'll get a non-object error
+ * ![rev:74879] Removed additional $ sign that isn't supposed to be there that broke GroupTest
+ * ![rev:74725] Fixing CurrencyField serverside and javascript validation to accept numbers with leading or trailing spaces
+ * ![rev:74721] Fixing NumericField serverside validation to accept numbers with leading or trailing spaces by using trim()
+ * ![rev:74657] Fixed NumericField javascript validation to not fail on numbers with trailing or leading whitespace
+ * ![rev:74620] Added missing default english text for "No items found" in TableListField.ss
+ * ![rev:74489] add more condition before $this->form is used as Caller since $this->form can still not be set yet in a certain circumstance.
+ * ![rev:74487] A SoapServer will cache the wsdlFile when it is first initialized and never get updated if the constructor is not explicitly passed in 'cache_wsdl' as WSDL_CACHE_NONE.
+ * ![rev:74477] fixed typos in ResetFormAction
+ * ![rev:74397] Added missing "Created" and "LastEdited" fields to the MemberTableField export fields
+ * ![rev:74391] fixed overflow being hidden
+ * ![rev:74322] Allows DataObjectDecorators and other extensions to specify setters (setFoo) in the same manner as the already working Getters (getFoo).
+ * ![rev:74303] Allow testing of emails when Email::send_all_emails_to() is set
+ * ![rev:74272] fixed issue with greyscale GD - patch from camspiers
+ * ![rev:74098] Fixed javascript error in CommentTableField.js where input elements were not being correctly picked up, due to the form HTML change
+ * ![rev:74097] Search filter should retain the existing query instead of removing it after each search in MemberTableField and CommentTableField
+ * ![rev:74092] Fixed issue with StaticPublisher->onAfterWrite() failing because of incorrect arguments to Versioned::get_by_stage()
+ * ![rev:74071] Fixed Form_EditForm_Locale reference in LeftAndMain_right.js (used to be Form_EditForm_Lang) (Merged via: r74988)
+ * ![rev:74069] Fixed legacy handling of Translatable::enable(),Translatable::disable() and Translatable::is_enabled() - applying extension to SiteTree instead of Page to avoid datamodel clashes (Merged via: r74986)
+ * ![rev:74065] Re-added Translatable->isTranslation() for more friendly deprecation (originally removed in r73338) (Merged via: r74986)
+ * ![rev:73900] Unsetting all cached singletons in Object::remove_extension() to avoid outdated extension_instances
+ * ![rev:73883] Making $_SINGLETONS a global instead of a static in Core.php so it can be re-used in other places (Merged via: r74986)
+ * ![rev:73836] Removed version number from `<meta>` generator tag - opt for security by obscurity in this case (originally committed in r70422 and r71172) (Merged via: r73837)
+ * ![rev:73775] fixed cropping of TreeDropdownField popups and Date popups within complextablefield popups
+ * ![rev:73758] #3798 ajshort: Let searchcontext be used on sitetree
+ * ![rev:73608] fixed choppy gradient (or lack thereof) in the tinymce window
+ * ![rev:73603] updated FormTest with fullstop
+ * ![rev:73594] Fixed layout of cms rhs area buttons
+ * ![rev:73593] Simple toolbar alteration to make toolbar fit at 1024x768
+ * ![rev:73533] Fix call to undefined "_12Hour" function (merged from r73523)
+ * ![rev:73484] Get installer working with php_short_tags off (Merged r73481-3 from trunk)
+ * ![rev:73482] #3758: Fixed config-form.html for use with short_open_tag = off (Merged via: r73484)
+ * ![rev:73472] Fixed translatable test execution by making protected methods public (Merged via: r74986)
+ * ![rev:73468] Updated MigrateTranslatableTask to new Locale based datamodel (Merged via: r74986)
+ * ![rev:73465] Fixed Hierarchy->Children() testing in TranslatableTest - with the new datamodel you can't call Children() in a different language regardless of Translatable::set_reading_lang(), the Children() call has to be made from a parent in the same language (Merged via: r74986)
+ * ![rev:73344] Checking for existence of original before trying to get translation in LeftAndMain->currentPage() (Merged via: r74988)
+ * ![rev:73343] Changed CSS selector for TranslationTab javascript behaviour to be less specific (Merged via: r74988)
+ * ![rev:73342] Removed link to "original page" for a translation - no longer valid
+ * ![rev:73341] Disabled auto-excluding of default language from the "available languages" array in LanguageDropdownField - due to the new "translation groups" its possible to have a translation from another language into the default language (Merged via: r74986)
+ * ![rev:73339] Disabled "untranslated" CSS class for SiteTree elements - doesn't apply any longer with the new "translation groups" concept (Merged via: r74986)
+ * ![rev:73338] Removed bypass in Translatable->AllChildrenIncludingDeleted() (Merged via: r74986)
+ * ![rev:73059] Make object cache testing more robust (Merged via: r74986)
+ * ![rev:72054] Fixed finding a translated homepage without an explicit URLSegment (e.g. http://mysite.com/?lang=de) - see #3540
+ * ![rev:71340] Including Hierarchy->children in flushCache() and renamed to _cache_children. This caused problems in TranslatableTest when re-using the same SiteTree->Children() method with different languages on the same object (even with calling flushCache() inbetween the calls) (Merged via: r74986)
+ * ![rev:71297] Only show the LangSelector dropdown if there's multiple languages available on the site (Merged via: r74988)
+ * ![rev:71258] Fix translatable being enabled when it shouldn't be (Merged via: r74986)
+ * ![rev:70324] Making sure that LeftAndMain->CurrentPage() respects language settings - was returning pages in different language from session after switching between languages in cms (Merged via: r74988)
+ * ![rev:70323] Fixed expanded/unexpanded flags on new tree items - was showing expanded styling (plus icon) with newly created pages
+ * ![rev:70322] Ensuring that new pages can't be created when in translation mode by disabling the "create..." tree action (Merged via: r74988)
+ * ![rev:70318] Reverted special cases for Translatable in Versioned->canBeVersioned() (originally committed in r42119) - was checking for existence of underscores in table names as an indication of the "_lang" suffix, which is no longer needed. It was also a flawed assumption which tripped over classes like TranslatableTest_TestPage (Merged via: r74986)
+ * ![rev:70306] Don't require a record to be written (through exists()) when checking Translatable->isTranslation() or Translatable->hasTranslation()
+ * ![rev:70214] Falling back to Translatable::current_lang() if no $context object is given, in augmentAllChildrenIncludingDeleted() and AllChildrenIncludingDeleted()
+ * ![rev:70138] Disabled assumption that SQLQuery->filtersOnID() should only kick in when exactly one WHERE clause is given - this is very fragile and hard to test. It would return TRUE on $where = "SiteTree.ID = 5", but not on $where = array("Lang = 'de'", "SiteTree.ID = 5") (Merged via: r74986)
+ * ![rev:70080] Fix translatable migration not writing records to Live properly (Merged via: r74986)
+ * ![rev:69959] Temporarily disabled cookie/session selection in Translatable::choose_site_lang() until we have a good test suite for the side effects.
+ * ![rev:60171] Improved DataObject::get_one to avoid PHP segfaults (Merged via: r74986)
+
+
+### Enhancement
+
+ * ![rev:75815] Added page location fields in the behaviour tab, as an alternative to drag and drop
+ * ![rev:75814] Added page location fields in the behaviour tab, as an alternative to drag and drop
+ * ![rev:75793] Running TestRunner tests suites alphabetically through natcasesort() instead of using the (relatively arbitrary) class ordering from ClassInfo::getSubclassesFor() (Merged via: r75838)
+ * ![rev:75759] Allow selecting a single field from ComponentSet::getExtraData()
+ * ![rev:75742] Added DBLocale class for Translatable extension
+ * ![rev:75737] Added 'show deleted pages' function to CMS, with a restore page option.
+ * ![rev:75736] Added 'show deleted pages' function to CMS, with a restore page option.
+ * ![rev:75678] Adapted MigrateTranslatableTask to new Locale datamodel and fixed some inconsistencies with translation groups, duplicate records etc (Merged via: r75685)
+ * ![rev:75677] Added override flag to Translatable::addTranslationGroups()
+ * ![rev:75421] Auto-update locale values in Translatable->requireDefaultRecords() with default language when Translatable is first enabled (Merged via: r75685)
+ * ![rev:75351] Added nl_NL javascript translations for sapphire, see #3896 - thanks Mad_Clog (Merged via: r75685)
+ * ![rev:75349] Added Translatable->MetaTags() to automatically insert `<link rel="alternate" hreflang="...>` tags into the page template (Merged via: r75685)
+ * ![rev:75228] #3920: Alllow searching within subfolders in Files and Images section
+ * ![rev:75226] #3920: Alllow searching within subfolders in Files and Images section
+ * ![rev:75119] Allow "Yes" and "No" english text to be translated
+ * ![rev:75037] Added fullscreen button to WYSIWYG toolbar
+ * ![rev:75036] #3687: Allow the insertion of iframes (such as google maps snippets) into TinyMCEa
+ * ![rev:74941] Using set_up_once() in TranslatableTest and TranslatableSearchFormTest for better test run performance (Merged via: r74986)
+ * ![rev:74919] Removed constructor overloading in ScaffoldingComplexTableField, was reconstrcuting its own Requirements (with lots of unnecessary jQuery plugins) which should really be done by the individual form fields and the parent popup class
+ * ![rev:74489] add the ability that a SimpleImageField could be disabled.
+ * ![rev:74017] Improved deprecated fallbacks in Translatable by auto-converting short language codes to long locales and vice versa through i18n::get_lang_from_locale()/i18n::get_locale_from_lang() (Merged via: r74986)
+ * ![rev:73951] Translatable extension is no longer hooked up to SiteTree by default, which should improve performance and memory usage for sites not using Translatable. Please use Object::add_extension('SiteTree','Translatable') in your _config.php instead. Adjusted several classes (Image, ErrorPage, RootURLController) to the new behaviour. (Merged via: r74986)
+ * ![rev:73900] Unsetting class caches when using Object::add_extension() to avoid problems with defineMethods etc.
+ * ![rev:73884] Added Extension::get_classname_without_arguments() (Merged via: r74986)
+ * ![rev:73882] Added DataObjectDecorator->setOwner() (Merged via: r74986)
+ * ![rev:73473] Added Object::combined_static(), which gets all values of a static property from each class in the hierarchy (Merged via: r74986)
+ * ![rev:73469] Adjusted CMSMain and LeftAndMain to use locales instead of short lang codes when reading and writing translations. See r73468 for details on the underlying Translatable datamodel change (Merged via: r74988)
+ * ![rev:73468] Adjusted SearchForm, Debug, ErrorPage, SiteTree to using locales instead of lang codes
+ * ![rev:73467] Supporting "Locale-English" and "Locale-Native" as listing arguments in LanguageDropdownField (Merged via: r74986)
+ * ![rev:73466] Added Translatable::get_locale_from_lang(), Translatable::get_common_locales(), $common_locales and $likely_subtags in preparation to switch Translatable from using short "lang" codes to proper long locales
+ * ![rev:73345] Added CMSMain->IsTranslatableEnabled
+ * ![rev:73338] Added check for an existing record in Translatable->createTranslation()
+ * ![rev:73059] Added Object::clearCache() to clear a cache
+ * ![rev:73036] #3032 ajshort: Use static methods for accessing static data (Merged via: r74986)
+ * ![rev:72367] Using IETF/HTTP compatible "long" language code in SiteTree->MetaTags(). This means the default `<meta type="content-language...">` value will be "en-US" instead of "en". The locale can be either set through the Translatable content language, or through i18n::set_locale() (Merged via: r74986)
+ * ![rev:72054] Added RootURLController::get_default_homepage_urlsegment() (Merged via: r74986)
+ * ![rev:71795] Strip tags before limiting characters when using LimitCharacters() on HTMLText field type
+ * ![rev:70326] Added ErrorPage::$static_filepath to flexibly set location of static error pages (defaults to /assets) (Merged via: r74986)
+ * ![rev:70319] Disabled Translatab-e>augmentWrite() - was only needed for the blacklist fields implementation which is inactive for the moment
+ * ![rev:70308] Removed "Translating mode" status message above edit form - should be clear by the language dropdown above the CMS tree now (Merged via: r74988)
+ * ![rev:70307] Simplifying creation logic of new languages in CMS by reloading complete interface, rather than refreshing partial interface, language dropdown etc.
+ * ![rev:70306] Adding link back to original page in CMS editform for translations
+ * ![rev:70305] Allowing non-default language URLs to be accessed without explicitly specifying the language in GET request (Merged via: r76035)
+ * ![rev:70118] Made Translatable constructor arguments optional, as by default all database fields are marked translatable
+ * ![rev:70073] Added basic unit tests to new Translatable API
+ * ![rev:70072] Added a note about saving a page before creating a translation
+ * ![rev:69959] Showing clickable links for Translations in Translatable->updateCMSFields()
+
+
+### Other
+
+ * ![rev:76019] HTMLEditorFields won't work
+ * ![rev:75915] BUGIFX Changed ErrorPage->publish() to doPublish->doPublish() - the publication of static HTML into the /assets directory was lagging one version behind the actual published content
+ * ![rev:75816] Reverted r69824
+ * ![rev:75813] Reverted `<div>` being added to images - r69823, r69824
+ * ![rev:75812] Reverted r69828
+ * ![rev:75784] ENHANCHEMENT: added ability for a form author to set whether user should be redirected back down the the form rather then just back to the old page
+ * ![rev:75738] #3927 ENHANCEMENT Added support for many-many auto-setting relations with a standard ComplexTableField
+ * ![rev:75703] Merged r75696 from cms/trunk
+ * ![rev:75702] Merged r75697 from sapphire/trunk
+ * ![rev:75701] Merged r75691 from jsparty/trunk
+ * ![rev:75700] Merged r75690 from sapphire/trunk
+ * ![rev:75698] Merged r75689 from jsparty/trunk
+ * ![rev:75660] Merged from trunk
+ * ![rev:75267] Reverted r75263 and r75264
+ * ![rev:74988] Merging refactored Translatable from trunk, and related changes to CMSMain
+ * ![rev:74986] Merging in refactored Translatable architecture from trunk, including related/required changesets like enhancements to Object static handling (see details below)
+ * ![rev:74980]
+ * ![rev:74969]
+ * ![rev:74900] Reverted r74899
+ * ![rev:74714] Fix resize being called an additional time for every tabstrip on the page
+ * ![rev:74501] Undoing changeset committed in r74490
+ * ![rev:74416] fix the bug in Mingle (SC #234):Users reporting a parse error when trying to open grants. also HD(1571).
+ * ![rev:74304] Added SiteTree onAfterRevertToLive handler
+ * ![rev:74092]
+ * ![rev:73613] Merged r71795 from trunk
+ * ![rev:73481] Added a syntax checking test that will use short_tags on and off and asp_tags on (Merged via: r73484)
+ * ![rev:73452] Fixed issue with ModelAdmin tab CSS
+ * ![rev:71567] 'URLSegment' on line 484 and 494 now escaped (Merged via: r74986)
+ * ![rev:70033] Add translation migration task (Merged via: r74986)
+ * ![rev:69959] Merged, debugged and enhanced Translatable patches from branches/translatable at r64523, r64523, 64523, thanks wakeless!
+ * ![rev:68917] Merged Requirements fix from nestedurls branch (Merged via: r74986)
+ * ![rev:68915] Fixed bug in Requirements::disable() (Merged via: r74986)
+ * ![rev:68912] Bugfixes for recent staticpublisher imports (Merged via: r74986)
+ * ![rev:68911] Bugfix for staticpublisher updates in trunk (Merged via: r74986)
+ * ![rev:68900] Static caching merges from dnc branch (Merged via: r74986)
+ * ![rev:61495] Fixed bug that was causing phantom pages on DNC - no need to merge, because trunk already has this (Merged via: r74986)
+ * ![rev:61493] Fixed bugs with redirector page error message and static publishing - it created blank 'phantom' pages at the top level (Merged via: r74986)
+ * ![rev:60015] Set default cache behaviour to uncached. This is a good new default behaviour and can be merged. Pages that are cacheable should call HTTP::set_cache_age() in their controller init (Merged via: r74986)
+ * ![rev:60007] Fixed bug with calling DataObject::flush_and_destory_cache more than once (Merged via: r74986)
65 docs/en/changelogs/2.3.3.md
View
@@ -0,0 +1,65 @@
+# 2.3.3 (2009-08-03)
+
+
+## Upgrading
+
+### DataObjectDecorator::extraStatics()
+
+DataObjectDecorator::extraStatics() can no longer refer to $this because it's called statically
+
+## Changelog
+
+### API Change
+
+ * ![rev:79430] #4255 sharvey: DataObjectDecorator::extraStatics() can no longer refer to $this because it's called staticly (Merged via: r81698)
+
+
+### Bugfixes
+
+ * ![rev:82094] applied patch from #4381. Observable doesnt play nice with jQuery
+ * ![rev:82035] Fixed double up of `<span>` highlight tags around keywords in Text::ContextSummary()
+ * ![rev:81942] Fixed bugs in content differencer, and improved styling. BUGFIX: fixed notice when getting title of member which didnt exist. Merged from trunk r77661.
+ * ![rev:81894] Convert::recursiveXMLToArray() did not always check if the passed in XML is an object before calling get_class() on it
+ * ![rev:81883] Merged in PHP 5.3 bugfixes from trunk
+ * ![rev:81822] Deleted duplicate call to curl_exec() in RestfulService (merge error from r69704) (Merged via: r81823)
+ * ![rev:81698] #4285: Fixed static application bug that appeared in 2.3.2
+ * ![rev:81693] Fix static application for translatable (Merged via: r81698)
+ * ![rev:81676] #4285: Fixed application of decorators when add_extension not used. (Merged via: r81698)
+ * ![rev:81544] Calling parent constructors in ModelViewer
+ * ![rev:81467] Fixed Hierarchy->markChildren() to only mark nodes as unexpanded if they actually have children. This avoids UI glitches with "plus"-icons beside unexpandable nodes, and prevents batch actions and TreeNode->open() to trigger ajaxExpansion on nodes without children (from r78339) (Merged via: r81971)
+ * ![rev:81461] Correct behaviour if CMSMain::tellBrowserAboutPublicationChange() isn't passed a status message (Merged via: r81965)
+ * ![rev:81460] Fixed FileSearch parameter in AssetTableField. Pagination of filtered search results and refresh of the tabular view after saving a popup wasn't working because the search parameter wasn't retained (Merged via: r81962)
+ * ![rev:81450] If referrer had spaces, they would be encoded as %20, which would cause problems when interpolated into an sprintf pattern. Inject instead.
+ * ![rev:81262] Relax type checking in RequestHandler::checkAccessAction()
+ * ![rev:81173] Fixed application of parameterised extensions with Object::add_extension() (Merged via: r81698)
+ * ![rev:81050] prevented cms from dying when a page has no published children. Added check before stepping into the loop
+ * ![rev:80863] Fixed invalid HTML in AssetAdmin_uploadiframe.ss which could have an effect on file uploads
+ * ![rev:80382] Fixed Image_iframe.ss to use X-UA-Compatible IE7 emulation meta tag
+ * ![rev:80380] Fixed "method is not a string" error in Form::httpSubmission()
+ * ![rev:80131] Fix behaviour of FILE_TO_URL_MAPPING on Windows. (Merged via: r81883)
+ * ![rev:79720] Added explicit DataObjectDecorator::load_extra_statics() calls as a workaround for issues with extensions defined directly in-object. (Merged via: r81698)
+ * ![rev:79599] Allow extraDBFields() on decorators for compatibility, throw a deprecated notice (Merged via: r81698)
+ * ![rev:79433] Object::add_extension() should only load statics for extensions of DataObject, since it is specific to DataObjectDecorator (Merged via: r81698)
+ * ![rev:79430] #4255 sharvey: Fix application of extra db fields by DataObjectDecorators.
+ * ![rev:78628] Added better support for newly created records in DataDifferencer (Merged via: r81475)
+ * ![rev:78392] Fixed FileSearch parameter in AssetTableField. Pagination of filtered search results and refresh of the tabular view after saving a popup wasn't working because the search parameter wasn't retained (Merged via: r81962)
+
+
+### Enhancement
+
+ * ![rev:81933] Updated Versioned::compareVersions() to use DataDifferencer. Merged from trunk r77660
+ * ![rev:81544] Checking for GraphViz dependency in ModelViewer (Merged via: r81546)
+ * ![rev:81475] Improvements to DataDifferencer for cmsworkflow.
+ * ![rev:80863] Removed JS generated from PHP code in AssetAdmin::UploadForm() and placed it into AssetAdmin_uploadiframe.ss
+ * ![rev:80340] simpleXML() now catches the error if you try to call it on anything other then xml. MINOR: added test to RESTFul Service
+ * ![rev:79404] Added better support for using DataDifferencer to look at new records. (Merged via: r81475)
+ * ![rev:79400] Added better support for using DataDifferencer to look at new records. (Merged via: r81475)
+ * ![rev:78329] Added API docs and changedFieldNames() method to DataDifferencer (Merged via: r81475)
+ * ![rev:77787] Allow altering of DataObject:$api_access by decorators. (Merged via: r81698)
+
+
+### Other
+
+ * ![rev:81993] e:
+ * ![rev:81965] Merged r81461 from trunk
+ * ![rev:81962] Merged r81460 from trunk
43 docs/en/changelogs/2.3.4.md
View
@@ -0,0 +1,43 @@
+# 2.3.4 (2009-11-27)
+
+## Changelog
+
+### New Features
+
+ * [rev:84085] Allow different user groups to have different HtmlEditorConfigs
+ * [rev:83631] Allow file size/extension limits to apply to the admin user as
+
+
+### API Change
+
+ * [rev:91610] BasicAuth::requireLogin() no longer has an option to automatically log you in. You can call logIn() on the object returned, instead. (from r91603)
+ * [rev:91130] move SubscribeSumission.ss from cms module to newsletter module, cos it is only used by newsletter module.
+ * [rev:91034] Added SapphireTest::logInWithPermission() (merged from r89209)
+ * [rev:88176] Added no-arg option to increase_memory_limit_to() (from r80241)
+ * [rev:84594] Template codes can no longer be used in emails except when using .ss files.
+ * [rev:84157] Make Object::uninherited_static() have a separate execution path to Object::get_static(), for more reliable operation. The intention is that for any given static, you either use Object::get_static() or you use Object::uninherited_static() - not both. (from r84151, r84155, r84156)
+
+
+### Bugfixes
+
+ * [rev:93483] fix for multiple EmailField validation on one form. Merged via r78565
+ * [rev:91660] Made use of new BasicAuth::protect_entire_site() consistent. (from r91658)
+ * [rev:91611] Don't enable site-wide protection by default (from r91609)
+ * [rev:89612] Added rewriteHashlinks = 'php' option to SSViewer so that static publisher can handle internal hashlinks properly.
+ * [rev:89611] Added rewriteHashlinks = 'php' option to SSViewer so that static publisher can handle internal hashlinks properly.
+ * [rev:88281] Ensure ASSETS_PATH is respected
+ * [rev:87869] Pass locale rather than language to spellchecker_languages
+ * [rev:87867] Always choosing translatable default language in CMSMain->init() for TinyMCE spell checking. Always setting ->Locale in order to have it available for the spell checking (from r81716)
+ * [rev:87458] #4579: Translatable's call to new LanguageDropdownField() broked (from r87456)
+ * [rev:86573] fixed typo in pagecomment which meant commenter url was not saved. BUGFIX: updated protector to use new format
+ * [rev:86325] Fixed Links to Moderate Comments from the CMS and front end. MINOR: removed complextable functions which no longer get called, moved logic to the PageComment Class
+ * [rev:86202] was being passed to foreach without a check to see if it's an array or not.
+ * [rev:85779] Fixed Member::sendInfo() assumptions that broke with an API change in r84594
+ * [rev:85632] findByTagAndAttribute is unintentionally expanding any php found in the href/src components its regex extracts. Changed double quotes to single quotes to fix this.
+ * [rev:84957] Tied rollback action to edit, rather than publish, permission, since it only involves editing the draft site.
+ * [rev:84380] Fixing the comment's author website url being converted to lowercase: now case is not affected.
+ * [rev:84332] Added required javascript files (behaviour, prototype, prototype_improvements) to the Field() method of TreeDropdownField.php
+ * [rev:84320] Added required javascript files (behaviour, prototype, prototype_improvements) to the Field() method of TreeSelectorField.php
+ * [rev:83587] Object subclasses with a constructor that didn't already will now call parent to respect inheritance
+ * [rev:83586] CMSMenuItem constructor now calls parent to respect inheritance
+ * [rev:83579] Fixed FilesystemPublisher::__construct() not calling parent::__construct() and breaking DataObjectDecorator::load_extra_statics()
15 docs/en/changelogs/2.3.5.md
View
@@ -0,0 +1,15 @@
+# 2.3.5 (2010-01-21)
+
+## Changelog
+
+### Bugfixes
+
+ * [rev:97221] BUGFIX: add if condition for window.ontabschanged() call
+ * [rev:97074] BUGFIX Attribute escaping in PageCommentInterface_singlecomment.ss
+ * [rev:96962] BUGFIX: fixed overlapping buttons in modeladmin.
+ * [rev:96959] BUGFIX: fixed layout issue when tinymce event handler was not removed before the load request. Removed back button display when no history existed
+ * [rev:96998] BUGFIX: fixed TaskRunner generating link with 2 slashes
+
+### Minor
+
+ * [rev:97004] MINOR: fixed notice level error when ImageSource isnt set
40 docs/en/changelogs/2.3.6.md
View
@@ -0,0 +1,40 @@
+# 2.3.6 (2010-02-08)
+
+## Changelog
+
+### Features and Enhancements
+
+ * [rev:98081] Removed dev/reset, instead encouraging the use of dev/tests/startsession for tests.
+ * [rev:98081] Let people use dev/tests/startsession without a fixture, instead calling requireDefaultRecords
+
+
+### API Changes
+
+ * [rev:98375] HTTP::setGetVar() always returns absolute URLs. Use Director::makeRelative() to make them relative again. (merged from r98373)
+ * [rev:98375] HTTP::setGetVar() combines any GET parameters in PHP array notation (e.g. "foo[bar]=val") instead of replacing the whole array (merged from r98373)
+
+
+### Bugfixes
+
+ * [rev:98405] #5044 Hierarchy::loadDescendantIDListInto() now uses Object::getExtensionInstance('Hierarchy') instead of going through call(), as PHP 5.3 has issues converting references to values
+ * [rev:98405] Fixed Hierarchy->loadDescendantIdList() to call setOwner() on the extension instance. This was necessary due to underlying Object/Extension changes in 2.4. (merged from r98403)
+ * [rev:98375] HTTP::setGetVar() uses parse_url() and http_build_query() to add query parameters to an existing URL, instead of doing its own regex-based parsing. This means existing GET parameters are correctly url encoded. (merged from r98373)
+ * [rev:98273] Don't force SSL when running from CLI
+ * [rev:98230] Disabled ?debug_profile=1 on live environment types (merged from r80057)
+ * [rev:98229] Limiting ?debug_memory parameter to development environments through using Debug::message() instead of a straight echo() (merged from r74067)
+
+
+### Minor changes
+
+ * [rev:98410] Fixed HTTPTest->testSetGetVar() (merged from r98409)
+ * [rev:98408] Fixed HTTPTest->testSetGetVar() (merged from r98407)
+ * [rev:98405] Added test case for Hierarchy::getDescendantIDList() which also tests Hierarchy::loadDescendantIDListInto() (merged from r98369)
+ * [rev:98405] Testing of grand-children items in HierarchyTest::testLoadDescendantIDListIntoArray() and HierarchyTest::testNumChildren() (merged from r98376)
+ * [rev:98405] Fixed HierarchyTest assertions around including grand children counts (merged from r98403)
+ * [rev:98384] Fixed HTTPTest when invoked through dev/tests/all or with GET parameters (see r98373) (merged from r98383)
+
+
+### Other
+
+Created with:
+{![](_images/./sscreatechangelog --version 2.3.6 --branch branches/2.3 --stopbranch tags/2.3.5)}
12 docs/en/changelogs/2.3.7.md
View
@@ -0,0 +1,12 @@
+# 2.3.7 (2010-03-18)
+
+## Changelog
+
+### Bugfixes
+
+ * [rev:101229] Don't delete index.php after successful installation - in ContentController->deleteinstallfiles(). URL routing might rely on it without mod_rewrite.
+ * [rev:101229] Require ADMIN permissions for ContentController->deleteinstallfiles() - together with retaining index.php this removed a vulnerability where unauthenticated users can disrupt mod_rewrite-less URL routing. (from r101227)
+ * [rev:100744] Fixing Member_ProfileForm to validate for existing members via Member_Validator to avoid CMS users to switch to another existing user account by using their email address (from r100704) (from r100717)
+
+Created with:
+<code>./sscreatechangelog --version 2.3.7 --branch branches/2.3 --stopbranch tags/2.3.6)</code>
55 docs/en/changelogs/2.3.8.md
View
@@ -0,0 +1,55 @@
+# 2.3.8 (2010-07-23)
+
+No overview noted.
+
+## Upgrading Notes
+
+See API Changes below
+
+### Security: File->setName() and File->Filename handling
+
+See [2.4.1](2.4.1#securityfile-_setname_and_file-_filename_handling)
+
+### Security: Disallow direct execution of *.php files
+
+See [2.4.1](2.4.1#securitydisallow_direct_execution_of_php_files)
+
+## Changelog
+
+### Features and Enhancements
+
+ * [rev:108062] Added File::$allowed_extensions (backport from 2.4 to enable File->validate() security fix)
+ * [rev:103684] Allowing !TestRunner? to skip certain tests through the ?!SkipTests?=... GET paramete (merged from branches/2.3-nzct) (from r80646)
+ * [rev:103659] do not show comments that need moderation in the comment rss feed
+
+
+### API Changes
+
+ * [rev:108062] Don't reflect changes in File and Folder property setters on filesystem before write() is called, to ensure that validate() applies in all cases. This fixes a problem where File->setName() would circumvent restrictions in File::$allowed_extensions (fixes #5693)
+ * [rev:108062] Removed File->resetFilename(), use File->updateFilesystem() to update the filesystem, and File->getRelativePath() to just update the "Filename" property without any filesystem changes (emulating the old $renamePhysicalFile method argument in resetFilename())
+ * [rev:108062] Removed File->autosetFilename(), please set the "Filename" property via File->getRelativePath()
+
+
+### Bugfixes
+
+ * [rev:108045] Don't allow direct access to PHP files in mysite module. (from r108029)
+ * [rev:108044] Don't allow direct access to PHP files in cms module. (from r108028)
+ * [rev:108043] Don't allow direct access to PHP files in sapphire module, except for main.php and static-main.php (from r108023)
+
+
+### Minor changes
+
+ * [rev:108062] Added unit tests to !FileTest and !FolderTest (some of them copied from !FileTest, to test Folder behaviour separately)
+ * [rev:108046] Partially reverted r108045, mistakenly committed !RewriteBase change
+ * [rev:108040] Added .mergesources.yml
+ * [rev:103897] Added querystring option to Makefile (from r103884)
+ * [rev:103895] Added querystring option to Makefile (from r103746)
+ * [rev:103528] sort page comment table by Created field - show newest entries first
+ * [rev:103521] Fixed !FileTest execution if the assets/ directory doesn't exist. (from r88353) (from r98086)
+ * [rev:103447] Fixed js applying to non-tinymce textarea fields in !ModelAdmin.js (fixes #5453)
+ * [rev:103362] Fixed js applying to non-tinymce textarea fields in !ModelAdmin.js (fixes #5453)
+ * [rev:103348] added moderation message for non-ajax mode
+ * [rev:101258] Fixed missing closing <div> in !ContentController->successfullyinstalled() (from r101254)
+
+
+<code>./sscreatechangelog --version 2.3.8 --branch branches/2.3 --stopbranch tags/2.3.7</code>
52 docs/en/changelogs/2.3.9.md
View
@@ -0,0 +1,52 @@
+# 2.3.9 (2010-11-11)
+
+## Overview
+
+ * Fixed a security issue where destructive controller actions are not correctly secured against Cross-Site Request Forgery (CSRF). This affects various CMS interfaces, as well as classes based on TableListField or ComplexTableField.
+ * Compatibility with PHPUnit 3.5
+
+See [2.4.3](2.4.3)
+
+## 2.3.9 Changelog
+
+### Features and Enhancements
+
+ * [rev:113305] Added Form->enableSecurityToken() as a counterpart to the existing disableSecurityToken() (from r113284)
+ * [rev:113293] Added !SecurityToken to wrap CSRF protection via "SecurityID" request parameter (from r113272)
+ * [rev:111834] refactored runTests, using the new phpunit wrapper classes.
+ * [rev:111832] Created a phpunit wrapper class to ensure that Sapphire's test framework is capable of running unit tests, coverage report and retrieve clover-statistics for PHPUnit 3.4 and PHPUnit 3.5
+
+
+### API Changes
+
+ * [rev:113321] Using Controller::join_links() to construct links in !ComplexTableField and !TableListField (partially merged from r88495, r96775)
+ * [rev:113318] Fixed various controllers to enforce CSRF protection through Form_!SecurityToken on GET actions that are not routed through Form->httpSubmission(): !AssetAdmin, CMSBatchActionHandler, CMSMain, !CommentTableField, !LeftAndMain, !MemberTableField, !PageComment, !PageComment_Controller (from r113282)
+ * [rev:113297] Added security token to !TableListField->Link() in order to include it in all URL actions automatically. This ensures that field actions bypassing Form->httpSubmission() still get CSRF protection (from r113275)
+
+
+### Bugfixes
+