# CKFinder Changelog

CKFinder

Copyright (C) 2007-2015, CKSource - Frederico Knabben. All rights reserved.

## Version 3.2

### New Features

- Added new view for files pane: a list view with file details.
- Added sorting of files in files pane by name, date and size.
- Added the `listViewIconSize` configuration option.
- Added the `defaultSortBy` configuration option.
- Added the `defaultSortByOrder` configuration option.
- Added the `defaultViewType` configuration option.
- Added the `listView:columns` event.
- Added the `listView:file:column:NAME` event.
- Added the `listView:folder:column:NAME` event.
- Added the `resources:show:before` event.
- Added the `dialog:close:NAME` event.
- Added the `file:getActive` request.
- Added the `csrf:getToken` request.
- Added the `sendPostAsJson` parameter to the `command:send` request
- The `view` parameter for the `page:create` request is now optional.

### Fixed Issues

- Individual settings views have a proper name in the `view:NAME` event instead of a single `Setting`.
- Compact mode: Keyboard navigation in breadcrumbs is inverted for RTL languages.
- Fixed an issue that prevented to move or copy over 250 files on a default PHP installation.
- Fixed wrong error message for an empty file name.
- Fixed detection of swipe direction when opening panels on touch screen devices.
- Compact mode: Focus on filter box is lost when typing.
- Thumbnails are not refreshed after editing an image.
- Files filter is not refreshed after clicking a folder.
- Focus is lost after moving files.
- The toolbar is unnecessarily rendered when lazy loading of a folder finishes and a file was selected.

## Version 3.1

### Security Updates

As a result of security testing and hacking that we did on CKFinder 3 we discovered some potential security concerns in the server-side part of the application. These issues affected actions that only authenticated users could perform solely in locations specified in your CKFinder backends configuration, but since in some cases it was possible to skip ACL checks or file extension checks, an upgrade is highly recommended.

### New Features

- Improved accessibility. Added compatibility with screen readers.
- Reworked keyboard navigation in the entire application. Implemented custom `Tab` key support to resolve inconsistency between browsers.
- Added the Keyboard Shortcuts dialog window — press `?` to open it.
- Greatly improved application performance when loading files from remote locations (e.g. Amazon S3).
- Improved performance by reducing the number of situations when the entire files pane is reloaded.
- Improved performance by caching files on subsequent clicks of the folder.
- Added Microsoft Edge compatibility.
- Added preview of PDF files in the gallery.
- Added drag and drop support for files onto folders and breadcrumbs in compact mode.
- Added busy dialog and progress tracking for time-consuming operations.
- Added Proxy command support. It is now possible to view files stored outside the document root or in remote backends in the gallery.
- Added the `Proxy` command and the corresponding `useProxyCommand` backend configuration option.
- Reworked the Choose Scaled dialog window.
- Edit Image feature now warns against closing without saving changes.
- Added the `folder:getIcon` request.
- Removed Maximize/Minimize buttons in popup mode as the browser provides native controls for it.
- Improved performance by caching file previews.
- Added the `cache` option that configures cache lifetime for various CKFinder components.
- Added the `tempDirectory` option that configures the path to the temporary files folder used by CKFinder.
- Added the `sessionWriteClose` option that configures whether the connector should close write access to the session to avoid performance issues.
- Added the `Operation` command that tracks the progress of operation in time-consuming connector commands.

### Backward Incompatible Changes

- Context menu API has undergone major changes. See the updated context menu documentation.
- Toolbar API events `toolbar:reset:NAME` and `toolbar:reset:NAME:EVENT` - `data.toolbar` is now a `Backbone.Collection`, not an array.
- The `file:getIcon` request no longer has the `extension` parameter. Pass the `file` parameter instead.

### Fixed Issues

- Compact mode: Breadcrumb was hidden when entering a folder with many files.
- Compact mode: There was no way to enter a folder on Android.
- Compact mode: Broken border around CKFinder when viewing the top level folder with resource types.
- Edit Image: Loading an image was not working when the domain name contained a dash character.
- Edit Image: Context menu item was enabled when the user had no permissions to edit the file.
- Edit Image: Resize option was not available in compact mode.
- Edit Image: Reset button should have been disabled if there was nothing to reset.
- Edit Image: Fixed validation of provided values in the edit image controls.
- Edit Image: There was no information about failing to save a file.
- Edit Image: It was possible to crop an area bigger than the edited image.
- Edit Image: Fixed progress bar behavior.
- Filter input: Clearing filter input did not result in showing all files in IE9.
- Filter input: Filter should remember its state if it is still active.
- Focusing elements: Focus in context menu and toolbar did not cycle.
- Focusing elements: Focus was lost after resizing an image.
- Focusing elements: Focus was not remembered when returning to the files pane.
- Focusing elements: Pressing `Tab` should focus the first item in a component (file, folder, toolbar button), not the container.
- Focusing elements: Lock focus chain within the settings panel.
- Scrolling files: Scrolling on mobile devices was troublesome and sometimes did not work at all.
- Scrolling files: Files were unnecessarily selected on scroll on mobile devices.
- Thumbnails: Problem with thumbnails in widgets/popups when `connectorPath` did not include the domain.
- Thumbnails: Thumbnails loaded with a significant delay for a larger number of files.
- Thumbnails: Thumbnails were not refreshed in certain scenarios.
- iOS/Safari: Thumbnails were not shown.
- iOS/Safari: Popup sample did not work.
- iOS/Safari: The configured height of the widget was ignored, instead CKFinder height depended on the number of files inside.
- iOS/Safari: Downloading files did not work.
- Setting global configuration did not work for widgets and popups.
- There was no Close button available after file upload.
- It should not be possible to move dialog windows.
- Fixed various UI glitches in the RTL interface.
- Video or image sometimes overlapped file preview controls in file preview.
- Delete files confirmation dialog did not appear when the files pane was scrolled.
- Changed the confusing empty folder message in the read-only mode.
- Removed the notification about correctly uploaded file in IE9.
- Resolved an issue with validating license names that started with `www[0-9]` or that contained upper case letters.
- In certain scenarios not all available toolbar buttons were shown in CKFinder.
- Fixed the look of the "More" drop-down in the toolbar.
- Empty `directory` key in the backend definition resulted in a double slash in the file URL.

### Localization Updates

- Added: Basque, Kurdish.
- Updated: Brazilian Portuguese, Chinese, Croatian, Czech, Danish, Esperanto, Estonian, French, German, Greek, Hungarian, Italian, Korean, Norwegian, Persian, Polish and Russian.

## Version 3.0

A brand new version of CKFinder, currently available only for PHP. For an overview of new features, see the announcement about CKFinder 3.0 for PHP.

- New architecture based on jQuery, jQuery Mobile, Backbone, Marionette, and RequireJS.
- Built-in image editor.
- Customizable skins compatible with jQuery UI Themeroller.
- Full responsiveness, great mobile support.
- Cloud storage support (Amazon S3, Dropbox) and FTP connector.