Latest News and Updates from Just Great Software

DeployMaster 7.1.1 – 21 April 2022

DeployMaster 7.1.1 is now available for download.

An installer built with DeployMaster contains a number of core files that the installer needs to be able to show itself, before the actual installation begins.  This includes the installation program itself plus the files that you specify on the Project and Appearance pages.  On the Project page you can add an icon, readme file, license agreement, and support DLLs.  On the Appearance page you can specify a background bitmap.  The total allowed size of these files has been increased from 3 MB to 10 MB.  This gives you space for larger images or DLLs.  If you chose a compression method on the Media page, then it’s the total size after compression that matters.

As a consequence, on the Media page, the option to split the setup files into multiple files of a certain size now has 10 MB as the minimum split limit.  This ensures that the first piece of the installer contains all the core files.  These days 10 MB is a small download.  So a 10 MB minimum size should still be below any file size limitations of any file transfer sites that you may want to use to send your installer to your users.

EditPad Pro 8.3.1 – 1 March 2022

EditPad Pro 8.3.1 is now available for download.

The Search|Find Previous command now works when using a regular expression if you enable the “line by line” search option.  Normally Find Previous is disabled when using a regex because regular expressions cannot search backwards.  But in line by line mode EditPad can iterate over the lines in your file from bottom to top and apply the regex from left to right on each line to find the previous line in which the regex can find a match.

This release also fixes two bugs we introduced in version 8.3.0.  Search|Fold Lines failed with an access violation instead of removing the folding when you tried to turn it off.  Fold|Remove All Folds could still be used to remove the folding.  Search|Replace Current, Replace and Find Next, and Replace and Find Previous failed with an access violation error if the replacement text contained the %LINE% or %LINEN% match placeholders.

Several older bugs were also fixed.  The version history has the complete list.  One serious issue was that if a file type's default encoding was UTF-16 or UTF-32 and you opened a file of that type that was not a multiple of 2 or 4 bytes in size (as it should be for UTF-16 or UTF-32) then previous versions of EditPad trimmed the final bytes in the file to make it a multiple of 2 or 4 bytes in size.  The file was then either left with the UTF-16 or UTF-32 encoding or it was interpreted using the non-Unicode encoding specified in the file type configuration depending on how many invalid code points it contained if interpreted as UTF-16 or UTF-32.  Now, EditPad always uses the non-Unicode encoding to interpret the file if the file does not have a BOM (Unicode signature) and the default encoding is UTF-16 or UTF-32 but the file is not a multiple of 2 or 4 bytes, without trimming any bytes from the file.

EditPad Lite 8.3.1 – 1 March 2022

EditPad Lite 8.3.1 is now available for download.

The Search|Find Previous command now works when using a regular expression if you enable the “line by line” search option.  Normally Find Previous is disabled when using a regex because regular expressions cannot search backwards.  But in line by line mode EditPad can iterate over the lines in your file from bottom to top and apply the regex from left to right on each line to find the previous line in which the regex can find a match.

This release also fixes a bug we introduced in version 8.3.0.  The Search|Replace Current, Replace and Find Next, and Replace and Find Previous commands failed with an access violation error if the replacement text contained the %LINE% or %LINEN% match placeholders.

Several older bugs were also fixed.  The version history has the complete list.  One serious issue was that if a file type's default encoding was UTF-16 or UTF-32 and you opened a file of that type that was not a multiple of 2 or 4 bytes in size (as it should be for UTF-16 or UTF-32) then previous versions of EditPad trimmed the final bytes in the file to make it a multiple of 2 or 4 bytes in size.  The file was then either left with the UTF-16 or UTF-32 encoding or it was interpreted using the non-Unicode encoding specified in the file type configuration depending on how many invalid code points it contained if interpreted as UTF-16 or UTF-32.  Now, EditPad always uses the non-Unicode encoding to interpret the file if the file does not have a BOM (Unicode signature) and the default encoding is UTF-16 or UTF-32 but the file is not a multiple of 2 or 4 bytes, without trimming any bytes from the file.

AceText 4.1.0 – 8 February 2022

AceText 4.1.0 is now available for download.

Two options were added to the Appearance Preferences.

The checkbox labeled “Control+Wheel changes the font size instead of scrolling one page” lets you choose what happens when you rotate the mouse wheel while holding down the Control key with the mouse hovering over an edit control.  If unchecked, the editor scrolls its contents up or down by as many lines as fit in the editor’s height.  This lets you scroll rapidly through long clips.  If checked, the editor increases or decreases its font size, effectively zooming its contents.

Turn on “show line numbers on physical lines only” to only show a line number on a line if the previous line ended with a line break.  This way line numbers do not change when lines are broken up by Word Wrap.  Turn it off to show line numbers for all lines.  Use the Line Numbers item in the Options menu to toggle whether line numbers are shown at all.

