Fonto Editor 7.14.0 (April 1, 2021)

For the upgrade instructions, head over to Upgrade from 7.13 to 7.14. This release contains a few breaking changes to move, remove or replace legacy APIs.

A number of APIs will be removed in the 7.16 release. They are listed on the Upcoming removals 7.16 page.

New functionality

  1. The new addExternalValue API allows exposing external data to XPath in a way that allows queries using that data to update when the data changes. For more information, refer to the guide on using this function.

  2. The XPath functions curated-text-in-node and curated-text-in-range can now resolve inclusions by retrieving the curated text of their target node.

  3. With the new triggerNotification API you can now create and trigger your own custom notifications for users.

  4. There's a new way to configure your widgets! It's now possible to make a widget appear on multiple elements without affecting other widgets sharing the same widget area. Please refer to our documentation for more information and examples.

  5. Pasting hyperlinks is now supported. Check the documentation regarding copyAttributes in the Configure clipboard behavior guide to see how you can enable this for your schema.

  6. We've added a new selection mode for selecting a group of cells in a table. Note that this new table selection mode is not yet fully compatible with all commands. For more information on this new mode, check out the documentation of the CellHighlightModeSwitch.

  7. We now preserve the text alignment when copy pasting tables to Fonto Editor.

  8. We've added an overview of shortcuts available in Fonto Editor. This is easily reachable by clicking the keyboard icon in the status bar.

  9. We've added a number of built-in operations with keybindings for inserting commonly used special characters. Please refer to our documentation or to the new in-editor shortcut overview modal for the full list.

  10. In DITA editors, topics can now be outdented using drag & drop.

  11. It is now possible to overwrite the label, tooltip, icon and operation data of a contextual operation. The API docs docs have been updated with more detailed changes.

  12. The Chip UI component now supports an onClick prop.

  13. The Icon UI component now supports an optional isInline prop.

  14. The new RecentSymbolsGrid component allows users to easily find the special characters that they used most recently.

  15. The referencePermanentIdAttributeName argument of the configureAsInlineLink family is now deprecated and scheduled for removal in Fonto 7.16. The referenceQuery and isPermanentId options have been introduced for this family as a replacement and are now preferred.

  16. Elements and their attributes now retain their namespace information when serialized to JsonML.

  17. The new findAllWithSameTarget method on the DocumentsHierarchy can be used to detect nodes that are used multiple times in the hierarchy.

  18. We created a new playground: the clipboard playground can be used to inspect what information an external application places on the clipboard. Please use it whenever you file an issue related to copy/paste in Fonto Editor, as this information makes debugging such issues much easier.

