Fonto 7.6.0 (March 21, 2019)

New functionality

  1. Fonto now allows an editor to load its document just in time (JIT Loading). Please refer to the documentation on how to Configure hierarchical multi-document management to learn how to implement it for your editor. This can be enabled in Dita by setting the map-manager-automatically-load-topicrefs @ fontoxml-dita/src/setdefaultconfiguration.js configuration value to false.

  2. We have added a number of normal, none and off values to the CVK options, allowing you to reset a specific styling option for your own configuration, either in nesting or when using overlapping selectors. This allows you to make, for example, all span elements appear as bold, except for those with a @type="normal" attribute set. Refer to the documentation on weight @ fontoxml-families/src/configureproperties.js for example for more information.

  3. Fonto 7.6.0 can automatically create lists by typing "1.<space>" or "-<space>". To enable this, Fonto needs to know the names of the elements to create. This should be configured using a new property in the configureAsListElements API: options.list.nodeName.

  4. Fonto now allows an editor to define an index that can retrieve elements based on the value of an attribute. Please refer to the documentation on the addAttributeIndex API and the general documentation on how to Optimize performance to learn how to use this for your editors this contains a description and recommendation of the attribute index.

  5. We now support custom icons defined as SVG symbols. For more information on how to create and use your own custom icons, read the API docs of the newly introduced uimanager @ fontoxml-modular-ui/src/uimanager.js#registerCustomIcon() function.

  6. The new save-documents-and-wait @ fontoxml-remote-documents/src/operations-save.json operation can be used to save a specific subset of documents.

  7. The fxdocumentloader @ fontoxml-fx/src/fxdocumentloader.jsx.js component now supports a referrerDocumentId prop. When set, this determines the referrer in the requests to the CMS GET /document endpoint requests made by the component.

  8. FDT added support for --savemode shared-memory. This mode is similar to memory in that nothing is saved on disk and all state is lost when the dev server exits. However, in contrast to memory all sessions share the same state and can see each other's modifications.

  9. FDT added support for --memory-store-ttl <seconds>. This is used to control the expiration time of documents in the shared memory store. Use -1 to disable expiration.

  10. Additional XQuery Update Facility expressions have been implemented, like insert into or delete node. Check the documentation on XQuery to see what's new.

Resolved issues

  1. Validation and synthesis in large documents is now much faster and will no longer run out of memory, even with huge numbers of child nodes.

  2. We've changed the way Fonto tries to keep the scroll position stable when things change. This should cause fewer things jumping around, for instance when documents and / or images load and should more reliably scroll documents into view when they are clicked from the structure view.

  3. Fonto will no longer sometimes steal focus from input fields if an operation changes the selection without focusing the editor.

  4. Fixed an issue that could cause the scroll position to unexpectedly keep jumping back to the selection when working in other documents.

  5. MS Edge contained a bug where a modal can be misaligned when Fonto is loaded in an iframe. We have added a work-around for this.

  6. Fixed a bug where a newly inserted document wouldn't scroll into view in some cases.

  7. FDT now cleans up temporary files when the connectors run or content-quality run commands exit with an error.

  8. Schemas with catalogs which include <nextCatalog> elements that refer to files not named catalog.xml should now compile as expected.

  9. Using the blockOutsideBefore widget (widget) area on an inline frame no longer generates weird margins.

  10. A bug has been fixed in the attributes editor where set-attributes @ fontoxml-base-flow/src/operations.json operation was being called while the attributes form has feedback.

  11. Resolved an issue where the attributes editor could crash when validating certain numeric types, especially those with restrictions. To avoid accuracy issues in huge numbers due to the way JavaScript handles numbers, values in these fields are now restricted to the range between -9007199254741 (about -9 trillion) and 9007199254741 (about 9 trillion).

  12. Fixed an issue where the next sheetframe could remain invisible when deleting some content would cause it to move into view.

  13. Fixed a bug in the outline which caused dragging and dropping an item to scroll the previously selected item in view.

  14. Fixed a few bugs where the outline view would not correctly update when changing the visibility of hierarchy nodes.

  15. A bug has been fixed where dragging and dropping an item in the outline would cause a rerender of the full ancestry.

  16. The outline no longer briefly displays "Untitled undefined" after certain hierarchy changes.

  17. Fixed an issue where lists in footnotes could change their appearance when the paragraph containing the footnote anchor was converted to a (different) list (type).

  18. Fixed an issue where the schema compilation would fail if the schema contained a folder with the text "app" in it.

  19. Fixed an issue where the error shown when saving fails displayed an incorrect time if the editor could not save the document for over an hour.

  20. Fixed an issue where lists copied from Word were not recognized as lists in some cases.

  21. Removing the last chip from one of the Multiple* components in FDS, while using it inside a popover, no longer unexpectedly closes the popover.

  22. The layout of multipleautocomplete @ fds/src/components/autocomplete/multipleautocomplete.js, multiplenumberinput @ fds/src/components/number-input/multiplenumberinput.js and multipletextinput @ fds/src/components/text-input/multipletextinput.js are now consistent: chips are listed below the input element.

  23. The operation pipelines now correctly breaks off running alternatives if the outer operation is canceled.

  24. Fixed a performance regression in 7.5 when computing the state for certain operations on large documents that are read-only due to their lock being unavailable. This should also improve performance in cases where elements use the configureasreadonly @ fontoxml-families/src/configureasreadonly.js feature.

  25. Fixed a bug which would cause an error when unloading a document that contains one or more Content Quality squiggles.

