### Version 2.5 (SVN)

New Features and Improvements:

- [#624] [#634] [#1300] [#1301] Official compatibility support with Opera 9.50 and Safari 3 (WebKit based browsers actually). These browsers are still in Beta, but we are confident that we'll have amazing results as soon as they get stable. We are continuously collaborating with Opera Software and Apple to bring a wonderful FCKeditor experience over their browser platforms.
- [#494] Introduced the new Style System. We are not anymore relaying on browser features to apply and remove styles, which guarantees that the editor will behave in the same way in all browsers. It is an incredibly flexible system, which aims to fit all developer's needs, from Flash content or HTML4 to XHTML 1.0 Strict or XHTML 1.1:
  - All basic formatting features, like Bold and Italic, can be precisely controlled by using the configuration file (CoreStyles setting). It means that now, the Bold button, for example, can produce <b>, <strong>, <span class...>, <span style...> or anything the developer prefers.
  - Again with the CoreStyles setting, each block format, font, size, and even the color pickers can precisely reflect end developer's needs.
  - Because of the above changes, font sizes are much more flexible. Any kind of font unit can be used, including a mix of units.
  - All styles, including toolbar bottom styles, are precisely controlled when being applied to the document. FCKeditor uses an element table derived from the W3C XHTML DTDs to precisely create the elements, guarantee standards compliant code.
  - No more <font> tags... well... actually, the system is so flexible that it is up to you to use them or not.
  - It is possible to configure FCKeditor to produce a truly semantic aware and XHTML 1.1 compliant code. Check out sample14.html.
  - It's also possible to precisely control which inline elements must be removed with the "Remove All" button, by using the "RemoveFormatTags" setting.
  - [#1231] [#160] Paragraph indentation and justification now uses style attributes and don't create unnecessary elements, and <blockquote> is not anymore used for it. Now, even CSS classes can be used to indent or align text.
  - All paragraph formatting features work well when EnterMode=br.
  - [#172] All paragraph formatting features work well when list items too.
- [#1197] [#132] The toolbar now presents a new button for Blockquote. The indentation button will not anymore be used for that.
- [#125] Table's columns size can now be changed by dragging on cell borders, with the "dragresizetable" plugin.
- The EditorAreaCSS config option can now also be set to a string of paths separated by commas.
- [#212] New "Show Blocks" command button in toolbar to show block details in the editing area.
- [#915] The undo/redo system has been revamped to work the same across Internet Explorer and Gecko-based browsers (e.g. Firefox). A number of critical bugs in the undo/redo system are also fixed.
- [#194] The editor now uses the Data Processor technology, which makes it possible to handle different input formats. A sample of it may be found at "editor/plugins/bbcode/_sample", that shows some simple BBCode support.
- [#145] The "htaccess.txt" file has been renamed to ".htaccess" as it doesn't bring security concerns, being active out of the box.
- File Browser and Quick Upload changes:
  - [#163] Attention: The default connector in fckconfig.js has been changed from ASP to PHP. If you are using ASP remember to change the _FileBrowserLanguage and _QuickUploadLanguage settings in your fckconfig.js. [#454] The file browser and upload connectors have been unified so they can reuse the same configuration settings.
  - [#865] The ASP and PHP connectors have been improved so it's easy to select the location of the destination folder for each file type, and it's no longer necessary to use the "file", "image", "flash" subfolders
    Attention: The location of all the connectors have been changed in the fckconfig.js file. Please check your settings to match the current ones. Also review carefully the config file for your server language.
  - [#688] Now the Perl quick upload is available.
  - [#575] The Python connector has been rewritten as a WSGI app to be fully compatible with the latest python frameworks and servers. The QuickUpload feature has been added as well as all the features available in the PHP connector. Thanks to Mariano Reingart.
  - [#561] The ASP connector provides an AbsolutePath setting so it's possible to set the url to a full domain or a relative path and specify that way the physical folder where the files are stored..
  - [#333] The Quick Upload now can use the same ServerPath parameter as the full connector.
  - [#199] The AllowedCommands configuration setting is available in the asp and php connectors so it's possible to disallow the upload of files (although the "select file" button will still be available in the file browser).
- [#100] A new configuration directive "FCKConfig.EditorAreaStyles" has been implemented to allow setting editing area styles from JavaScript.
- [#102] HTML code generated by the "Paste As Plain Text" feature now obeys the EnterMode setting.
- [#1266] Introducing the HtmlEncodeOutput setting to instruct the editor to HTML-encode some characters (&, < and >) in the posted data.
- [#357] Added a "Remove Anchor" option in the context menu for anchors.
- [#1060] Compatibility checks with Firefox 3.0 Alpha.
- [#817] [#1077] New "Merge Down/Right" commands for merging tables cells in non-Gecko browsers.
- [#1288] The "More Colors..." button in color selector popup has been made optional and configurable by the EnableMoreFontColors option.
- [#356] The Find and Replace dialogs are now unified into a single dialog with tabs.
- [#549] Added a 'None' option tothe FCKConfig.ToolbarLocation option to allow for hidden toolbars.
- [#1313] An XHTML 1.1 target editor sample has been created as sample14.html.
- The ASP, ColdFusion and PHP integration have been aligned to our standards.

Fixed Bugs:

- [#71] [#243] [#267] The editor now takes care to not create invalid nested block elements, like creating <form> or <hr> inside <p>.
- [SF Patch 1511298] The CF Component failed on CFMX 6.0
- [#639] If the FCKConfig.DefaultLinkTarget setting was missing in fckconfig.js the links has target="undefined".
- [#497] Fixed EMBED attributes handling in IE.
- [SF Patch 1315722] Avoid getting a cached version of the folder contents after uploading a file
- [SF Patch 1386086] The php connector has been protected so mkdir doesn't fail if there are double slashes.
- [#943] The PHP connector now specifies that the included files are relative to the current path.
- [#560] The PHP connector will work better if the connector or the userfiles folder is a symlink.
- [#784] Fixed a non initialized $php_errormsg in the PHP connector.
- [#802] The replace dialog will now advance its searching position correctly and is able to search for strings spanning across multiple inline tags.
- [#944] The _samples didn't work directly from the Mac filesystem.
- [#946] Toolbar images didn't show in non-IE browsers if the path contained a space.
- [#291] [#395] [#932] Clicking outside the editor it was possible to paste or apply formatting to the rest of the page in IE.
- [#137] Fixed FCKConfig.TabSpaces being ignored, and weird behaviors when pressing tab in edit source mode.
- [#268] Fixed special XHTML characters present in event attribute values being converted inappropriately when switching to source view.
- [#272] The toolbar was cut sometimes in IE to just one row if there are multiple instances of the editor.
- [#515] Tables in Firefox didn't inherit font styles properly in Standards mode.
- [#321] If FCKeditor is initially hidden in Firefox it will no longer be necessary to call the oEditor.MakeEditable() function.
- [#299] The 'Browse Server' button in the Image and Flash dialogs was a little too high.
- [#931] The BodyId and BodyClass configuration settings weren't applied in the preview window.
- [#583] The "noWrap" attribute for table cells was getting an empty value in Firefox. Thanks to geirhelge.
- [#141] Fixed incorrect startup focus in Internet Explorer after page reloads.
- [#143] Fixed browser lockup when the user writes <!--{PS..x}> into the editor in source mode.
- [#174] Fixed incorrect positioning of FCKeditor in full screen mode.
- [#978] Fixed a SpellerPages error with ColdFusion when no suggestions where available for a word.
- [#977] The "shape" attribute of <area> had its value changed to uppercase in IE.
- [#996] "OnPaste" event listeners will now get executed only once.
- [#289] Removed debugging popups from page load regarding JavaScript and CSS loading errors.
- [#328] [#346] [#404] Fixed a number of problems regarding <pre> blocks:
  1. Leading whitespaces and line breaks in <pre> blocks are trimmed when the user switches between editor mode and source mode;
  2. Pressing Enter inside a <pre> block would split the block into two, but the expected behavior is simply inserting a line break;
  3. Simple line breaks inside <pre> blocks entered in source mode are being turned into <br> tags when the user switches to editor mode and back.
- [#581] Fixed the issue where the "Maximize the editor size" toolbar button stops working if any of the following occurs:
  1. There exists a form input whose name or id is "style" in FCKeditor's host form;
  2. There exists a form input whose name or id is "className" in FCKeditor's host form;
  3. There exists a form and a form input whose name of id is "style" in the editing frame.
- [#183] Fixed the issue when FCKeditor is being executed in a custom application with the WebBrowser ActiveX control, hiding the WebBrowser control would incorrectly invoke FCKeditor's cleanup routines, causing FCKeditor to stop working.
- [#539] Fixed the issue where right clicking on a table inside the editing frame in Firefox would cause the editor the scroll to the top of the document.
- [#523] Fixed the issue where, under certain circumstances, FCKeditor would obtain focus at startup even though FCKConfig.StartupFocus is set to false.
- [#393] Fixed the issue where if an inline tag is at the end of the document, the user would have no way of escaping from the inline tag if he continues typing at the end of the document. FCKeditor's behaviors regarding inline tags has been made to be more like MS Word's:
  1. If the caret is moved to the end of a hyperlink by the keyboard, then hyperlink mode is disabled.
  2. If the caret is moved to the end of other styled inline tags by any key other than the End key (like bold text or italic text), the original bold/italic/... modes would continue to be effective.
  3. If the caret is moved to the end of other styled inline tags by the End key, all style tag modes (e.g. bold, italic, underline, etc.) would be canceled. This is not consistent with MS Word, but provides a convenient way for the user to escape the inline tag at the end of a line.
- [#338] Fixed the issue where the configuration directive FCKConfig.ForcePasteAsPlainText is ignored when new contents are pasted into the editor via drag-and drop from outside of the editor.
- [#1026] Fixed the issue where the cursor or selection positions are not restored with undo/redo commands correctly in IE, under some circumstances.
- [#1160] [#1184] Home, End and Tab keys are working properly for numeric fields in dialogs.
- [#68] The style system now properly handles Format styles when EnterMode=br.
- [#525] The union if successive DIVs will work properly now if EnterMode!=div.
- [#1227] The color commands used an unnecessary temporary variable. Thanks to Matthias Miller
- [#67] [#277] [#427] [#428] [#965] [#1178] [#1267] The list insertion/removal/indent/outdent logic in FCKeditor has been rewritten, such that:
  1. Text separated by <br> will always be treated as separate items during list insertion regardless of browser;
  2. List removal will now always obey the FCKConfig.EnterMode setting;
  3. List indentation will be XHTML 1.1 compliant - all child elements under an <ol> or <ul> must be <li> nodes;
  4. IE editor hacks like <ul type="1"> will no longer appear;
  5. Excessive <div> nodes are no longer inserted into list items due to alignment changes.
- [#205] Fixed the issue where visible >br< tags at the end of paragraphs are incorrectly removed after switching to and from source mode.
- [#1050] Fixed a minor PHP/XML incompatibility bug in editor/dialog/fck_docprops.html.
- [#462] Fixed an algorithm bug in switching from source mode to WYSIWYG mode which causes the browser to spin up and freeze for broken HTML code inputs.
- [#1019] Table command buttons are now disabled when the current selection is not inside a table.
- [#135] Fixed the issue where context menus are misplaced in FCKeditor when FCKeditor is created inside a >div< node with scrolling.
- [#1067] Fixed the issue where context menus are misplaced in Safari when FCKeditor is scrolled down.
- [#1081] Fixed the issue where undoing table deletion in IE7 would cause JavaScript errors.
- [#1061] Fixed the issue where backspace and delete cannot delete special characters in Firefox under some circumstances.
- [#403] Fixed the issue where switching to and from source mode in full page mode under IE would add excessive line breaks to <style> blocks.
- [#121] Fixed the issue where maximizing FCKeditor inside a frameset would resize FCKeditor to the whole window's size instead of just the container frame's size.
- [#1093] Fixed the issue where pressing Enter inside an inline tag would not create a new paragraph correctly.
- [#1089] Fixed the issue where pressing Enter inside a <pre> block do not generate visible line breaks in IE.
- [#332] Hitting Enter when the caret is at the end of a hyperlink will no longer continue the link at the new paragraph.
- [#1121] Hitting Enter with FCKConfig.EnterMode=br will now scroll the document correctly when the new lines have exceeded the lower boundary of the editor frame.
- [#1063] [#1084] [#1092] Fixed a few Norwegian language translation errors.
- [#1148] Fixed the issue where the "Automatic" and "More Colors..." buttons in the color selection panel are not centered in Safari.
- [#1187] Fixed the issue where the "Paste as plain text" command cannot be undone in non-IE browsers.
- [#1222] Ctrl-Backspace operations will now save undo snapshots in all browsers.
- [#1223] Fixed the issue where the insert link dialog would save multiple undo snapshots for a single operation.
- [#247] Fixed the issue where deleting everything in the document in IE would create an empty <p> block in the document regardless of EnterMode setting.
- [#1280] Fixed the issue where opening a combo box will cause the editor frames to lose focus when there are multiple editors in the same document.
- [#363] Fixed the issue where the Find dialog does not work under Opera.
- [#50] Fixed the issue where the Paste button is always disabled in Safari.
- [#389] Pasting text with comments from Word won't generate errors in IE, thanks to the idea from Swift.
- The pasting area in the Paste from Word dialog is focused on initial load
- Some fixes related to html comment handling in the Word clean up routine
- [#1303] <col> is correctly treated as an empty element.
- [#969] Removed unused files (fcknumericfield.htc and moz-bindings.xml).
- [#1166] Fixed the issue where <meta> tags are incorrectly outputted with closing tags in full page mode.
- [#1200] Fixed the issue where context menus sometimes disappear prematurely before the user can click on any items in Opera.
- [#1315] Fixed the issue where the source view text area in Safari is displayed with an excessive blue border.
- [#1201] Fixed the issue where hitting Backspace or Delete inside a table cell deletes the table cell instead of its contents in Opera.
- [#1311] Fixed the issue where undoing and redoing a special character insertion would send the caret to incorrect positions. (e.g. the beginning of document)
- [#923] Font colors are now properly applied on links.
- [#1316] Fixed the issue where the image dialog expands to a size too big in Safari.
- [#1306] [#894] The undo system can now undo text formatting steps like setting fonts to bold and italic.
- [#95] Fixed the issue where FCKeditor breaks <meta> tags in full page mode in some circumstances.
- [#175] Fixed the issue where entering an email address with a '%' sign in the insert link dialog wouldc ause JavaScript error.
- [#180] Improved backward compatibility with older PHP versions. FCKeditor can now work with PHP versions down to 4.0.
- [#192] Document modifying actions from the FCKeditor JavaScript API will now save undo steps.
- [#246] Using text formatting commands in EnterMode=div will no longer cause tags to randomly disappear.
- [#327] It is no longer possible for the browser's back action to misfire when a user presses backspace while an image is being selected in FCKeditor.
- [#362] Ctrl-Backspace now works in FCKeditor.
- [#390] Text alignment and justification commands now respects EnterMode=br paragraph rules.
- [#534] Pressing Ctrl-End while the document contains a list towards the end will no longer make the cursor disappear.
- [#906] It is now possible to have XHTML 1.0 Strict compliant output from a document pasted from Word.
- [#929] Pressing the Enter key will now produce an undo step.
- [#934] Fixed the "Cannot execute code from a freed script" error in IE from editor dialogs.
- [#942] Server based spell checking with ColdFusion integration no longer breaks fir non en_US languages.
- [#1056] Deleting everything in the editor document and moving the cursor around will no longer leave the cursor hanging beyond the top of the editor document.

# This version has been partially sponsored by the Council of Europe.

See previous versions history