Resolved issues

  1. Fixed a few issues caused by a recent update to Safari where text typed in that browser could appear out of order, or where the cursor could move unexpectedly while typing.

  2. Resolved an error that could occur in some cases when replacing a single search result.

  3. Fixed a regression in 7.13.2 that caused search results to disappear in some cases when using JIT loading.

  4. Fixed a bug where in rare cases an error was thrown in the browser console while running a search in a big JIT-loaded document.

  5. We fixed an error that could occur when using column widgets in a CALS table where the actual number of columns is more than the number of colspec nodes. In these cases, we now do not render column widgets as each such widget needs a corresponding colspec node.

  6. Fixed a regression introduced in 7.13 where the save-documents-and-wait and save-all-documents-and-wait operations could trigger an error if one of the documents being saved is modified while saving is in progress.

  7. Fixed a crash that could occur when moving a reused document in the outline sidebar while using addReducer-based numbering in its title.

  8. Fixed a rare crash that could occur when attempting to undo after unloading the document that was changed.

  9. Resolved several issues in fontoxml-track-changes where pasting or deleting content in certain positions, including directly after a sentence or over a paragraph boundary, could sometimes mark too much content as being removed and re-inserted.

  10. Fixed an issue where some XPath queries using @* would not update correctly when attributes were modified.

  11. Fixed a regression in 7.13 where label query widgets would sometimes fail to update in sheet frames that are not in view.

  12. Outdenting a list item will no longer create multiple adjacent lists in some cases.

  13. Fixed a bug where a nested unordered list pasted from Word would not be recognized as unordered.

  14. We've improved our detection of superscript and subscript styling when pasting from Word to Fonto Editor.

  15. Fixed an issue where duplicate results could show in the quick navigation modal.

  16. Fixed an issue where CALS tables without rowsep and colsep attributes would initially render with a border but the interface did not reflect that state.

  17. The "expand table" feature now also works for tables inside of elements configured using the configureAsObjectInFrame family.

  18. Resolved an issue where double-clicking at the edge of a word would select more than just that word.

  19. We fixed an issue where the cursor could be left in an unexpected position when merging table cells.

  20. Fixed an issue where delete and backspace would move the cursor over read-only content.

  21. Fixed a performance issue when moving the cursor up or down through a table in a large document.

  22. Resolved an issue where SVG images would not appear when used inside of the target of an inclusion.

  23. Resolved an issue where selections would in some cases hide borders and underlines in Chrome.

  24. All key names used in operation keybindings consisting of more than a single character or symbol can now be localized.

  25. The label for the "More" submenu in the table context menu can now be localized.

  26. Resolved an issue where the text "Fonto" in the title of the preview window opened by the fontoxml-publication-preview add-on could not be altered using localization.

  27. We fixed an issue where the context menu would in some cases show a double horizontal separator.

  28. We fixed an issue where the nodes browser or other modals using an FxNodePreview would briefly appear very tall before returning to their expected size.

  29. Fixed a visual issue where the content would briefly shift upwards when a conditionally-visible toolbar is closed because the selected element is no longer matching the condition.

  30. Fixed a visual issue when using the createElementMenuButtonWidget in the blockOutsideAfter widget area of an element using the configureAsOutOfOrderStructure family.

  31. We fixed a few visual issues in the various ways in which table elements can be highlighted.

  32. Icons in the menus for the table row highlight bars no longer get squished together if horizontal space becomes limited. The menu will now scroll instead.

  33. Fixed an issue where multiple outline items could stay in the visual hovered state when quickly moving the mouse back and forth between different items that include node status badges.

  34. Resolved a few issues in the text shown around search results in the Find & Replace sidebar, including where this occasionally would include text content inside of elements configured as objects or inclusions, or past line break elements.

  35. We partially fixed an issue where having a selection in a document that is loaded twice and then unfocusing the editor would show a grey selection in all instances of that document.

  36. Resolved an issue where text placeholders would appear as if they are clickable in document previews.

  37. We improved the way the fontoxml-spell-checker add-on generates notifications and fixed an issue where it would in some cases remove unrelated notifications.

  38. Checkboxes and radio buttons in a RadioButtonGroup, as well as components used in their Label now consistently show a hover state and appropriate cursor when the mouse is moved over them.

  39. Popovers no longer close unexpectedly when you click the clear icon button of a text input inside of them.

  40. Custom (SVG) icons now also get the same fixed width as regular (FontAwesome) icons. This way, they now correctly align horizontally with other icons when used in the same context, such as a menu.

  41. We fixed the URLs in some console warnings (such as those to point out the use of deprecated APIs) to point to the correct documentation.

  42. We fixed an issue in FDT regarding the capitalization of 'Dockerfile' which could cause Docker-based FDT commands to fail when using Docker BuildKit.