Other improvements

  1. The dependency on FontoXPath has been updated to 3.4.0. This brings a number of new functions and features.

  2. We have improved the automatic optimizations that we apply when we compile a schema to work with Fonto. Therefore, Fonto now requires a minimum schema version 2.0.2. Please refer to the Upgrade from 7.5.0 to 7.6.0 page for details.

  3. We improved error visualization for the various cases where a document can not be loaded.

  4. Browse modals now remember their last opened folder. For more information on this feature, and how it works together with existing browse requests, read our documentation for the POST /browse CMS contract. Also note the configuration option cms-browser-sends-hierarchy-items-in-browse-response @ fontoxml-cms-browser/src/setdefaultconfiguration.js to influence this behavior.

  5. Browse modals now show the root hierarchy item in the breadcrumbs (in the upper left) whenever a browse error occurs to allow the user to (try to) recover from the browse error by starting again from the root folder.

  6. The documentation for .applycss @ fds/src/system/styles/applycss.js v7.4.0 has been improved with best practices for common scenarios.

  7. Added documentation for the keyBindingIsGlobal property of an Operation.

  8. We have improved loading performance for documents containing many or large images.

  9. The development server now warns when the users.htpasswd file is missing. Please use the --disable-dist-authentication flag to disable authentication of the development server.

  10. The second ('options') argument of 'createDocumentFromLocalTemplate' is now correctly interpreted as optional.

  11. If a structure view has only a single root level item, that item is no longer draggable (since it cannot be dragged into anything else).

  12. The fdt editor init command now also accepts a relative editor path parameter value.

  13. FDT commands which utilize network requests will take the 'HTTP_PROXY' and/or 'HTTPS_PROXY' environment variables into account by common convention.

  14. The new bodyParserLimit property can be used in config.json (or config.js) to configure the development server to allow larger files, including uploads and document saves.

  15. We improved the errors FDT displays and added solution hints for the connectors and fcq run, build, and download-self-contained commands.

  16. FDT no longer repeatedly outputs the same message on small terminals when it displays a spinner.

  17. FDT now checks the editor manifest.json file and notifies when it could not be parsed and the fdt editor upgrade command now outputs the correct error messages for this case.

  18. Added a "tooltipContent" prop to fxoperationtextlink @ fontoxml-fx/src/fxoperationtextlink.jsx.js.

  19. We updated our branding. The fontologo @ fds/src/components/fonto-logo/fontologo.js component has been updated accordingly. This deprecates the isFullColor prop, as the new logo is monochrome. The color of the logo is now always derived from the context in which it is used. We also updated the default favicon, and changed various messages throughout the product to refer to the editor as Fonto instead of FontoXML.

  20. We've introduced a paddingSize property to registereditorsidebartab @ fontoxml-editor/src/registereditorsidebartab.js and editeditorsidebartab @ fontoxml-editor/src/editeditorsidebartab.js.

  21. The chip @ fds/src/components/chip/chip.js and chipgroup @ fds/src/components/chip/chipgroup.js components are now exposed from fds/components. These are generally used as a textual summary of a larger entity.

  22. Added support for an 'inherit' value in the fontsize @ fds/src/system/styles/font-size/fontsize.js mixin and all components implementing a fontSize prop (label @ fds/src/components/label/label.js, text @ fds/src/components/text/text.js and textlink @ fds/src/components/text-link/textlink.js).

  23. Added an isItalic prop to the label @ fds/src/components/label/label.js component to render its text in cursive/italic.

  24. Various performance improvements.