Turning off the “show toolbars” option now only hides the main toolbar and the collection toolbar.  It no longer hides the main menu or the Search toolbar.  Turning the option back on again no longer positions the main menu incorrectly.

The Collection toolbar has many more buttons in AceText 4 than in AceText 3.  We omitted the Delete Clip button to try to keep the number of buttons manageable.  That button is now back by popular demand.  But, if you use both the AceText Tower and the AceText Editor then the buttons for duplicating, moving, and deleting clips are now only available on the AceText Tower, above the clip tree.  You’ll be using those buttons while selecting clips in the clip tree anyway.  It leaves more space on the Collection toolbar on the AceText Editor for editing commands, even when the AceText editor is tucked into a corner to leave space for another application.

Pressing Ctrl+F to move keyboard focus to the Search box now selects the existing search term, as it did in AceText 3.  This allows you to immediately replace the search term by entering a new search term.

Even when Automatic Capture is enabled, AceText cannot capture clips if the ClipHistory is locked with a password.  AceText now flashes the Lock icon in the notification area when this happens, reminding you to unlock the collection.  You can still turn off Automatic Capture to stop the icon from flashing.

When you tick the Parameters checkbox, AceText substitutes parameters in the form of %PARAM% when it send a clip to another application.  A number of built-in parameters were added.

%CURWEEK% and %CLIPWEEK% insert the number of the week of the current year and of the clip’s year.  If these are followed by %CURYEAR% or %CLIPYEAR% then those represent the year that the week started in.  So if the clip’s date is January 1st, 2022, which was on a Saturday, then %CLIPWEEK%/%CLIPYEAR% is substituted with 52/2021.  AceText follows the ISO 8601 standard which sees Monday as the first day of the week and up to the first 3 days of the week as part of the previous year if January 1st is on a Friday, Saturday, or Sunday.

%CURYMD% and %CLIPYMD% insert the current date and the clip’s date in YYYYMMDD format.  This format allows a numeric sort to sort the dates correctly.  Many existing placeholders for date and time parts have new counterparts with an extra Z.  Those insert the number with a leading zero if it is less than 10.  %CURDAY% inserts the day of the month as a number between 1 and 31.  %CURDAYZ% inserts a number between 01 and 31.

When the Paramters checkbox is checked, AceText now interprets the double percentage sign %% as a single literal percentage sign.  To make this clear it is highlighted with the same color as escaped literals in regular expressions.  The color uses a gray background by default.  A single literal % that is not part of a placeholder name is still treated as a literal % like before.  It’s not highlighted as it doesn’t get any special treatment.

This change can cause some of your clips to paste differently now.  In the past, pasting a clip containing %%CURYEAR%% would paste as %2022%, treating %CURYEAR% as a parameter and the single % signs before and after it as literals.  Now it pastes as %CURYEAR%, treating the %% pairs as literal % signs, leaving CURYEAR as literal text in between.  This is also the purpose of this change.  You can easily include %PARAM% as literal text in a clip in which other parameters need to be substituted by including it as %%PARAM%%.  In older versions of AceText you’d have to use something like %PCT%PARAM%PCT% and add a second clip to your collection with %PCT% as the label and a literal % as its contents so that %PCT% would be substituted with a literal % leaving PARAM as literal text.  If you used this technique in the past then those clips will still be pasted the same way.  %CURYEAR%%CURMONTHZ% will still be pasted as 202202.  The clip is scanned from left to right for parameters.  So %CURYEAR% is matched first.  Its trailing % is then no longer available to be paired with the next %, so they aren’t seen as a literal %.

Just Great Software Not Affected by Log4j Vulnerability – 7 February 2022

We’ve been getting a lot of questions whether the recently discovered security problems with Log4j affect any of our products.  The simple answer is: no.

Log4j is a logging utility for Java.  None of our products are or have ever been developed with Java.  So we cannot and do not use Log4j.

The free trial and licensed downloads of our products do not include any kind of logging facility at all.  We don’t think that it is necessary or desirable for a properly tested release build of a software product to routinely keep logs.  We think the best way to avoid the potential privacy and security issues with end user software keeping logs is to simply not log anything at all.

Logs can be very useful for testing and debugging purposes.  If you report a bug in one of our products that we can’t easily reproduce, we may invite you to download a special debug build of the software.  This debug build includes a bug logging facility that writes a debug log to a local file on your PC whenever an unexpected error occurs.  The logging facility is not able to connect to the internet.  You decide whether you want to send us the log file, and whether you run the debug build in the first place.

RegexBuddy 4.13.0 – 25 October 2021

RegexBuddy 4.13.0 is now available for download.

This release brings RegexBuddy up-to-date with all the applications that it supports.  Newly supported versions are Boost 1.77, C++Builder 11, Delphi 11, Java 17, PCRE 8.45, PCRE2 10.37, PHP 8.0.11, Python 3.10, and R 4.0.11.