Other improvements

  1. We've redesigned the appearance of read-only content: instead of hard-to-read greyed-out text, any content configured to be read-only is now easily identifiable by its dashed border and (for blocks) grey background. Sheet frames that are read-only, for instance due to an unavailable lock, now also use a grey background instead of greying out the text.

  2. Similarly, we've redesigned the appearance of reused elements, which can now be easily identified by their distinctive icon.

  3. To better align with other editors such as Microsoft Word, the icon used for special characters has been changed to the Ω (Omega) character.

  4. Moving the cursor through inline formatting elements is smoother now - you no longer need to press left or right twice to enter them.

  5. We improved the detection of word boundaries in various cases.

  6. The sidebar can now also be closed by clicking the active tab.

  7. The "Expand up to" options in the outline view now collapse all items beyond the specified level.

  8. Expanded tables will now also unexpand when the cursor is moved out of them using the keyboard instead of the mouse.

  9. Collapsible tables now show a loading spinner when they are being uncollapsed.

  10. Pressing ctrl/cmd+a (to select all) while a modal is open now limits your selection to within the modal. If you focus a document (by clicking in it, even in a preview) and then press ctrl/cmd+a, your selection will be limited to within that document.

  11. We updated the indicator that appears when a sheet frame is reused multiple times. The new UI now even allows you to jump between the different instances of the reused sheet frame.

  12. Dragging or cutting a paragraph or a list no longer leaves an empty paragraph or an empty list behind.

  13. The "Edit reference" link in the document preview modal now no longer shows up if the reference being previewed is read-only. We've now also made this feature available for other users of the open-document-preview-modal operation.

  14. The label and name properties are not required anymore on each CharacterSetEntry used by the fontoxml-special-characters add-on.

  15. Clicking the highlight bars around tables twice will no longer close the popover. This helps with cases where it would be closed accidentally, as showing this popover could take some time in certain configurations. We've also made some improvements to the appearance of the highlights that appear when using these bars.

  16. Context menus and popovers now also stretch into the opposite direction vertically to take up as much available screen estate as possible while trying to minimize scrollbars and avoiding to occlude the anchor element.

  17. MenuItems now always show either their keyBindingLabel and/or iconRight on the far right of the menu, instead of directly next to the label.

  18. We stopped the sheet frame lock icons from flickering when using the toggle-display-mode-document operation.

  19. We added a notification to inform authors when a drag and drop could not be performed.

  20. We've improved the appearance of disabled buttons of various types.

  21. We've improved the appearance of the spell checker squiggles at higher resolutions.

  22. We've improved the highlights used in the quick navigation dialog, and now use the same highlights when filtering the Outline itself.

  23. We've updated the icon that is used to show that a document's lock is unavailable.

  24. The Find & Replace sidebar no longer shows "no results" if no search has been performed yet.

  25. We've improved the messages shown in the "Replace all" modal if things go wrong.

  26. We've added a notification to inform authors if their search was canceled.

  27. In the Find and Replace scope selection modal, you can now use the space bar to select items, and the enter key to confirm your selection.

  28. The sidebar shared by the fontoxml-annotations and fontoxml-track-changes add-ons now changes its label based on which of these add-ons have been installed.

  29. We've added the blue dot to more filter buttons across Fonto Editor to show when filters are active, and fixed a few visual issues with these buttons in the process.

  30. Errors thrown from custom XPath functions now preserve the JS call stack, which should help in debugging them.

  31. Erroneous CMS responses are now also validated, leading to clearer error messages when a CMS returns data that does not conform to the CMS connectors API.

  32. We've improved the error messages used when a configured titleQuery causes an error to make it easier to find the cause of that error and the actual configuration that triggered it.

  33. We've added a clearer error to indicate when required configuration for pasting plain text is missing.

  34. We added a selector testing mode to the XPath playground so that XPathTests can be tested more easily. The playground now also highlights nodes returned from your query so that you can quickly see where they are in the document.

  35. We've removed the backup functionality of the Fonto Development Tools for the fdt editor upgrade and fdt editor add-ons commands. Instead, a warning is now shown right before modifying files which encourages users to consider making a backup in the best way they see fit.

  36. Our server-side Fonto products have been updated to run on ASP.NET Core Runtime 3.1.13 to fix Microsoft Security Advisory CVE-2021-26701.

Deprecated APIs

A number of API's have been deprecated in this release, and are scheduled to be removed in future release 7.16. We've prepared upgrade instructions so you can switch to the recommended alternatives ahead of time.

  1. The blockBanner widget area on configureAsSheetFrame has been deprecated.

  2. document-save-warning-modal-component-name is deprecated.

  3. The visualization CvkOptions property is deprecated, and all of its contents is simply moved to the options object visualization itself lived in

  4. The CellsHighlightButton component is deprecated in favor of CellHighlightModeSwitch.

  5. The type property returned by useRemoteDocumentState is deprecated.

  6. Direct usage of ExternalDataManager is deprecated in favor of new API addExternalValue.

  7. The addReducer_legacy function is scheduled to be removed in 7.16.

  8. The referencePermanentIdAttribute argument of the configureAsInlineLink family is replaced by an option.

  9. The five properties containing operation names that lived on a custom table grid model have been deprecated.

Deprecated browser support

Microsoft ended support for Microsoft Edge 44, sometimes also known as Edge Legacy, on March 9th 2021. In the April update, any Windows 10 systems will automatically update to the more recent version of Edge which is based on Chromium. For older Windows systems Edge Legacy was not available. Read more about Microsoft’s announcements around Edge Legacy here.

Starting from 7.14.0, we'll only address critical issues in Legacy Edge. Our recommendation is to migrate your user base to the Chromium-based version of Edge or to any other compatible browser. From 7.16.0 onward, we'll no longer support Edge Legacy. If this causes a problem, please reach out to us to discuss options.