Last modified 3 years ago
2.3.0-rc2 Changelog
New Features
- [66163] #1531 - Allow moving files in root assets file (hamish)
- [65904] #1614: Allow use of admin/addpage?ParentID=(ID)&PageType=(Class) url to quick-add pages
API Change
- [66894] Move some of the installer into the sapphire directory.
- [66394]
- [66392] if a DataObject has getCMSActions, its model admin should be able to add them.
- [66268] Deprecated Controller::PastVisitor(), it generates a lot of unused cookies
- [66266] Improve encapsulation of cookies in Director::test()
- [66264] Revamped CMSMenu system to not instantiate any objects, so that _config.php doesn't get fskd
- [66175] Moving GoogleSitemap functionality into new "googlesitemaps" module
Bugfixes
- [66946] Fixing tests
- [66940] Fixed warning on AssetAdmin (merged from trunk)
- [66922] #3100: Graceful degradation for codepress in safari
- [66918] #3115 ajshort: Fixed backslashes in temp folder location in manifest builder
- [66894] Friendlier error when you have a site running on a PHP4 server, or a server without PHP.
- [66891] Don't make blank dates show 1/1/1970
- [66888] Better generation of PastMember cookie when you have stale login info
- [66828] Fixed sortWidgets() function in WidgetAreaEditor not working because it was picking up comment nodes
- [66820] Added extension to email address when accessing Security/passwordsent since the . (dots) are split into extensions when the URL is parsed
- [66799] Fixed importer not working because of i18n_singular_name(), just use the class name of the model instead
- [66793] Made use of Convert::raw2att() before returning the ModelName for Import spec fields
- [66791] Fixed "Show specification..." link not working because ModelName had spaces in it
- [66784] Only including ModelAdmin->ImportForm() if an actual importer was specified
- [66740] Passing through $member param from SiteTree->canPublish() to SiteTree->canEdit()
- [66723] fixed typo in filesystem
- [66707] Fixed notice-level errors in PhoneNumberField
- [66701] Add !LeftAndMain:$url_rule to minimise bugs in modules
- [66698] Fixed sake bug when checking for an argument in bash script. Ticket #3112. Thanks simon_w.
- [66638] Fixed flaw logic checking for $member variable, since it's always set the alternative for choosing Member::currentUser() would never work.
- [66635] Fixed SiteTree->getCMSActions() so it returns a FieldSet, instead of a DataObjectSet. This makes it consistent with DataObject->getCMSActions() as well as SiteTree->getCMSFields()
- [66632] Fixed SiteTree->getCMSActions() not extending properly because it was passing an array to the extend() 2nd argument, which expected a FieldSet object
- [66629] Fixed incorrect class name in user_error message for deprecated function HTTP::sendFileToBrowser()
- [66608] ModelAdmin? clear search now preserves the result column selection
- [66505] Consistenly returning cloned instances for all FormField classes when calling performReadonlyTransformation() or performDisabledTransformation(). Making sure that these instances are actually flagged as readyonly/disabled. Addd unit tests to dynamically instanciate most FormField classes to check for this behaviour. Originally, this bugfix was necessary to avoid changed FormField state when recursively calling replaceField() on FieldSet->dataFields() in Translatable->updateCMSFields()
- [66431] Removed SearchForm->FormMethod() and used $this->setFormMethod() in SearchForm constructor instead which is a nicer solution instead of overloading a Form method
- [66334] Hiding "change password" fields by default in admin/myprofile, they shouldn't validate the input by default. Replaced with a link to toggle those fields (#3106)
- [66332] Include jquery_improvements.js whenever jquery.js is required, so jQuery.noConflict() is set. This is required to ensure $() behaves in the prototypey way (alias for document.getElementByID()) rather than jQuery style (document.getElementsBySelector())
- [66331] Removed overloaded $() function which added support for multiple string arguments in behaviour.js - was conflicting with argument usage in jQuery when not in noConflict() mode. As far as i can tell, multiple string arguments in $() were never used anyway.
- [66319] Removed dependency on ComplexTableField JS in LeftAndMain for "My Profile" popup
- [66318] Check if $member variable isn't empty before looking for first name in MemberLoginForm
- [66317] Fixed call to incorrect case of function name, Member::currentUser() should be used
- [66313] Fixed ForeignKey->scaffoldFormField() usage of model class instead of relation class to generate dropdown list
- [66309] Fixed far too small height and width of "Profile" popup in CMS, popupHeight and popupWidth should be defaultPopupHeight and defaultPopupWidth instead according to the ComplexTableField prototype
- [66306] Fixed HasManyComplexTableField, and subclass fields HasOneComplexTableField and ManyManyComplexTableField saving bug because javascript wasn't being included properly
- [66305] Fixed recursion bug with !FieldSet::fieldPosition
- [66274] Improved reliability of LeftAndMain->CMSVersion() - not failing on empty $URL$ placeholder with subversion path to determine version numbers
- [66269] Merged from trunk; fix !DataObject::hasDatabaseFields()
- [66266] Fix test/cookie conflict in ErrorPage rendering
- [66252] Immediately apply behaviours that are added after the Behaviour.apply() call, in Behaviour.register() calls as well as Class.applyTo() calls
- [66251] Removed unnecessary and bug-causing Behaviour.apply() call.
- [66250] Made Behaviour.apply calls more specific
- [66229] Added flash button to tinymce_ssbuttons
- [66196] #2714 - Cookie::set doesn't operate correctly with expiryDays 0 (wakeless)
- [66195] #2694 - Mathspam question clear
- [66194] Fixed draggable bug in AssetTableField - thanks for ajshort for the patch - ticket #3051
- [66162] #118 - Fixed count of marked pages (hamish)
- [66137] Fixed editable formfields not showing up in translation mode (#3083). Updated Translatable->updateCMSFields() by partially merging wakeless' patch from (r64523)
- [66136] Disabled js code in CMSMain->switchlanguage() which was assuming wrong DOM structure (TODO: Replace with more robust selectors)
- [66135] Fixed field labels for original readonly fields in translation mode
- [66107] Fixed PHP variable initialization in SiteTree->getClassDropdown() which broke class dropdown in behaviour tab (regression from r66092)
- [66091] $cache flag wasn't passend through from !ViewableData_Customised->XML_val() to ViewableData->XML_val()
- [66079] #3051 ajshort: Improved layout of assettablefield drag icon
- [66070] Fixed HTTP->findByTagAndAttribute missing variable error causing HtmlEditorField to break since it used HTTP::getLinksIn()
- [66067] #3065: Fixed restore page
- [66066] #3012 jam13: Fixed tabstrip default tab selection when working with querystrings
- [66065] Fixed security tabs for JSoD code
- [66062] #3063: Allow old-school method of adding menu items to LeftAndMiain:
- [66052] #3087 simon_w: Added !ResfulService::connect() back, for backward compatability
- [66049] Fixed unescaped html display in DevelopmentAdmin (#3080)
- [66044] Fixed <% require %> call in !ModelAdmin_left.ss
- [66043] Fix PHP notice where variable with array didn't exist in HTTP->findByTagAndAttribute()
- [66029] use a undefined variable $member.
- [66027] Fixed incorrect call to Permission::checkMember() - missing second argument, first argument should've been a Member object or Member ID
- [66026] Fixed PHP notice level error in some circumstances in DataObject->buildDataObjectSet()
- [65944] #3073: Fixed !LeftAndMain::deleteitems()
- [65923] #3066: Fix ?isDev=1 option
- [65900] #2868: Fix after-popup-close behaviour on security member table
- [65899] #2820: Fixed use of buggy reflection in Object::uninherited()
- [65896] #2706: Fixed JS error in multi-nested pages deletion
- [65895] #2232: Prevent requirements from breaking ErrorPage publication
- [65894] #1721: Fixed del/ins styling in page comparison
- [65881] Don't let permission errors on assets/ folder completely prevent javascript from loading
- [65865] Fixed tabstrip JS error in ReportAdmin
- [65863] Ensure that menu items of the same priority show the first added item closes to the left
- [65860] Fixed JS error in ReportAdmin
- [65851] #3062: Fixed ondemand support for jQuery responses as well as prototype
- [65850] Alow decoration of Member with has_many relationships
- [65843] #3062: Fixed ondemand support for jQuery responses as well as prototype
- [65842] #3061: Text.FirstSentence returns '.' instead of on an empty field
- [65827] Fixed flash uploader not searching for the correct files, due to changes in r65820
- [65825] Tidied up messages in flash uploader right hand panel in CMS
Enhancement
- [66946] Add <%-- --%> comments
- [66830] Disabled sending of warnings through Debug::send_errors_to() by default. If you need extended error reporting including warnings (e.g. for a site which is still in active development), use Debug::send_errors_to('example@…', true) or Debug::send_warnings_to('example@…')
- [66803] Just redirect back after "import" action called, and set the session message on the Form object instead of hardcoded ID
- [66654] Renamed tab "Meta-data" to "Metadata" for better readability (see #3142)
- [66646] Fixed default level in HeaderField - was duplicating defaults already present in two other places (see r66639)
- [66625] Allow CheckboxSetField to use extra classes as other FormField classes do. Also dded test for this behaviour in CheckboxSetFieldTest.
- [66622] Sort test class list by alphabetical order so it's easier to read
- [66596] Defaulting to show all columns in ModelAdmin CSV export, ignoring user selection of result table columns (users can always limit CSV columns by manually deleting them e.g. in Excel)
- [66583] Added experimental support using (relname)Query methods to pass complex relations (those defined by methods) into searchfilter
- [66343] Added comments in rendered templates to indicate the source .ss files, on dev sites only:
- [66333] Added ConfirmedPasswordField->setShowOnClickTitle()
- [66323] If there are no files in a folder in AssetAdmin, show a message
- [66322] Added SearchFormTest
- [66320] Added more known file extensions (tiff, js, html, css, ico) to File->getFileType()
- [66312] Added support for $relationCallbacks on the importer class (in addition to methods on the model class)
- [66173] Moving GoogleSitemap functionality (priority dropdown and database fields) from SiteTree to GoogleSitemapDecorator
- [66168] Removed GoogleSitemap references in SiteTree (moving to decorator implementation)
- [66137] Added TranslatableTest with minimal assertions about existing form fields in translation mode
- [66045] Added support for custom importer methods in CsvBulkLoader
- [65827] Added error messages to flash uploader panel, to be consistent with the image uploader one
Minor changes
- [66944] merged from trunk
- [66942] merged r66670 from trunk
- [66939] Merged r66681 from trunk
- [66819] Code formatting conventions in HTTPRequest->param()
- [66803] phpDoc comments for ModelAdmin->import()
- [66800] Added code example of $model_importers array item
- [66751] Reverted replacement of jQuery.js with minified version, we're doing minification on the fly, and there's jQuery-packed.js as a readymade alternative (see r66708)
- [66748] Revered jquery/orig folder, not necessary as we have an unminified jQuery.js anyway (see r66717)
- [66747] Reverted reference to jquery-packed.js which causes problems by double minification in cms (see r66735)
- [66745] Revered accidental deletion of jQuery.js in r66719
- [66736] Formatting in Permission::checkMember()
- [66735] fixed path include for jquery
- [66700] merged r66672 from trunk
- [66643] Removed unused action "waitingon" from CMSMain::$allowed_actions
- [66642] Removed TaskList remnants of old cms workflow code
- [66640] Removed redundant code
- [66637] Code formatting of !isset($member) on SiteTree->canAddChildren() for consistency with other can*() methods
- [66636] Renamed to correct updateCMSActions() in php comment
- [66631] Removed unused private static $dataobject_select in File
- [66630] phpDoc comments for File->getAbsoluteSize()
- [66628] Code formatting cleanup on CheckboxSetField->Field()
- [66624] Added tests for checking extra class was added to DropdownField
- [66623] Added tests for checking extra class was added to FormField subclasses (TextField, EmailField and OptionsetField)
- [66615] Readd of end php tag as per coding conventions
- [66614] Added missing end php tag for ImageEditor, as per coding conventions
- [66613] Removed whitespace after end php tag for AssetTableField
- [66612] Removed commented out code that shouldn't be lying around
- [66542] actually allow youtube / blip videos to be embedded into the cms content area
- [66426] added setter function to write_js_on_body() so I can override the settings
- [66386] SecurityAdmin? code formatting cleanup
- [66385] Removed old references to "rightbottom", which is now obsolete and caused a big box to appear in the CMS sometimes
- [66373] Tidied up messy template syntax in LeftAndMain.ss
- [66333] Documentation for ConfirmedPasswordField
- [66322] Documentation for SearchForm
- [66318] Coding conventions, inconsistent use of tabs and spaces
- [66317] Code conventions (spaces should be between operator characters)
- [66311] Removed old references from workflow in SiteTree and VirtualPage (!AssignedToID and !RequestedByID were old properites of a workflow page type)
- [66310] Removed old workflow instances in the cms module. See ticket #3044
- [66302] Added isset($_SERVERHTTP_HOST?) checks to Director->isDev() and Director->isTest() - these environment variables are not available in CLI mode, and show up as PHP notices in a default cli-script/sake execution
- [66270] Code formatting in FormField
- [66167] Fixed class naming in LeftAndMainDecorator.php
- [66093] Removed debug code in AjaxUniqueTextField
- [66092] Fixed PHP Notice in SiteTree
- [66024] Removed debug code committed in r65554
Other
- [66941] Fixed SiteTreePermissionsTest login failure tests
- [66923] #1885: Fixed safari bold, italic, underline by removing HTML scrubbing.
- [66889] Better checking of tabstrip stuff
- [66834] Removed call-time pass by reference from CsvBulkLoader
- [66824] Removed unnecessary updateCMSFields call; !DataObject::getCMSFields does this for us
- [66719] getting things tidied up
- [66717] trying to get jquery to stick
- [66712] packed jquery
- [66708] packed jquery and jquery ui
- [66645] DataObject::relObject() throws an exception rather than an error so that it can be caught
- [66639] Set default level for HeaderField
- [66634] Added white background for tabs in all places; not just the right frame
- [66626] Allow passing of columns to ColumnSelectionField() and allow different ColumnSelectionField() values to influence the result columsn
- [66582] Added support to !DataObject::relObject() for looking at $casting to get information about the relation - good for dynamic relations
- [66546] Fix incorrect logic in r66544
- [66544] Make sure only fields that exist can be autocompleted on MemberTableFields, and never autocomplete on password.
- [66431]
- [66394] 1. Add note to each record in 1-many relation. Add the tab "Notes" for showing/editing/deleting notes of a record.
- [66356] Merged pre-2.3-oct08 into 2.3 (via trunk)
- [66353] Merge pre-2.3-oct08 into 2.3 (via trunk)
- [66350] Fix to LeftAndMain to ensure that jquery doesn't break other admin sections
- [66304] Fixed bug in test makefile
- [66296] Build database before testing, for RestfulService test, etc
- [66267] Return an HTTPResponse consistently from controllers
- [66265] Fixed RequirementsTest
- [66225] #2771: Fix SQLQuery::filtersOnID() (wakeless)
- [66192] #2635 - More informative errors in DataObject (simon_w)
- [66103] FIX: permission migrator for missing groups
- [66086] Merged pre-2.3-oct08 into branches/2.3 (via trunk)
- [66084] Merged pre-2.3-oct08 into branches/2.3 (via trunk)
- [66008] Boundary condition check for top-level pages with 'inherit' permission
- [65981] Update sapphire so that it can run with the default .htaccess and mysite/_config.php files provided in the phpinstaller. If database config is missing, then redirect to install.php
- [65971] Include tabstrip js and css for modeladmin
- [65970] Fixed WYSIWYG styling
- [65967] Added validation for !DataObject::db, has_one, has_many, many_many, belongs_many_many properties, so that improper use of the array syntax doesn't raise strange bugs elsewhere.
- [65959] #3068 - Fixed memory issue in IE
- [65939] Replace source view with one based on codepress
- [65938] Added advcode tinymce plugin that is a wrapper around codepress
- [65915] Set default view/edit permissions
- [65913] Added light blue colouring to notinmenu items
- [65912] Added notinmenu class to CMS tree items that aren't in menus
- [65861] Fixed dropdown-based ModelAdmin navigation
- [65859] Fixed root node not displaying correctly
- [65828] Removed console debug messages for ThumbnailStripField
- [65824] Merged in image search capabilities from trunk version - r65820, r65823
