Symphony 2.2.2
Bugfixes, stability and performance updates
- 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. - Completely removed the deprecated
/administration/
context for delegates. Extensions should have completed the transition to/backend/
by now.
New Features
- #683 -
Field->getParameterPoolValue
,Field->toggleFieldData
andField->prepareTableData
methods are now passed$entry_id
- #657, #696 - 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
- #649 - Added a new configuration setting,
session_gc_divisor
. This defaults to 10 - #640 - Four new delegates added,
PageTemplatePreEdit
,PageTemplatePostEdit
,PageTemplatePreCreate
andPageTemplatePostCreate
- #525 - Export Ensemble has been updated to 1.16 with a number of fixes and improvements for users who do not have
--enable-zip
enabled. - #472 - Sections Index is now selectable as a default area for Developer Authors.
- Select Box Link has been updated to 1.20 with performance improvements, code cleanup and some preventative security measures
- Image JIT extension has been updated to 1.11 with a number of fixes
- XSS Filter updated to 1.1
XMLElement
gets some love with seven new functionsgetChildrenByName
,setChildren
,insertChildAt
,removeChildAt
,replaceChildAt
,addClass
andremoveClass
- 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
- The
EventPreSaveFilter
now gets passed the$entry_id
when an Event is editing entries. This will benull
on new entries - Add
__get()
to theEmailGateway
allowing variables to be accessed once they are set - Symphony's Javascript is now documented with JSDoc.
Bug Fixes
- #717: Fix editing entries with Upload fields
- #710: Strip spaces from the regexp filters
- #706: improve performance when deleting large numbers of entries from the Section Index
- #701: Allow
General::createXMLDateObject
to take adate_format
andtime_format
- #693: Use the Date field's value column for all data input, output and filtering.
- #692: Add
Lang::isUnicodeCompiled
- #691: Change default permissions in the installer
- #677: Use
ini_set
instead ofset_magic_quotes_runtime
- #660 - Send Email Filter message should be stored in the template folder
- #655: Remove some redundant require_once calls
- #654: Fix for textarea field regression
- #647: Updates to upload field re:
MAX_FILE_SIZE
- #645: correct triggering of orderchange event
- #644: Array of Entry ID's not passed by reference in
publish -> Delete
delegate - #643: properly delete files when they are removed from the entry from the filesystem
- #641: hidden options in multi select boxes in DS editor
- #637: Fix for Email Gateway preference copy
- #634: Developers are no longer required to give their password when changing their own email address
- #633: Fix Navigation DS with
DS_FILTER_AND
- #632: Bugfixes for Upload Field
- #630: Remember state in collapsible (and sortable) duplicators
- #628 and #627: Date filtering rewrite
- #625: Call-time pass-by-reference has been deprecated; don't set
andOperation
to false when usingbuildDSRetrivalSQL
- #622: Don't automatically replace
AND
withOR
when passing?filter
in the backend - #619: Only set custom author language in the backend
- #618: Correctly build Entry data when Fields save columns using
NULL
- #614: CSS tweak for Table styles
- #605: Fixed copy on Extensions page
- #556: Always default to UTF-8 encoding during installation unless explicitly told not too
- When updating from older versions of Symphony, port the
disable_query_caching
configuration parameter - Check that a file is writable and readable in
General::writeFile
- Fixed
FileManager->fetch()
to returnnull
only if$returnSingle
is true, andarray()
otherwise. - Fixed value returned from
SectionManager->fetch()
in case of no sections found. - Fixed
Delete
notification sent when edited entry is deleted. - Make
AuthorManager::fetch
return an empty array when it fails instead of null - Fix incorrectly invalidating element qualified names for multi-byte characters
- Fix the checking of files in exclude parameter for
listDirStructure
andlistStructure
functions - Use
getError()
in Dynamic XML class, errors doesn't exist - Tweak the extension update detection script to only run over installed extensions instead of all extensions in the filesystem.
- Fix edge case where
0
was treated asnull
for required fields - 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,
<entry id='{@id}'>
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
- Ongoing documentation tweaks - #155, #636, #725
Minor Updates
- Improvements to error handlers
- Slight tweaks to the
notifyMembers
function for a little speed increase - Don't declare
header_text
in the global DOM scope - Use data-attributes to add information about the Author so that it is correctly available in
Symphony.Context
- The
.help
styles should work in the.secondary
context as well - Optimise
FieldTextarea->__applyFormatting
function, should speed up saving sections with large amounts of textareas - Just do one query for Page Types in Navigation DS's, this should give a nice speed boost for complex sites using a Navigation DS
- Do not sanitize data before passing it to text formatter.
- Added new param,
only_queries
toMySQL::getStatistics
. Should improve performance on heavy datasource pages - Core fields code cleanup
- New implementation of
Mutex
class. This one does not have race conditions - General improvements around non-western character sets
setDataFromPost
should actually simulate data being saved, asEntry->commit
will do a repeat call without simulation to save the data- Copy tweak for Select Box fields, Dynamic Values not Dynamic Options
Contributors









