Ephox Textbox.io Release Notes
This document contains information on changes between versions of Textbox.io.
For more detail and working examples, please consult the developer documentation.
Older changelog entries are available on the Ephox releases site.
Textbox.io 1.3.1.100
Please Note
- The mobile editor UI currently renders on top of all other page elements and blocks touch events outside of the editor. Using a custom button to open a dialog can render the editor unusable on mobile.
- Using more than one unique value for editor locale on a page is not supported
New Features
- Textbox.io menus are no longer cut off by overflow: hidden containers around the editor
- New link context menu for easier access to the link properties dialog
- Links have http:// automatically prepended in some scenarios. Example: www.ephox.com will become http://www.ephox.com
- Text direction no longer toggles off when the active direction is re-selected
- New textboxio.isSupported() method allows detection of a supported Textbox.io browser/platform
- When loading on an unsupported browser/platform:
- Textbox.io no longer shows an alert dialog and cancels loading
- The textboxio global is created with a non-functional API
- Attempting to create an editor from the non-functional textboxio results in an error
- List and Indent buttons are now rendered in right-to-left when the cursor is in an RTL content section
- Clicking below or above a table at the end or beginning of the document will create a paragraph between the table and the edge of the document
- Textbox.io context menus are now shorter with less vertical padding
- Provide a configuration option to turn off the Flash component for pasting images from Microsoft Word
Bug Fixes
- Tooltips were missing from the Find and Replace dialog buttons
- SecurityError in FireFox when the editor script was hosted on a different domain to the current page
- Using space to open the insert table widget on FireFox inserted a 1x1 table instead of showing the widget
- Find and Replace highlights were included in the undo history
- Pressing enter in the replace field of the Find and Replace dialog did not activate the replace button
- Improved the help text on the Insert Image from Web URL dialog
- Reversed the tooltips on the Image Properties dialog lock icon to use present tense
- Detection of content text direction was case sensitive in the attribute value
- Content with a space at the start could cause content retrieval to return an empty string
- Importing content from Word 2016 into IE10 threw a TypeError in the console
- The first time code view was loaded in an editing session the scrollbar and cursor position were incorrect
- Editing a document on FireFox with a hyperlink at the end of a line inserted typing into the link, instead of after it
- Importing Word documents with a lot of images occasionally showed the wrong image in place of an unsupported (blank) image
- Added missing ARIA attributes on the Find and Replace dialog
- Setting text alignment on an empty cell had no effect
- Using code view created extra undo points when switching back to design view even if no changes were made
- Loading the editor in a very thin window could cause context menus to render off the left side of the screen
- Indenting or outdenting an improperly formed list lost the item content
- Pasting an ordered list with a nested list from Word into Windows Firefox did not preserve the original ordering
- The isDirty API returned true when setting content to an empty string
- Keyboard shortcut documentation for indent and outdent for German, Italian, and Spanish was incorrect
- Unsupported images threw a translation JS error while pasting
- Input elements were getting stripped out when pasting
- Removed a zero width character that was inserted when insertHtmlAtCursor was used to insert an input element
- Missing z-index on toolbar was causing the toolbar to be potenitally hidden underneath other containers when in inline mode
Textbox.io 1.3.0.341
Please Note
- The link information popup that appeared when the cursor is in a link has been removed
- A loading spinner will now be displayed when the editor resources take more than a second to load. Most API calls still work in this state, but document interactions will throw an error.
- The locale and languages configuration options have moved into the ui object. The old configuration propertes are ignored.
- The mobile editor UI currently renders on top of all other page elements and blocks touch events outside of the editor. Using a custom button to open a dialog can render the editor unusable on mobile.
- Using more than one unique value for editor locale on a page is not supported
New Features
- Greatly improved table model for selection, navigation, and clipboard support, including:
- Navigating tables now happens in natural order, instead of DOM order (up moves cursor up, not left)
- Using the mouse or keyboard to select cells now creates a custom highlighted selection
- Merging cells can be performed via the table context menu
- Unmerging cells can be performed via the table context menu
- Copying selected cells will copy just those cells to the clipboard, adding blank cells to fill in any gaps if the selection is not rectangular
- Pasting a table into a table will merge the contents into the target table. This process will add columns and rows or unmerge cells as necessary to ensure the table remains rectangular.
- Copying table cells from within the editor will retain HTML styles on paste regardless of the paste configuration setting to preserve editor table styling
- Rows can now be resized, just like columns
- Table cell formatting commands available on the toolbar when the cursor is within a table. These items can be disabled using the contextual property of the toolbar configuration.
- Cell background color
- Cell border width
- Cell border color
- Greatly improved Accessibility support, including:
- Editor conforms to Web Content Accessibility Guidelines (WCAG) 2.0 Level AA conformance
- Editor adheres to the recommendations set forth in Section 508 of the Rehabilitation Act of 1973
- Editor has full display support for Windows high contrast mode themes
- Improved accessibility help text
- Editor ARIA label can be configured using the aria-label property of the ui configuration
- Focus consistently returns to the editor after using the toolbar, menus or dialogs
- Dialogs are now announced as a "dialog" by screen readers
- Dialogs now have consistent navigation and behaviour of enter
- Dialogs with required elements are labeled as required for screen readers
- Navigation is now consistent when a combination of keyboard and mouse is used. Users can switch between keyboard and mouse navigation at any time.
- Autocorrections are announced to screen readers
- Navigating the help dialog using the keyboard is more intuitive
- Method for navigating the table and color widgets are explained by screen readers
- Toolbar groups correctly identify themselves using role="toolbar"
- Menus and submenus have correct ARIA roles and states
- New shortcut for indent and outdent when using Dutch keyboards
- Full screen tooltip and aria-label changes to "exit full screen" when the editor is in fullscreen mode
- Firefox did not notify screen readers of the editor ARIA label or help text
- Alignment buttons in dialogs are announced as (and behave like) radio buttons
- Insert image from Web URL dialog announces the status and informational text to screen readers
- Font size menu widget navigation is more intuitive. Screen readers announce the font size menu widget as a dialog and it behaves as such
- New List toolbar UI delivers expanded list style functionality; Bullet and counter styles, context style highlighting, most recently used shortcut
- Find and replace inline dialog with find as-you-type and case sensitive matching toggle
- New word count feature is available in the user settings menu
- HTML is now automatically indented (pretty-printed) in code view and when using editor.content.get()
- New message API method to show custom banner notifications on the editor. See the editor documentation for more details
- Improved Image Properties dialog enables image alignment using float. Enhanced toolbar Alignment menu now applies to images
- A new dirty event has been implemented. See the events documentation for more details
- New editor API retrieving or changing the dirty state of the content. See the content documentation for more details.
- Updated image resize UI style to be more consistent across platforms
- Support for enforcing plain text paste using the plain value for the paste configuration property. Double newlines in the plain text are turned into P tags, single lines into BR tags.
- Available font-faces in the font menu can be configured with the fonts configuration property
- Table width and height can be set in the table properties dialog
- Ability to disable Textbox.io automatic form submission behavior using the autosubmit property of the configuration.
- Editor "content" keyboard shortcuts can now be disabled using the shortcuts property of the ui configuration. The list of disabled shortcuts is in the documentation
- Detailed error messages are now shown when image upload fails with a HTTP error code 400 or greater
Bug Fixes
- Pasting the same image twice from Microsoft Word did not generate unique filenames
- Resizing the window while the editor was hidden moved all toolbar items into the more drawer
- Pasting an image file into Firefox prevented the user from scrolling the outer page
- Inserting a table with the table picker on Firefox when the editor was within a form broke programmatic calls to form.submit()
- Retrieving content with an image selected removed any class attribute that may have been on the image
- Shrinking an image with the resize handles on an image with a border did not work
- Switching to full screen caused local images to no longer be converted to base64 or uploaded
- Editor content could exceed the editor container on IE
- Missing mouseover tooltip label for Link Properties button in Link Dialog
- Full screen labels were not updated when switching modes
- ARIA toolbar and group roles were reversed
- Settings menu items did not report the checked state to screen readers
- Editor ARIA label was not announced when using JAWS with Firefox for Windows
- Indent and Outdent keyboard shortcuts used keys that are not on the keyboard for some languages
- Editor did not load on Chrome when the element to replace was not in the DOM
- Opening the context menu could cause the outer window to scroll incorrectly
- Editor did not load correctly when the container element was moved to a different parent element in between creating and showing the editor
- The editor UI was incorrect when integrated with old versions of Bootstrap CSS
- Performance issue when the browser window was resized with the inline editing toolbar hidden
- Using combinations of keyboard and mouse movement to navigate the toolbar or dialogs could result in unexpected behaviour
- Page could be scrolled while dialogs were open
- Pressing enter or space on the "choose image to upload" button of the insert image dialog did nothing on Firefox
- Creating an inline editor as a child of a list caused many editor operations to break
- The spinner on the insert image from Web URL dialog did not animate in some circumstances
- Some arrows displayed on the wrong side in the mobile Right-to-Left UI
- Mobile submenus did not work correctly in the Right-to-Left UI
- Mobile dialogs were not scrolled correctly when opened with a focussed input field
- Bottom of letters cut off in style dropdown on Firefox
- On Chrome, resizing an image and then pressing an undo split the paragraph after the image
- The editor toolbar sometimes overlapped the right side of the editor on startup instead of moving items into the more drawer
- Applying inline formatting to selection including an iframe deleted the iframe
- Using the autolink macro in IE10 could trigger an IndexSizeError at the console
- In some circumstances, with code view disabled the editor height was incorrect and the bottom border was not visible
- Loading a document with a self-closing iframe tag corrupted the content
- In iOS 8, "Done" on the keyboard did not do anything on the insert image from Web URL dialog
- Importing Microsoft Word documents with images that have wrap text set imported blank images
- Importing Microsoft Word documents with images in tables sometimes imported blank images
- Calling editor.content.insertHtmlAtCursor() with a block element sometimes inserted blank lines
- On Internet Explorer, the editor was taking focus during calls to editor.content.set() and then restoring it afterwards
Textbox.io 1.2.0.276
Please Note
- If the editor script is not referenced as textboxio.js and the basePath configuration is not provided, the editor will not load. See the basePath documentation for more information.
- The Textbox.io image service has been removed. Images are now uploaded using multipart form request. See our Handling Local Images article for more information and example server-side scripts.
- The mobile editor UI currently renders on top of all other page elements and blocks touch events outside of the editor. Using a custom button to open a dialog can render the editor unusable on mobile.
- Using more than one unique value for locale in a page is not supported
New Features
- WAI-ARIA compliant keyboard navigation for Textbox.io toolbars, widgets, menus and dialogs. This allows the editor to be used by those requiring assistive technologies.
- Support for creating multilingual content. These features are not on the default toolbar, see the Command Item IDs article for ways to enable them.
- Changing the language of selected text (HTML lang attribute)
- Changing the text direction of block elements (HTML dir attribute)
- Greatly improved creation of inline formatting (bold, italic, underline) across platforms, ensuring use of simplified, semantic HTML markup
- Added superscript, subscript, and strikethrough inline formatting options. These are available in the font menu, or using individual Command Item IDs.
- New Image Properties dialog to specify alternative text, width and height attributes
- New Link Properties dialog to specify target and title attributes
- Support for the caption element in tables
- New basePath configuration property.
- Inserting local images can now be disabled using the allowLocal property of the images configuration
- The code view button can now be hidden without disabling code view completely, using the showButton property of the codeview configuration
- CSS content stylesheets can now be specified as text using the documentStyles configuration property. This option is ignored in inline editing mode.
- Ability to use a custom JavaScript function for image uploads. See the images documentation for more information.
Bug Fixes
- Calling editor.content.set() before the editor loaded and immediately calling editor.content.get() would return an empty string
- Creating an editor in Firefox when its container was not visible would prevent the editor from loading
- Creating a hidden editor in any browser would put all toolbar items in the more drawer
- When using Chrome for Windows, dragging an image between the end of the content and the bottom of the editor would navigate to the image instead of inserting it
- Long continuous lines of text did not wrap correctly
- Selecting multiple table cells and applying list formatting could wrap all cells in a single list
- Nested submenus with custom buttons failed with a translation error
- Mobile styles dropdown was not scrollable
- Tab in a modal dialog sent focus to the outer page
- Loading new editor content did not reset the cursor
- Resizing an image during upload could cause unpredictable behaviour
- Smart quotes were not handled correctly by the spell checker
- Content with <noscript> tags caused problems with undo history in IE10 and IE11
- Pasting into Safari while a lot of content was selected could cause the paste to fail
- Applying alignment to a selected image broke the rendering of all selected images
- Input filters added with the filters API were not activated when switching from code view to design view
- Pressing enter did not exit a list correctly when the loaded content had whitespace between list elements
-
editor.remove() could cause the page to scroll
- Converting a block tag to another block type (e.g. Paragraph to Heading 1) did not preseve HTML attributes other than style
- Pressing enter at the end of a div inserted a new paragraph instead of a new div
- Custom menu items with icons displayed an X instead of the icon on mobile
- Menus did not reposition correctly when the editor size changed while the menu was open
- Menus did not reposition correctly when rotating a mobile device
Textbox.io 1.1.0.331
Please Note
- Editor configuration now has a locale option. However using more than one unique value for locale in a page is not supported.
New Features
- Syntax highlighted Code View with autocompletion is now available (using CodeMirror). Click the icon in the bottom right to switch.
- Inline Editing is now available to create a seamless WYSIWYG user experience, which automatically enables floating toolbars
- Floating draggable toolbars are now available
- iOS 8 support
- The editor interface is now available in 33 languages. The browser locale is used by default, if a matching translation is available. The locale can also be set via the editor API.
- Spell Checking is now available in 13 languages. The user interface language is used by default, if a matching dictionary is available.
- Right to left interface support for Arabic and Hebrew locales
- Actions on custom buttons are now passed an editor reference
- Removed image Drag and Drop overlay UI. Images are now inserted where the mouse points instead of where the cursor was.
- Code View can be disabled in the editor configuration object.
- new getSelectedText API
Bug Fixes
- Image "src" attributes were not all updated before the uploadImages() callback was fired
- Text did not wrap correctly on mobile browsers with long continuous lines in the content
- Pressing enter at the end of a heading with inline styles did not convert the next line to a paragraph
- Issues performing undo operations after auto-capitalization in a table
- The "loaded" event fires not only once but every time the editor goes from full screen to normal
- Converting a selection to list block items when there are new lines in between inserts unwanted bullets
- The "loaded" event was incorrectly firing when the user switched to fullscreen or back, in addition to on load
- Changing the font size on a misspelled word would sometimes result in a partial underline
- The cursor position was incorrect after using the insertHtmlAtCursor API
- Input filters were not applied to content added with the insertHtmlAtCursor API
- Text could not be selected within the help dialog
- Pressing backspace with an image selected in Internet Explorer would sometimes navigate back
- When an image upload timed out, the failed image was not converted to base64 on save
- Pressing enter in the "web image url" dialog field submitted the outer web form containing TBIO
- Spelling highlights were not filtered out when copying and pasting within the editor
- Text Alignment and Font Weight styles could leak from the outer page into the editor UI
Textbox.io 1.0.0.1443
Please Note
- Mobile support is limited to iOS 7. Android devices will be supported in a future release.
- Image insertion operations may move the current cursor and/or selection location.
- On iOS occasionally the virtual keyboard can become out of synchronization with the editor (i.e. it is displayed or hidden when it shouldn't be). Returning focus to the editor by touching in the editable region usually corrects this issue.
- Due to an Internet Explorer 10 rendering issue, new paragraphs may appear as two lines instead of a single line on this browser.
- On Internet Explorer 11 spelling highlights can occasionally cause the current selection to change.
- Some character combinations within a URL may cause the generated link to be invalid or incomplete.
- Microsoft Word documents with large numbers of images may cause a "#1502" memory error in Adobe Flash indicating that he image paste operation has failed due to memory constraints.
- Image upload is currently only supported for images smaller than 4.5MB.
New Features
- User-centric, streamlined, responsive UI based on HTML5 and CSS3
- Rich text editing for mobile devices using iOS 7
- Clean copy and paste from Microsoft Office, including image content
- Automatic image uploads and supporting image upload service
- Drag and drop to insert images
- Fullscreen mode
- Spell checking as you type with supporting spell check service
- Autocorrect
- Markdown support for distraction free writing
- Inline HTML styling including bold, italic, underline and font selection
- Work with HTML block styles including paragraphs, headings and blockquotes
- Insert and edit hyperlinks
- Ordered and unordered lists
- Create and edit tables
- Simple integration API with intelligent defaults
- Customization API to control available commands
- Create custom functionality and extensions using the custom button API