· Core: introduction of the Filesystem component, see UPGRADE_3.6.md.
· Core: introduction of the Finder component, see UPGRADE_3.6.md.
· Removed "thx to" from CHANGELOG.md; changelog is for change announcements, attributions are in git log.
· Analytics: let the user chose between GA & DC for tracking-code.
· Analytics: added the possibility to choose Universal analytics, which is also the new default.
· The backend in Internet Explorer doesn't need to be emulated anymore.
· Upgraded to CKEditor 3.6.6
· Upgraded to CKFinder 2.3.1
· Added utils.string.sprintf to backend and frontend. Thx to Jeroen Desloovere.
· With the 3.5.0 release, Fork CMS will be available under the MIT-license.
· Allow people to define their own errorhandler.
· Switched to the official Facebook SDK, inspired on the pull request of Jeroen.
· Start using Composer to handle dependencies. See more info in the README.md.
· Akismet and CssToinlineStyles are now installed with Composer.
· Upgraded Highcharts to 2.3.3
· Upgraded to jQuery UI 1.8.24
· FormBuilder: do not prefix the site URL to the form action to prevent submitting to another domain.
· Starting to use namespaces for the external classes that use namespaces.
· Upgraded Spoon.
Improvements:
· Core: Upgraded to jQuery 1.8
· Core: Upgraded to jQuery UI 1.8.23
· Blog: Added blog.comments.delete in the API.
· Core: return-format for the API can be specified through Accept-header, GET or POST.
· Core: jQuery sharing widget will now merge options recursively (deep copy).
Bug fixes:
· Core: fixed some issues related to PHP 5.4.
· Locale: fixed locale.js conflict with backend.js.
· Core: use language parameter when rebuilding cache, instead of unavailable constant.
· Pages: issue when changing themes.
· Pages: hidden pages weren't visible in the tree.
· Core: backend used working language instead of interface language for JavaScript translations.
· Core: editor-templates weren't loaded because the language wasn't set at the point the default config is defined.
· Upgraded to jQuery UI 1.8.22.
Improvements:
· Upgraded to CKEditor 3.6.4
· Rewrote method for inserting/multiple settings.
· Ask a display name in the register-step.
· Redirect to login if the profile isn't logged in on a settings-page.
· Added a modifier for fetching a profile setting.
Bugfixes:
· Extra validation for jsBackend.locale.get.
· Collecting live data wasn't working on iOS-devices.
· feedburner-url wasn't used in the widget.
· JS messages were triggered before the document was ready.
Improvements:
· Upgraded to jQuery UI 1.8.21
· Upgraded Highcharts to 2.2.5
Bugfixes:
· Mailmotor: don't use array_unshift to get the campaigns since this will create a new array and thus new keys.
· Mailmotor: don't use the send_on column, use sent instead (send_on is renamed to sent).
· Better layout for the image-box.
· Upgraded Highcharts to 2.2.4
· Base the URL on the display-name instead of the id.
· Default extension and mimetype-validation for image-field.
· Made it possible to set cookies with the utils.js (Remark: not compatible with SpoonCookie)
· Minifier will always include SVG & WOFF as raw data.
· Fixed typo in locale which failed the import of the initial labels.
· Added a method to subscribe to events from within the installer.
· Added a widget that shows a login-box.
· Upgraded CKFinder to 2.2.
· Upgraded CKEditor to 3.6.3.
· Search: don't add utm_* parameters when a search is performed.
· Core: detecting the browser language now use the weight.
Improvements:
· Core: upgraded Highcharts to 2.2.3
· Mailmotor: show subscriptions for all groups.
· Mailmotor: show unsubscription for all groups.
Bugfixes:
· Pages: made it possible to delete drafts.
· Blog: fixed the blog archive, which redirected to a false (or non-existent) URL if the parameters were invalid.
Improvements:
· Upgraded jQueryUI to 1.8.20
Bug fixes:
· Pages: child pages of footerpages had the wrong type when dropped on a footer page.
· Formbuilder: it is now possible to use an inactive frontend language.
· Upgraded jQueryUI to 1.8.19
· SELECT 1 ... LIMIT 1 in favor of SELECT COUNT(*), more optimized queries.
· Creates minify cache folders if they do not exist.
Bugfixes:
· Spoon: session should be started before we can access the session.
· Mailmotor: set action and module when initializing an AJAX action.
· FormBulder: sort submissions by insert sequence.
Improvements:
· Core: added template-modifier to parse widgets.
Bugfixes:
· Spoon: Multicheckboxes and radiobuttons could have ids with spaces in them.
· Core: when using Fork in non-multilanguage-mode the links for the internal pages weren't generated correctly.
· Spoon: The selected element for a multiple dropdown were forgotten when the form failed.
· Core: upgraded jQuery to 1.7.2
· Pages: added a timestamp after the linklist-file so it won't get cached by the browser.
· Core: upgraded Highcharts to 2.2.1
Improvements:
· Profiles: made it possible to add a profile.
Bugfixes:
· Escape the input on Ajax searches.
· Escaped weird input in Locale-module
· Core: make cache-files inaccessible over HTTP.
· Locale: improved existing translations.
· Locale: added translations for Spanish
· Locale: added translations for Swedish
· Locale: added translations for Ukrainian
· Locale: added translations for Lithuanian
· Location: revised Location-module, added some functionality.
· Pages: added widget for previous/parent/next navigation.
· Users: show user account statistics on dashboard (last login, last failed login, last password change & password strength).
· API: Added a client to the API, useful for general API development and working with third parties.
· Core: sharing widget now uses the latest linkedin sharing button.
· Core: sharing widget now also supports Google Plus.
· Search: removed deprecated addIndex/editIndex from BackendSearchModel.
· Upgraded jQueryUI to 1.8.18.
· Fixed XSS vulnerabilities.
· Refactored code to unify setting/getting module/action and added additional checks for validity.
Improvements:
· Core: it is now possible to use positions inside modules' templates.
· Backend: first page after login will always be dashboard (if allowed).
· Core: application specific config files are now optional.
Bugfixes:
· Pages: blocks in fallback positions are now drag-and-droppable again.
· Core: minifier now also works on PHP <5.2.2.
· Core: fixed bug in minifier where @import url("xxx") would fail.
Bug fixes:
· Fixed LFI vulnerability.
· Can now override the template for sub navigation and the navigation: {$var|getnavigation:'page':{$page.id}:2:null:null:'/core/layout/templates/subnavigation.tpl'}
· Installing a pre-uploaded theme from the themes overview now installs the selected theme instead of the last theme.
· Fixed CSV address imports.
· Included footer/meta subpages in the linkedlist.
Improvements:
· Core: integrated new CSS minifier (combine imports, import images to inline data URIs, shorten hex colors, strip whitespace, strip comments)
· Core: integrated new JS minifier (strip whitespace, strip comments)
· Core: replaced both different frontend & backend minifiers, by this new minifier.
· Share: Twitter now uses title instead of description + language attribute added
· Core: When a user doesn't have sufficient rights to access a page, he will now be redirected with the proper error code (307).
· Extensions: Modules with warnings will now be greyed out so they can be spotted easily.
Bugfixes:
· Location: fixed a javascript error with jquery.
· Location: fix vertical scrollbar inside info window.
· CSS: fixed Safari bug for DataGrid in Tabs #212
· Pages: subpages in the footer are now visible in the backend.
· Pages: default template wasn't used when adding a page.
Bug fixes:
· Core: module specific locale are now parsed in the templates when used in cronjobs, thanks to annelyze.
· Core: Click To Edit above the editor should behave from now on.
· Core: added the options for the theme-specific editor_content.css and and screen.css that will be loaded in the editor.
· Analytics: Fixed the labels for keywords and referrers when updating through Ajax.
· Extensions: Made clear in cronjob info text that cronjob execution times have to be spread on servers with multiple fork installations.
· Extensions: a notice was triggered when using invalid templatesyntax.
· Mailmotor: improve visibility of ckeditor in mailmotor.
Improvements:
· Core: added an isPrice filter, also for text fields.
· Core: added the text color for the hover states of buttons.
· Core: when a datagrid column has a certain column title(hidden, visible, published, active), the datagrid will now automatically detect non-visible rows and mark them this way.
· Core: init Facebook for its JS SDK when an admin or app id is set.
· API: Added API::isValidRequestMethod($method) that checks if the request method of an incoming API call is valid for a given API method'.
· Analytics: Fixed the cronjobs execution time, should only run once a day.
· Blog, content blocks, pages: replaced the buttons for the use of versions or drafts by links with icons for consistency.
· Blog: API methods are now limited to their correct request methods.
· Extensions: improved the validation of the positions.
· Formbuilder: altered the splitchar, so "," can be used in values for dropdowns, checkboxes or radiobuttons.
· Pages: editor will be larger by default.
· Search: use a saveIndex function instead of addIndex and editIndex.
Improvements:
· Core: upgraded jQueryUI to 1.8.17
· Core: added a generic method to output CSV-files, which uses the user-settings for splitchar and line-ending.
· Core: it is now possible to set an empty string as recipient name in the mailers.
· Extensions: only modules with a valid name will be included in the list of installable modules.
· Blog: added an option for the god user to enable or disable the upload image functionallity for the blog module.
· Installer: added a check for subfolders.
· All: template-options for available actions are now available for all modules and thus also prefixed with the modulename.
Bug fixes:
· Core: added missing locale for ckeditor & ckfinder.
· Core: when not in debugmode the dialog-patch wasn't included in the minified JS-file.
· Pages: fixed reset previous value when editing editor block.
· Spoon: when deleting a cookie we now set the expiration date far in the past to prevent that users with an incorrect system time can still use deleted cookies.
· API: all illegal characters are now wrapped with CDATA tags.
· Blog: API calls now show the most recent version of a blog title.
Improvements:
· Core: integrated CKEditor into Fork CMS.
· Core: added an extra check (parent has to be td.checkbox) for the row selection within tables in the backend.
· Core: added cookie containing unique visitor id.
· Core: add a class 'noSelectedState' to the table of a dataGrid to prevent the selected state to show for every row in the datagrid with a checked checkbox.
· Core: added maxItems and afterAdd options for the multipleSelectbox.
· Core: added a possibility to add an extra to all pages when installing forkcms with the installer function addDefaultExtra. The extra will be added to all pages without this extra.
· Core: you can now add items to the search index in the installer of your module.
· Core: fixed core engine url notice in frontend/ and backend/ (Notice: Undefined offset: 1) by removing an unused $get var.
· Pages: when adding an editor field, the editor will immediately open.
· Pages: the sitemap now correctly displays subpages.
· Extensions: modules may now also include files in /library/external.
· All: actions where the user has no rights for, are no longer shown.
Bugfixes:
· Core: fixed core template override from within module action.
· Core: added #xfbml=1 to the Facebook connect URL so Facebook plugins also work when there's no Facebook app id given in the settings tab.
· ContentBlocks: Fixed a bug where a hidden content block assigned to a page would trigger a PHP Notice.
· Extensions: fixed module-warnings system.
· Extensions: fixed module upload.
· Users: Fixed a bug that was triggered when editing a user that was not the loggedin user and when the loggedin user was not a god user.
· Spoon: dropdown opt-group's values were reset by the array_merge function.
Improvements:
· Core: the frontend CSS-minifier supports @import-statements from now on.
· Core: you can't select redirect-languages that aren't active.
Bugfixes:
· Blog: meta should be deleted before the items are deleted.
· Core: added public methods to FrontendPage to fetch page id & page record.
· Core: split instantiation & execution of extras, allowing extra's to be aware of other extra's on a page.
· All: fixed a lot of -tags, which improves the accessibility.
· All: added some hidden labels for formelements that doesn't have a -tag linked, which improves the accessibility.
· Authentication: don't mention which field is required separately.
Improvements:
· Core: tableSequenceByDragAndDrop allows the module to be chosen, so sequences from other modules might be used
· Tags: tagpages don't have any SEO-value, so don't index them.
· Core: created multibyte-safe ucfirst variant and applied it throughout Fork CMS.
Bug fixes:
· Core: fixed XSS vulnerability (as mentioned on: http://packetstormsecurity.org/files/107815/forkcms-xss.txt)
· Core: fixed page-unload warning on IE.
· Core: it is now possible to use translations that don't exist in English.
· Analytics fix: when refreshing the traffic sources a parseerror was thrown.
Improvements:
· Upgraded jQuery to 1.7.1
· Upgraded jQuery Tools to 1.2.6
· Direct action pages get prefilled meta information again.
· When adding a user and there is only one group it will be checked by default.
Bug fixes:
· Display name was not being linked properly.
· It is no longer impossible to fetch related items with the same id as your source item.
· Fixed js issue in triton.
· Fixed a typo, thx to Danny Korpan.
· When using spaces in the format-part of the template XML, the templates weren't build correctly.