Perfect for building modern-looking websites, and managing them using a simple administration GUI.
What is new in this release:
- Core: every template can now check if it has a certain parent id with {option:isChildOfPageX}
- Locale: improve performance of the index page
- Core: reduced database queries in BackendDataGridFunctions::getUser().
- Core: Replace SITE_MULTILANGUAGE with $container->getParameter('site.multilanguage')
- Core: Replace SPOON_DEBUG_EMAIL with $container->getParameter('fork.debug_email')
- Core: Replace SPOON_CHARSET with $container->getParameter('kernel.charset')
- FormBuilder: use the event dispatcher from Symfony to send the email
- Core: allow installed modules to subscribe their own configuration/services
- Core: enable gzip compression on svg files
- Core: rename BlockIsHTML to BlockIsEditor
What is new in version 3.9.5:
- Core: every template can now check if it has a certain parent id with {option:isChildOfPageX}
- Locale: improve performance of the index page
- Core: reduced database queries in BackendDataGridFunctions::getUser().
- Core: Replace SITE_MULTILANGUAGE with $container->getParameter('site.multilanguage')
- Core: Replace SPOON_DEBUG_EMAIL with $container->getParameter('fork.debug_email')
- Core: Replace SPOON_CHARSET with $container->getParameter('kernel.charset')
- FormBuilder: use the event dispatcher from Symfony to send the email
- Core: allow installed modules to subscribe their own configuration/services
- Core: enable gzip compression on svg files
- Core: rename BlockIsHTML to BlockIsEditor
What is new in version 3.9.4:
- Core: every template can now check if it has a certain parent id with {option:isChildOfPageX}
- Locale: improve performance of the index page
- Core: reduced database queries in BackendDataGridFunctions::getUser().
- Core: Replace SITE_MULTILANGUAGE with $container->getParameter('site.multilanguage')
- Core: Replace SPOON_DEBUG_EMAIL with $container->getParameter('fork.debug_email')
- Core: Replace SPOON_CHARSET with $container->getParameter('kernel.charset')
- FormBuilder: use the event dispatcher from Symfony to send the email
- Core: allow installed modules to subscribe their own configuration/services
- Core: enable gzip compression on svg files
- Core: rename BlockIsHTML to BlockIsEditor
What is new in version 3.9.2:
- Core: every template can now check if it has a certain parent id with {option:isChildOfPageX}
- Locale: improve performance of the index page
- Core: reduced database queries in BackendDataGridFunctions::getUser().
- Core: Replace SITE_MULTILANGUAGE with $container->getParameter('site.multilanguage')
- Core: Replace SPOON_DEBUG_EMAIL with $container->getParameter('fork.debug_email')
- Core: Replace SPOON_CHARSET with $container->getParameter('kernel.charset')
- FormBuilder: use the event dispatcher from Symfony to send the email
- Core: allow installed modules to subscribe their own configuration/services
- Core: enable gzip compression on svg files
- Core: rename BlockIsHTML to BlockIsEditor
What is new in version 3.9.1:
- Settings: test email connection with SwiftMailer.
- Formbuilder: added the possibility to add date & time fields.
- Settings: test email connection with SwiftMailer
- Core: refactor out SELF constant
- Core: removed the Facebook-class-dependency
- Core: added an option to truncate a string without breaking words
- Blog: add functional tests for the frontend.
- Faq: add functional tests for the frontend.
- Search: add functional tests for the frontend.
- Authentication: add functional tests for the backend.
- API: add functional tests.
- Core: add unit tests for some template modifiers
- Core: build Fork using continious integration with Travis CI.
- Core: upgrade jQuery to version 1.11.3
- Locale: load all cache from json
- FormBuilder: reply to email can now only be put on an email field
- Tags: improve the alt text for the "remove tag" button by including the tag name
- Core: redirect using an exception instead of an exit statement
- Core: update the included Facebook SDK to v4
- Core: refactor out BACKEND_MODULE_PATH constant
What is new in version 3.8.7:
- Improvements:
- Mailer: use SwiftMailer to send messages (see )
- FormBuilder: jump to location of form after submission.
- Core: Update CKFinder to version 2.4
- Bug Fixes:
- Locale: Avoid "Using $this when not in object context" when using PHP 5.3.
What is new in version 3.8.6:
- Bug fixes:
- Users: Fixed error in backend user edit, when updating your own account.
- Core: Fix some wrong template names
- Dashboard: Fix casing issue in alter sequence
- Pages: Redirects are now available in the pages cache file
- Translations: Fix an SQL Injection vulnerability
What is new in version 3.8.4:
- Make sure setDebugMessage is only called once.
What is new in version 3.8.2:
- Core: small fix for mail template style on very small screens.
- FormBuilder: reduced database querying while getting form fields in Form widget.
- Faq: Categories widget added.
- Core: update minify library.
- Core: update CKFinder.
- Install: refactor installer to a Symfony Bundle.
What is new in version 3.8.0:
- Improvements:
- Profiles: mass import for profiles using a .csv added.
- Core: BackendModel::insertExtra() added to allow inserting homepage/widgets/blocks.
- Core: insertExtra Integrated in the modules: "ContentBlocks, Faq, FormBuilder and Location"
- Core: Restyled mail templates, simple fluid design (looks good on small and wide screens).
- Debug mode and environment are set earlier in the response. You can set debug mode with SetEnv FORK_DEBUG 1 You can set dev environment with SetEnv FORK_ENV dev
- Core: when in debug mode and in dev environment, the SymfonyWebProfiler is shown in the bottom of the page.
- Core: handle errors in debug mode by the symfony error handler.
- Analytics: implement event tracking for universal analytics
- Faq: BackendFaqModel now uses BackendModel::deleteExtraById() and BackendModel::updateExtra().
- ContentBlocks: BackendContentBlocksModel now uses BackendModel::deleteExtraById() and BackendModel::updateExtra().
- Location: BackendLocationModel now uses BackendModel::deleteExtraById() and BackendModel::updateExtra().
- Bug fixes:
- Core: event subscriptions did not get fired in the frontend.
- Authentication: avoid unnecessary dabase calls for unauthenticated users.
- Tags: make sure the same tag can't exist with and without a capital letter.
What is new in version 3.7.3:
- Bug fixes:
- Installer: make sure our database is initialized as UTF8.
- Installer: remove the cached container after installation.
What is new in version 3.7.1:
- Blog: show image on preview
- Core: add .editorconfig file
- Core: BackendModel::updateExtra() now has a serialization check when key === 'data'
What is new in version 3.7:
- Core: use correct/new Facebook-js-snippet.
- Users: more logical way of handling user-permissions, see #684.
- Content blocks: only grab needed fields, see #669.
- Core: better description for CKFinder maximum image size settings.
- Core: used namespaces, see UPGRADE_3.7.md for more info
- API: use isAuthorized() instead of authorize(), see UPGRADE_3.7.md for more info.
- Core: CommonCookie and CommonUri are now in the src/Common folder
- Core: unused function BackendModel::imageSave is removed in favor of generateThumbnails().
- Core: removed duplicate mailer code and make the mailer a service
What is new in version 3.6.6:
- Profiles: event ‚after_logged_in' triggered when profile has logged in.
- Users: event ‚after_undelete' triggered when a deleted user was restored.
- Core: Don't expose the path when calling ajax.php directly in non-debug-mode.
- Core: Better error handling for module rights.
- Various dutch translations updated.
- Extensions: add export of theme templates (XML).
What is new in version 3.6.5:
- Form builder: Reply-To field flag was not saved.
- Tags: Auto completing has to take language into account.
- Pages: During page copy, the tags were not created in the target language.
What is new in version 3.6.4:
- Bugfixes:
- Couldn't use terminate function not yet.
What is new in version 3.6.2:
- Locale: Added Greek as supported language
- Locale: Several language updates
- Analytics: Better event tracking
- FAQ: Category questions widget added
What is new in version 3.6.1:
- Blog: hide navigation when there are no items to show.
- Profiles: a user can now upload his avatar in Frontend and we can also integrate the avatar in a Backend DataGrid. Fallback for avatar is Gravatar.
- Speed enhancements
- Don't throw exceptions in production mode on non-existing files.
- Check if .htaccess file is properly uploaded
- Do not expose composer and markdown files to the outside.
What is new in version 3.6.0:
- 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.
What is new in version 3.5.0:
- 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.
What is new in version 3.4.3:
- 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.
What is new in version 3.4.2:
- Upgraded to jQuery UI 1.8.22.
What is new in version 3.4.1:
- 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.
What is new in version 3.3.13:
- 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).
What is new in version 3.3.12:
- 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.
What is new in version 3.3.11:
- Fixed typo in locale which failed the import of the initial labels.
What is new in version 3.3.9:
- 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.
What is new in version 3.3.8:
- Search: don't add utm_* parameters when a search is performed.
- Core: detecting the browser language now use the weight.
What is new in version 3.3.7:
- 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.
What is new in version 3.3.6:
- 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.
What is new in version 3.3.5:
- 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.
What is new in version 3.3.4:
- 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.
What is new in version 3.3.3:
- 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.
What is new in version 3.3.2:
- 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
What is new in version 3.3.1:
- Improvements:
- Profiles: made it possible to add a profile.
- Bugfixes:
- Escape the input on Ajax searches.
- Escaped weird input in Locale-module
What is new in version 3.3.0:
- 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.
What is new in version 3.2.7:
- Upgraded jQueryUI to 1.8.18.
- Fixed XSS vulnerabilities.
- Refactored code to unify setting/getting module/action and added additional checks for validity.
What is new in version 3.2.6:
- 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.
What is new in version 3.2.5:
- 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.
What is new in version 3.2.4:
- 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.
What is new in version 3.2.2:
- 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.
What is new in version 3.2.1:
- 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.
What is new in version 3.2.0:
- 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.
What is new in version 3.1.9:
- 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.
What is new in version 3.1.8:
- 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.
What is new in version 3.1.7:
- 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.
What is new in version 3.1.5:
- Analytics fix: when refreshing the traffic sources a parseerror was thrown.
What is new in version 3.1.4:
- 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.
Comments not found