This documentation is based on the XV4 64-bit Build 20990 of 19-aug-2019.
•The script importation now gracefully handles missing data sets referred to in scriptline properties and identifies the script and the scriptline which will need to be looked at after the importation (Blueline, 18-aug-2019).
•Added a message warning you if a file you are trying to scan in either read-only or located in a protected location.
•Q++Studio is compatible with the new QuarkXPress 2019, officially released on July 9, 2019.
•Expanded the help topic on DayValues inside the conditions of zap or conditional tokens.
•New versions of the worldwide public holidays apps for Android or iPhone and iPad. These 2 apps have been re-written from scratch, using the native development tools for each of the Android and iOS platforms, making for lightweight and lightning fast applications.
•Updated the script importation to take into account the merging of saints and saints exceptions scriptline properties, as well as the possible importation of multilevel folder sets in holidays sets, macros sets, slogans sets and script folders (Blueline, 24-july-2019).
•Fixed a bug in the evaluation of zap and conditional tokens where the condition included a token with a specific DayValue (Blueline, 8-july-2019).
•Chris Hickey, the new Quark CEO, has announced that QuarkXPress 2019 would be released on July 9, 2019. As usual, Q++Studio will support this new version of QuarkXPress on the first day of its release (in fact, Q++Studio has been compatible, for weeks, with all the beta versions of QuarkXPress 2019).
•A new scanning/inspection warning has been added for any QuarkXPress file used in a script and which uses fonts that are not currently installed on your computer.
•All the advanced data grids now include new Excel-styled filter dialogs, in which the list of presets filter values can itself be filtered, and where a second tab contains a set of filters specific to the type of data of the current column.
•The browser-based online version of the documentation now uses a responsive skin making it adapt to all types of screens, including mobile phones. In addition, the online documentation's full-text search now uses server-based PHP, making for faster and more flexible searching.
•The Windows Help and browser-based versions of the Q++Studio documentation formats have been improved with many new features, including the addition of convenient header, scroll/content and hamburger menus.
•The updater now installs versions of the qpp xtension that work with both the original version of QuarkXPress 2018, and with the the later versions, beginning with the October 2018 Update 14.1.2 which used different ICU libraries, breaking any previous installations of QuarkXPress 2018. This should make the occurrence of message 182120 a thing of the past, regardless of the minor version of Quark 2018 that you are using.
•Q++Studio is compatible with the current beta version of the recently-announced QuarkXPress 2019. As usual, we expect to release a version of Q++Studio that is fully compatible with this new version of QuarkXPress, on the day it is officially released.
•Added a message to interrupt informatively the scanning or inspection of a Quark file, if the selected version of QuarkXPress is improperly setup, and the relevant error messages, such as messages 175665 or 175670 or 182120, for example, have not been addressed.
•The remove text stroke setting was not being applied to output files (JMata, 17-may-2019).
•Some SQL reserved words were not syntactically highlighted in the SQL Query Editor (14-may-2019).
•Modifying saints exceptions individually would not apply any change (Blueline, 13-may-2019).
•The dates generated by the dates (variable) property of insert scriptlines would be based on the range of dates of the script's main grid, and not that of the parent scriptline of the insert (Brepols, 10-may-2019).
•Added special cases conditions to let you specify a special case that occurs on the 1st, 2nd, 3rd, ..., of every 3 weeks, every 4 weeks or every 6 weeks, to have a color or shade pattern repeat every 3, 4, or 6 weeks, for example.
•The new token, ALLOW_TEXT_BLEED, can be used to specify that the current textbox will be replaced by an image, using any one of the image tokens, and therefore that the scanning warning 179745 should be suppressed.
•When importing a PDF file, using image tokens, the PDF is now imported using its MediaBox as bounding box. In addition, in the case of the use of slogans, macros and saras to change a textbox into a picture box, you can specify the use of any of the other 3 types of PDF bounding boxes.
•All the PDF-related menu items are now accessible from a new top-level PDF menu.
•Any box containing a BOXFIT token, and which does not have text overflow initially, will now be automatically reduced in size to 3 points, to ensure text overflow, before the actual BOXFIT processing begins. This will make your layouts that use BOXFIT more legible and avoid the error message 179375 (requires Quark 2016 or above).
•The bullet glyph used for bullet points in the webhelp online documentation are now larger and more visible.
•The generated output files are now saved, closed and re-opened, before performing the check for text overflow, to ensure that the generated file has been fully internally updated by QuarkXPress, and that no spurious text overflow messages appear.
•The individual pages of the script preview now display the label of PlaceHolders, and the file name of PDFpages and QuarkPages, centered and wrapped on multiple lines (instead of a single, potentially truncated, line as was the case before).
•Removed the spurious occurrence of message 181870 in cases where the Sara was operating on a standalone, non-linked textbox (JMata, 22-apr-2019).
•An exception would be raised if the selected PDF file in the PDF selection dialog contained more than 255 pages (Blueline, 22-apr-2019).
•Fixed the spurious occurrence of message 179730 which would occur if some formatting was to be applied to all tokens, regardless of their type, such as in setting some formatting for outside days in the monthly outside days section of Grid Options, but when the token is one of the image tokens whose text will be ignored as the textbox is changed to a picture box (JMata, 20-apr-2019) .
•Log messages of Saras which used a regular expression which only changed the text format would show the regular expression as the changed string instead of stating that only the text format had changed (JMata, 16-apr-2019).
•If some of the Quark files used in a script had disabled layers, created PDFpages could accidentally be created on those layers and therefore be deleted at the end of diary generation (JMata, 16-apr-2019).
•Any very large single Xtags instruction (over 4096 bytes) could cause QuarkXPress to abort diary generation (Brunnen, 11-apr-2019).
•The conversion of the week number tokens, using the option to move the position of the week number based on other events, could get confused if the events string contained specific holidays sets modifiers, such as u2,thinking that this meant that the corresponding weekday, Tuesdays in this example, should be skipped. (Zettler, 10-apr-2019).
•The error message displayed in the macro interruption dialog would, under certain circumstances, be stripped of its most important information, leaving a generic error message (Brepols, 5-apr-2019).
•If the result string of a holidays response token contained one or more tokens, which themselves contained a colon, such as specific holidays sets modifiers, then that colon would be mistaken as the beginning of a duration suffix (Zettler, 4-apr-2019).
•Added a button in the templates explorer to list all the scripts that use a given template.
•Over the past 4 months, all the chapters and topics of the help and documentation have been fully revised, with updated and expanded text, and all new screenshots, based on the latest version of Q++Studio running under Windows 10 (over 2200 topics and 1300 images).
•Added code to slow down the importation of large plain Quark files (files of over 20 pages), to allow any anti-virus to catch-up with the importation process, and the creation and deletion of temporary files (although this should not be necessary, if your anti-virus and firewall are setup as specified here).
•Page deletion, using zap tokens, conditional tokens, macros and saras, is now done in memory in Q++Studio, rather than using QuarkXPress, avoiding some of the issues with objects bleeding off the page, when QuarkXPress would re-flow the pages, and mistake some bleeding objects as belonging to the wrong page. Of course, the keep deleted pages generation option remains available for testing.
•A dialog with the statistics of the current data purge now appears, at the end, when purging unused data.
•Added a space after bullets point bullets in the help preview of the diary generation messages dialog.
•Added code to prevent trying to scan or generate if some files are missing from your QuarkXPress installation.
•Improved the layout of the log generated by the worldwide public holidays updater.
•The updater now pro-actively replaces missing DLL files in the QuarkXPress 2018 installation folder due to a problem in the 2018.21 upgrader (19-mar-2019).
•Added code to gracefully handle failed connections to the FTP server (19-mar-2019).
•Fixed a bug in the saving of the backup purging settings of the server settings, whereby the weekdays, and first/last of the month, settings would not be saved, and would always revert to their defaults (Lecas, 12-mar-2019).
•The box keep and box delete variants of minicalendar text framing and shading would not apply to more than one spread of a diary which repeated the minicalendar spread more than once (Burde, 4-mar-2019).
•Fixed a bug which would affect the not the first variants of the include/exclude matches setting of Saras. (1-mar-2019).
•Optimized the compilation and linking of the main executable, reducing its size by over 55%.
•Fixed a few UI glitches of text controls not being aligned with each other, in particular in the holidays recurrence rules.
•The tooltip variable evaluation of the macro debugger would not find the correct variable under the mouse cursor, for long lines, and if you changed the size and font used to display macros (27-feb-2019).
•If a holiday used in a conflict rule was subsequently ignored, then the warning message 173490 would be properly triggered, but the interface of the holidays manager would not identify the conflict rule as being broken (26-feb-2019).
•The secondary indices of multiple index macro tokens, used in the text on left or text on right fields of multiple holidays options or moon phases display options, would not be identified and listed in the macros property editor (Lecas, 25-feb-2019)
•Some of the color listboxes would not display a hint with the name of the missing/unknown color (19-feb-2019).
•Calling the macro functions Assert and RaiseError with the parameter bAbortScript set to true would not abort the script; it would just keep logging the errors until the end of the script (12-feb-2019).
•Fixed a couple of UI glitches in the macros editor. When pressing F3 in the macros editor, an unfiltered list of functions would be displayed, instead of one limited to function of the right type, and the parameter list of void functions would be truncated (9-feb-2019).
•Fixed a rare bug which would occur when using the tab character insertion minicalendar modifier, with a split minicalendar whose first half did not have trailing empty positions (JMata, 7-feb-2019).
•Fixed a bug in the Saras Sets Manager which would prevent the loading of a Saras Set if that set had initially been saved and closed without any Saras in it (Alpha Edition, 6-feb-2019).
•Fixed a bug in the find saints and namedays dialog which would raise an error if some orphan saints were in the list of found results (6-feb-2019).
•Fixed a bug in the find slogan dialog whereby the specific slogan selected in the list of results would not be selected in the slogans manager if the type of slogan set was month and day (6-feb-2019).
•In the holidays manager, you can now go back or forward in the history of your selection of holidays sets, as you would, for example in a web browser.
•Improved the usability of the specific dates property editor (drag and drop to add or remove a date and double-click on a date to add it to the list of fixed dates).
•The popup hints displaying the details of a change in the holidays changes logs have been redesigned to better show the from and to changes on separate lines.
•The user interface of the slogan rules property editor has been fully re-designed.
•The diary generation status dialog now displays the progress of page deletion due either to zap tokens, conditional tokens, macros or saras. This avoids, for scripts that use page deletion, the delay between the end of text overflow checking and the shutting down of QuarkXPress.
•Added code to force QuarkXPress to always insert pages of non-facing pages output files on a new spread (Grieg, 30-jan-2019).
•The vertical guides of the Quark files used in a script were being applied incorrectly in the output file when the incoming template pages were facing each other or had odd layouts, such as 2 facing pages to the right of the spine and nothing on the left of the spine (Zettler, 28-jan-2019).
•Some dialogs would straddle 2 screens on dual-monitor systems (10-jan-2019).
•Fixed a dates array whose memory was nor being fully re-initialized each time a GridTemplate was being re-scanned, causing ghost dates to be used in insertion rules, in some extremely rare cases of removing dayvalue marker tokens from a template into which another template was being inserted, and which contained no tokens on any page other then the first (Nippecraft, 8-jan-2019).
•Fixed a small memory leak that would occur when changing the list of the exceptions of a recurring holiday (5-jan-2019).
See also: previous release notes.