- #706 - Previously when deleting a large number of entries using 'Delete Entries' which caused PHP to reach it's maximum memory usage, no entries would be deleted making it impossible to delete entries through the Symphony administration. Entry deletion is now processed in batches of 2500, so should the memory limit be hit, at least some of the entries will be deleted. The
entryDataCleanup
function also now supports an array ofentry_id
rather than a singleentry_id
- The
EventPreSaveFilter
now gets passed the$entry_id
when an Event is editing entries. This will be null on new entries - Sometimes '0' was interpreted as empty by the default
checkPostFieldData
implementation - Add
__get()
to theEmailGateway
allowing variables to be accessed once they are set - Ongoing documentation tweaks
- #717 - Error when updating entries with the Upload [introduced in Beta 2]
- #710 - When using
regexp
filters, the Datasource will now automatically strip any spaces in the filter. When used in combination with parameters, should the parameter evaluate to nothing, the filter will fallback to Symphony's default of displaying everything instead of throwing aDatabaseException
. - Fix two bugs in the
DateTimeObj
class, One in PHP5.2.x and one when the date given toformat
was a timestamp - When using Parameter Output only in Datasources, ` will no longer appear in the datasource XML
- If Curl is unavailable, the total time taken for sockets is now measured in the
Gateway
class - Fix potential error when invalid XML has been saved by the Dynamic XML class into the Cache
- The extension update alert now only runs over installed extensions
- #660 - Send Email Filter message should be stored in the template folder
- #657 - Query optimisation (ORDER BY and JOIN order). An improved ORDER BY algorithm has been added to the Checkbox, Date, Input and Upload fields that may improve performance on large datasets
- #652 - The version of Symphony that created/updated Event or Datasource's is now stored in the Event/Datasource's version information. Extensions that provide custom Events or Datasources are encouraged to add their own strings, ie.
Extension Name 0.1
- #472 - Sections Index is now selectable as a default area for Developer Authors.
- Export Ensemble has been updated to 1.16 with a number of fixes and improvements for users who do not have
--enable-zip
enabled. - Image JIT extension has been updated to 1.11 with a number of fixes
- XSS Filter updated to 1.1
- The
getParameterPoolValue
andprepareTableData
methods are now passed the$entry_id
XMLElement
class gets two new convenience methods,addClass
andremoveClass
that allow developers to quickly add (or remove) CSS classnames. These methods work exactly the same asjQuery
's equivalents.XMLElement
replaceChildAt
,insertChildAt
andremoveChildAt
methods all now accept negative$index
to add elements at a position calculated from the end of$this->_children
instead of the start.- Symphony's Javascript is now documented with JSDoc.
- Allow General::createXMLDateObject to take a
date_format
andtime_format
- #701 - The
DateTimeObj::format
function will now fallback to__SYM_DATE_FORMAT__
if no time is provided - #691 - File permissions in the installer are now by default at 755/644
- #689 - Textareas are limited to 65,000 characters
- #684 - Added proper support for multibyte characters in XML element names
- #677 - magic_quotes_runtime is deprecated
- #641 - Datasource editing in Chrome is broken in certain situations
- #628, #627 - Fixes to the Date field filtering
- #618 - A field with value NULL returns an incorrect data-result in EntryManager::__buildEntries()
- #614 - Header and footer width
- The
General::listDirStructure
andGeneral::listStructure
functions now properly exclude files or folders passed with the$exclude
parameter - The
Mutex
class has been updated to remove possible race conditions - The
Entry->setDataFromPost
method should be simulating data saving, not actually saving it at this point
- The delegate
ExtensionsAddToNavigation
has been deprecated and will be removed in the next major Symphony release. Extensions are encouraged to implementExtension->fetchNavigation()
instead. Extensions that absolutely need to use this delegate (and we'd love to know how your using it if this is the case) can use theNavigationPreRender
delegate.
- #649 - Added a new configuration setting,
session_gc_divisor
. This defaults to 10 - #640 - Four new delegates added, PageTemplatePreEdit, PageTemplatePostEdit, PageTemplatePreCreate and PageTemplatePostCreate
- #632 - Upload Field tweaks
- #630 - Remember "Collapse all" when saving a Section
- #525 - Export Ensemble has been updated to 1.15
- Select Box Link has been updated to 1.20 with performance improvements, code cleanup and some preventative security measures
XMLElement
gets some love with five new functions getChildrenByName, setChildren, insertChildAt, removeChildAt and replaceChildAt- A new javascript object,
Symphony.support
is available, which extends jQuery's support functionality withlocalStorage
checks. - Performance improvements for delegate subscription, saving of Textarea fields, Navigation Datasources and general Frontend page rendering.
- Allow filters and prepopulate to be passed as arrays allowing multiple backend filters
- Ongoing documentation improvements
- #654 - Textarea field: Saving formatted value is broken
- #647 - Upload field limit/error logic is wrong
- #645 -
orderchange
event triggered on every mousemove insymphony.orderable.js
- #644 - Entry ID's are not passed by reference in the Delete delegate
- #643 - Upload field removes a file when removed from the Entry (regression fix)
- #637 - Email Gateway Settings copy
- #636 - write() function in Cacheable class defines
$ttl
as seconds but it is actually minutes - #634 - Developers are not longer required to provide their password when changing their own email address.
- #633 - Fix Navigation DS with AND filtering
- #631 - Bump MySQL requirement to 5.0
- #626 - Add notice about Windows development
- #625 - Call-time pass-by-reference has been deprecated. This also fixes an issue with
$andOperation
for fields being set totrue
by default - #624 - "&sec" is transformed in current-path parameter, Updated the Debug Devkit extension
- #622 - Symphony mistakenly replaces AND by OR in filter SQL
- #619 - Author language setting works for frontend as well
- #605 - Inconsistent language handling when installing/enabling extensions
- #556 - README file is missing required database collation
- The updater now migrates the old
disable_query_caching
configuration parameter correctly. Symphony.Context.get('user')
should now return the complete set of data.- Don't declare
header_text
in the global DOM scope - Error suppression with the
@
operator, while discouraged, now suppresses the Exception correctly - Filtering with the shorthand
year-month
syntax on the core Date field now correctly includes any entries on the last day of the month - The
.help
class will be applied correctly to the.secondary
context now
- Completely removed the deprecated
/administration/
context for delegates. Extensions should have completed the transition to/backend/
by now.