mirror of
https://github.com/silverstripe/silverstripe-installer
synced 2024-10-22 17:05:33 +02:00
bd1c680398
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/phpinstaller/trunk@56927 467b73ca-7a2a-4603-9d3b-597d59a354a9
890 lines
48 KiB
Plaintext
890 lines
48 KiB
Plaintext
SilverStripe ChangeLog
|
|
|
|
|
|
2.2.2 (In development)
|
|
|
|
New Features
|
|
- Translations
|
|
- Added Translations for LOLCAT
|
|
- Added Translations for Esperanto
|
|
- Added Translations for Sinhalese
|
|
- Added Translations for Finnish
|
|
- Added Translations for Danish
|
|
- Ability to translate newsletter
|
|
|
|
Developer Tools
|
|
- Added more unit tests
|
|
- Added Makefile so that you can execute 'make test' in sapphire
|
|
- Added SS_DEFAULT_ADMIN_USERNAME/PASSWORD defines to conf/ConfigureFromEnv.php
|
|
- Added missing ChangePasswordEmail.ss
|
|
- main.php: Moved _ss_environment.php include to very top
|
|
- ArrayLib
|
|
- Added in_array_recursive() for recursively checking an array with nested arrays
|
|
- Controller
|
|
- Improved allowed_actions support for subclassed controllers, such as CMSMain extends LeftAndMain
|
|
- Allow use of on controller extensions
|
|
- DataObject
|
|
- Added hasDatabaseField()
|
|
- DataObjectSet
|
|
- Implemented equal values
|
|
- Date
|
|
- Added TimeDiffIn()
|
|
- Email
|
|
- Changed email encoding from iso-8859-15 to utf-8, in compliance with other parts of SilverStripe and IMC recommendations
|
|
- ErrorPage
|
|
- Added all the types of error pages (ErrorPage.400,401,403 - 417,500 - 505)
|
|
- File
|
|
- Updated AssetAdmin to use TreeTitle() in place of Title for tree generation
|
|
- Updated TreeTitle() to allow use of alternateTreeTitle() in decorator
|
|
- Updated File to allow the insertion of extra columns by decorator
|
|
- FileUploadField
|
|
- Added ability to customise which folder a file is uploaded to
|
|
- Folder
|
|
- Moved folder admin form to Folder::getCMSFields() to let you more easily manipulate the form with a decorator
|
|
- Form
|
|
- Added added setFields()/setActions()
|
|
- Group
|
|
- Added canEdit(), which can be used to filter the SecurityAdmin group list
|
|
- HTMLEditorField
|
|
- Added paste plain text and paste from word buttons
|
|
- Added 'anchor' option to link inserter
|
|
- Image
|
|
- adding "delete" class to DeleteImageForm()
|
|
- Member
|
|
- Added $notify_password_change - now sends an email to the member
|
|
- Added BaseHref() to Member_ChangePasswordEmail so that the email shows the domain name of the current subsite
|
|
- Added Member->SetPassword, a field that lets you have a write-only password field
|
|
- Used Member->SetPassword to create a password column on the MemberTableField for SecurityAdmin
|
|
- Send 'changed password' emails when a user is first created as well as edited
|
|
- Added $searchable_fields in preparation for a more generic search implementation, currently limited to Member.php and MemberTableField.php
|
|
- RSSFeed
|
|
- Make RSS feed work with objects that don't support AbsoluteLink, such as the forum
|
|
- Security
|
|
- Added support for password and old_password encryption mechanisms if you're using MySQL
|
|
- SiteTree
|
|
- Made breadcrumbs delimiter configurable
|
|
- Added simple to-do list facility
|
|
- Don't let people create a page name that is the same as a class name
|
|
- Moved CMS page-disabled logic into SiteTree::CMSTreeClasses(), so that it can be more easily customised for specific sites
|
|
- Versioned
|
|
- Added database indexes for AuthorID and PublisherID
|
|
- ViewableData
|
|
- Added $SecurityID for templates
|
|
- Added escapeTypeForField() to determine if the record-field needs escaping (currently only 'xml' supported)
|
|
- Added title attributes to the SilverStripeNavigator messages
|
|
- Added $casting for BaseHref()
|
|
|
|
Bug Fixes
|
|
- Sapphire
|
|
- Better handling of memory limit
|
|
- Fix locale files on Windows
|
|
- More solid ID-detection in Member::php()
|
|
- ComplexTableField:
|
|
- added $popupClass to avoid duplication, getting basedataclass for existing children in DetailForm() (in case we're dealing with different subclasses)
|
|
- fixed getParentIdName() call in DetailForm() - paramter-order was wrong
|
|
- better checking in saveComplexTableField() to avoid PHP-notice
|
|
- Fix title and description in RSS feeds
|
|
- Fix interface translations in CMS footer
|
|
- DataObject:
|
|
- fix for quering database for child elements when it hasnt been serialized
|
|
- Remove HAVING clause from methods where it doesn't make sense to have them
|
|
- Fix caching in DataObject::get_one()
|
|
- Take orderby clause into account when caching in DataObject::get_one()
|
|
- Removes having clause as it can't be used
|
|
- Fixed DataObjectSet::insertFirst() - it now uses a numeric key rather than null
|
|
- TestRunner: Ensured that the autoloader pulls in the test class
|
|
- Database::createDatabase() shouldn't need any arguments. Fixed this in the core class and MySQLDatabase
|
|
- Debug: Fix stack trace on objects that don't extend the Object class
|
|
- SapphireTest.php: Fix YAML many_many/has_many relationships
|
|
- HasManyComplexTableField: set $template and $itemClass to public (according to parent implementation) and fixed formatting
|
|
- Email: Fix attachments that could not be emailed from mac or windows systems
|
|
- Use lighter version of browscap.ini
|
|
- Added ArrayLib::is_associative()
|
|
- Allowing object-parameters in DataObjectSet and ArrayData, added ArrayData::object_to_array()
|
|
- Allow insertion of <img> tags that refer to external domains and add alt= to any images that don't have alt tags
|
|
- Show the saved value of EditableEmailField.SendCopy
|
|
- ManifestBuilder: Fix building manifest before database is created
|
|
- HTMLText.Summary: Don't close img and br tags
|
|
- Don't fail in i18n::include_by_class if the module isn't translatable
|
|
- Database: When removing a value from an enum, set affected rows back to the default
|
|
- Fix DataObjectSet constructor breaking with associative arrays
|
|
- Make ContentNegotiator send XHTML to the W3C validator
|
|
- Image: Fix attaching an existing folder to an ImageField
|
|
- TableField:
|
|
- when no source items found, the table should still show and it should works as adding new records
|
|
- renamed $wantDefaultAddRow to $showAddRow
|
|
- Form: removed Form::dropDatalessFields()
|
|
- Refactored Member::session_regenerate_id to make it easier to disable in some circumstances.
|
|
- Deprecated use of DBField 'Text' for saving HTML-Content (added check in HTMLEditorField->saveInto())
|
|
- Make Security::get_encryption_algorithms() a dynamic function again.
|
|
- Fix sorting in complextablefield
|
|
- Added sapphire/conf/ConfigureFromEnv.php for making use of _ss_environment.php
|
|
- SelectionGroup: Fix for bug that initialises with preloaded selected items with right hide/show
|
|
- Fixed fatal error due to browscap.ini capitalisation error
|
|
- Allow many-many complex table fields to be used on the reverse side of the join (belongs many many)
|
|
- Fix incorrect text boxes on many-many complex table fields and relational complex table fields being set on an ajax request
|
|
- BasicAuth: Fixed illegal reference to this
|
|
- Image: locking down URLs: image/iframe, image/flush, image/transferlegacycontent
|
|
- RelationComplexTableField: fixed "object not found" error in ie6
|
|
- ImageField: compressed layout to fit in CTF-popup (removed "click here to remove" label), removed iframe-borders for IE
|
|
- RelationComplexTableField: added check if sitetree exists otherwise IE broken with all genericDataAdmin panel
|
|
- ComplexTableField: updating form in ctf-popup after saving (including validation-errors and fields that have may changed on the serverside, e.g. ImageField?)
|
|
- fix PageView's recording of referrers.
|
|
- File: fix upload folder
|
|
- Fixed seamonkey browser recognition in browscap.ini
|
|
- ComplexTableField: fix sql error on comments section
|
|
- fixed i18n::get_owner_module() calls on classes with _s
|
|
- Fixed ManifestBuilder execution in restrictive openbasedir environments
|
|
- Removed clone behaviour from Form::Fields()
|
|
- Object: Added object caching methods
|
|
- Make DataObject::write() call the recursive write on components, even when the dataobject itself hasn't changed
|
|
- fix ComplexTableField caching
|
|
- ManifestBuilder regex
|
|
- Debug: Supress disabled errors on live site
|
|
- Allowed subclasses in ComponentSet::add/remove
|
|
- added extra security on Controller ( checkAccessAction() )
|
|
- Member: Used Object::create() to create email instances sent by the system.
|
|
- Object, Versioned, Hierarchy: Allow selection of folder when inserting files / images
|
|
- AjaxUniqueTextField: fixed sql-injection
|
|
- TableField: Removed use of deprecated TableField::setExtraClass()
|
|
- Group: Removed warning in group admin
|
|
- DataObject: fixed caching in getManyManyComponents
|
|
- DataObject: Fixed MySQL 4.1 support for situations where we are sorting by a group aggregation function and fixed notice level error
|
|
- Fixed bug with BasicAuth enabled on an old database, it was preventing you from visiting db/build
|
|
- DataObject: Fixed 4.1-sort-by-group-aggregate query rewriter for sort functions containing columns, eg, ORDER BY if(A,B,C), X
|
|
- Director: Small fix for session bugs on Lightspeed server
|
|
- DataObjectSets: cannot be iterated over multiple times concurrently
|
|
- fix to Installer: falsely claims modrewrite fails (mamp)
|
|
- Widget: fixed widget editor
|
|
- ComplexTableField: Fixed double-escaping of CTF popup page-navigation links
|
|
- ComponentSet: fixing bug with in-memory child objects not having their parent ID field updated via the ->add() method
|
|
- ComplexTableField: BUGFIX properly setting $childID in form for newly created items to avoid duplicates after subsequent saving (the form reloaded without the ID connection)
|
|
- TableListField: fixed csv export in MemberTableField by checking for valid database columns when building SELECT statement
|
|
- ComplexTableField: fix popup breaking after saving
|
|
- CMS
|
|
- cmsmain_left: You can't reorganise pages without creating pages
|
|
- MemberTableField: Patch for more i18n strings
|
|
- Fix i18n errors
|
|
- UserDefinedForm: Fixed notice level error
|
|
- Bug in PageComments class (Security)
|
|
- Fix autocompletion in Security Admin
|
|
- Fixed the $hide_ancestor static on SiteTree? subclasses
|
|
- Fixed bug: Page class wasn't shown in add-page dropdown
|
|
- More memory-efficient version of admin/publishall
|
|
- tinymce.template: Added paste plain text and paste from word buttons to the HtmlEditorField in the CMS
|
|
- SideReport: fixed bug in todo list report
|
|
- Fixed 404 on spacer.gif
|
|
- Fixed context menus in CMS
|
|
- CMSMain: Added 'duplicate page and children' context-item in addition to 'duplicate just this page'
|
|
- GenericDataAdmin: Recover ExportForm for genericDataAdmin Which is needed for CRM CreateCommunication
|
|
- Added default SubscribeForm.ss
|
|
- Added SubscribeSubmission template to get subscribeforms to work
|
|
- SubscribeForm: Fix newsletter subscription form
|
|
- AssetAdmin: Disabled unused files list, as it uses way too much memory
|
|
- CMSMain->getNewItem now calls $this->extend('augmentNewSiteTreeItem', $newItem);
|
|
- Changed call to ViewableData::castingHelperPair to fix sort not being set by getNewItem
|
|
- Used Member->SetPassword? to create a password column on the MemberTableField? for SecurityAdmin?
|
|
- Send 'changed password' emails when a user is first created as well as edited
|
|
- Updated core to allow for subsites restriction of filesystem: Folder::getCMSFields() is now responsible for generating the folder form.
|
|
- Folder::syncChildren() now exclusively uses DB::query() calls instead of DataObject::get().
|
|
- CMSMain: Fixed CMS bottom-navigation after publish, when using the subsites module (or other alternateAbsoluteLink implementors)
|
|
- SideReport: Fixed newlines in to-do report
|
|
- Javascript
|
|
- Improved the Behaviour.addLoader() method to play more nicely with tools
|
|
- tree.js: Fix bug when duplicating pages with reorganise enabled
|
|
- tiny_mce_improvements.js: Improvement to link-insertion logic when selecting text that doesn't have a link
|
|
- tiny_mce_improvements.js: Fixed default-setting for link anchor
|
|
|
|
|
|
2.2.1 (21 Dec 2007)
|
|
|
|
New Features
|
|
- 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
|
|
|
|
2.2.0 (28 Nov 2007)
|
|
|
|
New 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'
|
|
|
|
|
|
Developer Tools
|
|
- 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()
|
|
|
|
Bug Fixes
|
|
- 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
|
|
|
|
|
|
2.1.1 (2 Nov 2007)
|
|
|
|
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
|
|
|
|
|
|
2.1.0 (2 Oct 2007)
|
|
|
|
New Features
|
|
- 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
|
|
|
|
Developer Tools
|
|
- 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
|
|
|
|
|
|
2.0.2 (14 Jul 2007)
|
|
|
|
New Features
|
|
- 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
|
|
|
|
Developer Tools
|
|
- 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
|
|
|
|
Bug Fixes
|
|
- 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.
|
|
|
|
|
|
2.0.1 (17 Apr 2007)
|
|
|
|
New Features
|
|
- Improved layout of UserDefinedForm submissions in CMS
|
|
- Don't show name field on root folder in Assets section
|
|
|
|
Developer Tools
|
|
- 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
|
|
|
|
Bug Fixes
|
|
- 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
|
|
|
|
2.0.0 (3 Feb 2007)
|
|
- Initial release
|