ECMAScript 2018 added named capture groups to the JavaScript standard.  All the browsers that RegexBuddy emulates except for MSIE have since implemented this.  RegexBuddy now allows named capturing groups in JavaScript regular expressions when you select a flavor other than MSIE.  RegexBuddy also supports the rr`$<name>` syntax for backreferences in the replacement string that is newly invented by ECMAScript 2018.  RegexBuddy also correctly emulates the fact that JavaScript only recognizes named backreferences in the replacement text if the regular expression actually contains one or more named capturing groups.  On the Use panel, RegexBuddy can now generate a JavaScript code snippet to retrieve the match of a named capturing group.

RegexBuddy is now aware that empty positive lookahead is an error in Boost instead of always matching a zero-length string and that in older versions of Boost empty negative lookahead was an error instead of always failing to match.

RegexMagic 2.12.0 – 25 October 2021

RegexMagic 2.12.0 is now available for download.

This release brings RegexMagic up-to-date with all the applications that it supports.  Newly supported versions are Boost 1.77, C++Builder 11, Delphi 11, Java 17, PCRE 8.45, PCRE2 10.37, PHP 8.0.11, Python 3.10, and R 4.0.11.

ECMAScript 2018 added named capture groups to the JavaScript standard.  All the browsers that RegexMagic supports except for MSIE have since implemented this.  RegexMagic now uses named capturing groups when generating regular expressions targeting any browser other than MSIE.  On the Use panel, RegexMagic can now generate a JavaScript code snippet to retrieve the match of a named capturing group.

PowerGREP 5.3.1 – 21 September 2021

PowerGREP 5.3.1 is now available for download.

PowerGREP now refuses to run actions that try to use a regular expression that consists entirely of comments or free whitespace.  The Assistant will pop up a message explaining this.

The Next File and Previous File buttons on the Editor panel now work correctly when the Results panel is showing the results of a “list files“, “file or folder name search“, or “merge files” action.  They step through the files listed on the Results panel.

PowerGREP can search through email messages in MIME format stored in separate *.eml files if you set “file formats to convert to plain text” on the File Selector panel to “proprietary formats” or “all formats“.  It can search through email messages in MBOX files (mailbox files in MIME format) if you set “archive formats to search inside” on the File Selector panel to a configuration with “mailboxes” in its name.  Previously PowerGREP would only handle MIME messages with headers up to 16 KB in size.  This limit has been increased to 64 KB.  The limit mainly exists for performance reasons.  It avoids spending too much time trying to decode something that is not actually an email.  A typical email header is about 4 KB in size.  But some security software that filters emails can expand email headers significantly.  PowerGREP now handles such emails correctly.

In the Action Preferences you can specify a minimum number of execution threads.  It controls the number of files that PowerGREP processes at the same time as one thread processes one file at a time.  This option is now ignored when executing actions that do not look inside the contents of files at all.  For such actions the speed of the drive that the files are stored on is usually the bottleneck.  Processing multiple files on the same drive at the same time then rarely speeds things up.  If the drive is a mechanical hard disk or a slow USB stick it can actually slow things down quite a bit, particularly if the action makes copies of the files that it finds.  So PowerGREP no longer does this.

The options to use a separate thread for each drive letter or network share are still used for all actions.  If you turn them on then PowerGREP searches though all the drives that store files included in your action at the same time.  Generally this can greatly speed up your actions.  The only situations to disable these options could be if you have multiple drive letters mapped to (different partitions on) the same mechanical hard drive or if you are on a busy network and you don’t want PowerGREP to use too much bandwidth.

HelpScribble 8.3.1 – 14 September 2021

HelpScribble 8.3.1 is now available for download.

HelpScribble’s HelpContext property editor now supports Delphi 11 Alexandria and C++Builder 11 Alexandria.  HelpScribble’s installer will automatically install it if it detects that you have Delphi 11 Alexandria or C++Builder 11 Alexandria installed.  HelpScribble’s HelpContext property editor can assign HelpContext properties to controls in VCL applications and Multi-Device applications.

One of the headline features of Delphi and C++Builder 11 Alexandria is that the IDE now supports per-monitor DPI scaling so everything looks crisp on high resolution displays.  HelpScribble’s HelpContext property editor also supports per-monitor DPI scaling when installed into Delphi and C++Builder 11 Alexandria.

HelpScribble itself continues to support the system DPI scaling that was introduced in version 8.0.0.  This means HelpScribble itself looks perfectly crisp on the primary monitor and on secondary monitors that use the same scaling percentage as the primary monitor.  On secondary monitors that use a different scaling percentage it may look blurry (but will still be sized correctly).

On the Compiler page in Project Options there is a button to have HelpScribble search your computer’s drives for the help compilers that HelpScribble needs to create HLP or CHM files.  This search process has been improved.