• The delegate ExtensionsAddToNavigation has been deprecated and will be removed in the next major Symphony release. Extensions are encouraged to implement Extension->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 the NavigationPreRender 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 and Field->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 and PageTemplatePostCreate
  • #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 functions getChildrenByName, setChildren, insertChildAt, removeChildAt, replaceChildAt, addClass and removeClass
  • A new javascript object, Symphony.support is available, which extends jQuery's support functionality with localStorage 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 be null on new entries
  • Add __get() to the EmailGateway 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 a date_format and time_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 of set_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 using buildDSRetrivalSQL
  • #622: Don't automatically replace AND with OR 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 return null only if $returnSingle is true, and array() 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 and listStructure 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 as null for required fields
  • Fix two bugs in the DateTimeObj class, One in PHP5.2.x and one when the date given to format 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 to MySQL::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, as Entry->commit will do a repeat call without simulation to save the data
  • Copy tweak for Select Box fields, Dynamic Values not Dynamic Options

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details