The release notes say this:

  • Adding support for zipped 3d files, using the file extension “.3dz”.
  • JS Debugger enhancements.
  • Fixed index group identifiers in the strings file (SPR 7624429)
  • Fixed issue with the taccctrl dialog not updating accolades correctly (SPR 7470629)
  • Fixed crash with the “update” keyword with modeless dialogs (SPR 7737407)
  • Fixed XML printer output “continued” value with nested blocks (SPR 7655718)
  • Fixed XML printer inline property inheritance (SPR 7627682)

And the FOM release notes say this:

  • Added fTag.TYPE_JS_BREAKPOINTS constant
  • Added fDebugSocket object
  • Added fApplication.debugSocket property
  • Added fStream.sendToDebugger property
  • Added fFormatting.lineID() method
  • Added fdLine.lineID property
  • Added fdFrame.hasStreamEnd and isRepeated properties
  • Added fdLine.isStreamEnd property
  • Added fdData, fdSpace, and fdText objects
  • Added property
  • Added fdLine.minWordSpace and maxWordSpace properties

So what does all this mean?

  1. Debugger Enhancements
    1. Save and Restore Stuff – You can now save and restore breakpoints, watch expressions and open edit tabs. The save action creates a tag in the template of a new type which stores a JSON representation of the stored thing. You can save more than one group and restore them from a list of those saved. This is really handy for saving the state of your debugger between working sessions or when handing over to someone (eg support).
    2. Global Controls for Breakpoints and Watch Expressions – new options are provided to delete all breakpoints and/or watch expressions. There is also a new toggle to activate/deactivate all breakpoints in a single click.
    3. Reduced Properties – some objects (frames, for example) have many properties which aren’t always used and are either ‘undefined’ or ‘null’. These properties can clutter the UI so we’ve added an option to hide and show these both locally in an object tree or globally.
    4. APP to Debugger Communication – prior to this release, APP responded to requests from the debugger. This release provides a way for APP to send messages to the debugger for it to handle. This has been exploited in these features
  1. Updates – APP will now automatically update when documents change. So, when a tag is added in APP we now update the resource tree automatically. If the active document changes, the debugger will refresh to represent the active document.
  2. Alerts – The debugger can now be passed application alerts and display them in the User console. If you have application.alert() debugs or messages in your template, these can now be directed to the debugger to avoid the pop-up in APP pausing the formatting process.

iii.      Status – The formatting status message (eg ‘formatting page 1’) can now be passed to the Application console of the debugger should you want to track everything in that panel.

  1. Open Tags – the ‘ttop’ macro has been extended to allow the tag specified to open in the debugger as long as it is open (along with fStream.sendToDebugger()). To use this do something like ttop >”strm0” , you can now also use Ctrl Alt + in the yellow bar to open a tag in the debugger for editing.
  2. User Messages – To allow users to create their own customisations, we have provided a user customisable file to capture custom messages to the debugger from APP.
  1. The fdLine Display object has been extended:
    1. fdLine.isStreamEnd – is a Boolean property which tells us whether the current line is the end of the stream. Handy if you want to know if a frame’s content overflows on the current page.
    2. fdLine.maxWordSpace and fdLine.minWordSpace – tells us the maximum and minimum word spacing used on the line. Handy if you want to know if a line has been stretched or squashed too much to justify a line
    3. fdLine.lineID – is a property which can be set from formatting.lineID to set an ID on the current line, which can then be used to help to identify critical lines in such places as page end events. Handy if you want to go back and change some properties of a line to make the page look more pretty.
    4. – is an array of the data which appears on the current line, currently text (fdText which contains the string being output) and space (fdSpace which provides the width of the space). We’re hoping to extend this in the future to provide information about references and other inline changes.
  2. Save APP files as a zipped folder – we recently provided the ability to save an APP document as a ‘burst’ folder of files representing each APP tag. We did this to allow users to employ source control with their APP templates during development. Adding zip support now makes them easier to transfer.