The Bat! 8.0.14
The Bat! mail client has a lot of vital benefits and useful features that make your email experience simple and convenient. All these features perfectly fit any Windows OS. Moreover, The Bat! is the first and only email client Certified for Windows Vista by Microsoft Corporation. “Certified for Vista” logo guarantees the highest level of compatibility between Vista and The Bat! mechanisms.Protection of privacy
The Bat!’s characteristic feature is the most widespread support of authentication protocols and of encryption while working with mail servers.Anti-virus defense
The other side of safety is protection against malicious codes. The Bat! benefits of its own HTML viewing mechanism – Robin HTML Viewer, as well as of its own image viewing module.
32-bit version of The Bat! now works even under very old computers with CPUs that don’t support MMX instruction set. In this case, FPU is used to copy data.
Upgraded the HTML editor. Text formatting has improved (the components render bi-directional text and “exotic” scripts reliably; "justify" alignment and custom character spacing now can be applied to bi-directional text; new paragraph alignment type: "distribute"; distributed paragraphs are similar to justified paragraphs, but space is added between all characters, not between words; this type of alignment is common for Far East languages; customized alignment for the last line of justified and distributed paragraphs; special options for vertical text in table cells - automatic application of vertical fonts and switching column order from right-to-left to left-to-right). There were also visual improvements: the users can define a customized degree of transparency for backgrounds of paragraphs, tables, table cells, text boxes; user interface is compatible with high-DPI display modes.
AVX/AVX2/AVX-512 use: if the CPU supports AVX or AVX2 instruction set, 64-bit version of The Bat! will use large, 32-byte YMM registers for faster memory copy and fill, and if the CPU supports AVX-512 instruction set, The Bat! will use even larger, 64-byte ZMM registers for even faster memory copy and fill. These instruction sets are not used by 32-bit version of The Bat.
The Bat! now uses improved multi-threading locking mechanism as a part of the improved memory manager - FastMM4-AVX. The new locking mechanism is much better than the mechanism implemented in the default memory manager which is used by the Delphi compiler.
If the CPU supports Enhanced REP MOVSB/STOSB (ERMS), The Bat! uses this feature for faster memory copy or fill.
Faster overall program work gained by removing the "lock" prefix from many instructions that were supposed to provide multi-thread handling. On practice, adding "lock" prefix to an instruction slows it down significantly, and, in most cases, was not needed, e.g. increasing reference counters when assigning strings.
Internal program code rewrite regarding to HTML editors that was used in the message editor and HTML template editors.
AVX-512 Instruction Set is used, if available, for faster memory copy and fill operations. In order for The Bat! to make use it, a CPU with AVX-512 instruction set is required, for example Intel's Xeon Phi x200 (Knights Landing) and Skylake-X Core i7 and i9 models. Besides that the operating system should also support AVX-512 registers. It is Windows 10 latest update and Windows Server 2016 that support AVX-512.
Version 8 Splash Screen.
Added the insert/overwrite mode for all message editors, not just MicroEd.
Better thread handling - the program works faster and generates lower number of the Page Faults.
Auto-configuration of display fonts on The Bat! first run. On Windows 7 and later, if the fonts are configured in Windows settings to be displayed as Cleartype or if the screen resolution (pixels per inch) is 150% of base DPI or higher, then, on The Bat! first run for this Windows user account after the new installation, the new fonts are automatically configured be used (instead of previously hard-coded values): Consolas and Calibri are now used instead of the old Courier New and Arial. Besides that, during that first run, the default editor font size now accommodates to the screen resolution (pixels per inch): if the current DPI is below 150% of the base DPI (96), the default editor font size is 9pt as before, but for 150%<200% - 10pt, 200%<300% - 11pt, 300% and higher - 12pt.
Auto-substitution of the Courier New on 4K monitors when viewing HTML messages. The details are the following. On Windows 7 and later, with ultra-high-definition (4K) monitors with DPI of 192 and more (>200% of base DPI), if an HTML email arrives with Courier New font defined, and the characters have font size of or between 5 and 28 points, the font is automatically displayed as Consolas. This behavior of substation of Courier New to Consolas is hardcoded and you cannot change it. This only affects screen, not the printer. On printer, when printing HTML with Courier New, this font is always used if defined so in the HTML.
Updated Root CA certificates.
Improved speed of CRC-32 calculation when the processor does not support CRC32 instruction, but if it does, the speed has increased even more. The Bat! uses CRC-32 algorithm internally in many cases, so the overall program speed has increased as a result.
Non-exceptional (normal) situations like IMAP server responses "NO" and "BAD" were added to the exceptions log.
Improvements on multi-threaded operation: The Bat! often worked poorly on multi-core processors or multi-CPU computers. The thread operation wasn’t very good thought out in some places. As a result, there were various errors like Access Violation.
The Bat! MSI installation package no longer include EWS DLL files. As a result, The Bat! would not support Exchange Web Services (EWS) protocol until you manually download a DLL and store it un the same directory where thebat32.exe/thebat64.exe resides. The EWS DLL download URLs are https://www.ritlabs.com/download/files3/the_bat/ews/ews_x32.zip and https://www.ritlabs.com/download/files3/the_bat/ews/ews_x64.zip.
64-bit Simple MAPI handler DLL gave access violation errors.
When a QR Code window was already open and then the user has put another window to front and chose to generate a QR code from the menu, the old QR Code window remained in the background so the user had no idea what happened, as if nothing happened. Now the QR Code window will be brought to front in such cases.
The QR Code generator didn't save a generated code to file properly. It asked for a list of graphic formats, but in fact only supported BMP. So if you chose, for example, PNG, it saved a BMP into the file with .PNG extension which was incorrect. Now it only offers to save to PNG.
If you save generated QR code to file or copy it to clipboard, it didn't scale to the fixed number of times, which might result uneven scaling.
If a QR Code window was called from the main window and was open, and you close The Bat!, there was an Access Violation error.
If there were a message source view window open and you closed The Bat!, there were an access violation error.
The Bat! couldn't gracefully handle improperly specified "charset=unicode", especially in malformed HTML messages.
Screen reader did not read the contents of the status bar.
Screen reader did not read the text of the tabs.
Attributes of messages in threaded message lists were not read.
The option "Complete address automatically from" in the message editor did not work.
The auto-complete did not offer a suggestion right away as only the suggestion list with no selection appears.
The Bat! gave an access violation error on exit when NVDA (www.nvaccess.org) was active on The Bat.
The Bat! crashed upon invoking the address book if JAWS is running.
Invalid key handling in the Message Editor address grid (arrows).
The cursor jumped between From/To/CC/BCC/Subject fields using the arrow keys whereas only the Tab key should be applied.
The screen reader did not notice that a list of addresses appears in the message editor window.
Screen reader improperly read RSS item list.
Accessibility Feature: Label for fields in the message creation window was not read properly.
Screen reader did not read the names of folders in the "Manage IMAP folders" window.
JAWS was speaking after each character when auto-completion in the "To" field was in the "on" state.
Screen reader did not read the names of contacts in the Address Book.
The Bat! could not down load HTML images under 32-bit if there were a message with many images with the same URL.
Space bar sets/removes the check-box on the selected folder and jumps into the search field in Watch for virtual folders.
The Up key does not return to the To, CC or BCC field in the message editor.
Change of the checkboxes in the Options tab of the Sorting Office did not immediately affect the checkboxes in the left tree.
The Bat! crashed while returning to the terminal session.
The Bat! hangs on testing outgoing connection in the Create New Account wizard.
A screen reader did not speak the check-marks and selected/not selected in the Sorting Office.
Embedded images in messages bodies grow in size on each reply on high-DPI (4K) monitors.
URLs were incorrectly displayed in the plain text part of messages.
Images in HTML templates are resized under high DPI (4K) monitors.
"List index out of bounds" error appeared while trying to assign an URL to an image in the HTML template.
Sometimes, very rarely, due to a bug, Message Headers got multiplied everywhere - in the Preferences, in the Message Editor, in the viewers. Other configuration items like color groups, etc., could also have been duplicated.
The program became faster as a whole because of significant improvements to internal algorithms related to data storage and retrieval (data containers).
The algorithms to process, load and store configuration items, e.g. mail folders, message headers, color groups, etc. (data containers) contain flaws that could lead to data loss.
When The Bat! saves images, for example when you edit and HTML message where you have inserted inline images from clipboard, or you have added a photo to an address book entry - The Bat! chooses between the two file formats - PNG and JPG, compressing to both formats and seeing which of the files are smaller. For PNG, compression level from 1 to 9 is selected, based on the dimensions of the image: larger images take faster compression levels, to not produce interface freezes when saving message; for JPG, quality of 85 is always chosen. Previously, The Bat! did always save in JPG with 100 level, which did produce very big files. For photos, JPG process smaller files than PNG, while PNG makes smaller files when there are flat images with just a few colors, like a simple screenshot.
Not enough room for "User / Server" localization in the Connection Center window.
Truncated options' names on the "Options" tab of the customizer (select the menu item "Workspace\Toolbars\Customize" and then go to the "Options" tab).
When the Sorting Office window was opened, but The Bat! was in foreground, the Sorting Office window was trying to check the clipboard data used by other programs, which gave errors under Windows 10.
The server-side "Sent" folder is lost and re-downloaded on each program start for hotmail.com accounts. Although this was not related solely for Hotmail. The bug was the following: if we had a local folder in the IMAP account with a particular name, and then we've got an IMAP folder with the same name from the server, The Bat! couldn't handle such situations properly, it didn't permanently store the TBB cache file, but instead created a new TBB on each restart of The Bat!, but the old TBB file was abandoned and no longer used, thus occupying the disk space in vain.
The Bat! didn't always set the FILE_ATTRIBUTE_TEMPORARY for temporary files; setting this attribute increases speed of working with temporary files.
The default string encoding in anti-spam plugin changed from Windows-default-for-non-Unicode-programs to UTF-8.
Miscellaneous HTML-editor-related fixes.
Modal dialog boxes with modal window frame have an icon that overlaps text on Windows XP computers.
Fixed html editor dialog translations.
A division by zero error in the MicroEd.
Editing links in HTML-editor is faulty – the lings got truncated, e.g., after a particular character in the link.
Wrong icons in the title bars.
Truncated Quick Search options.
Column width is not remembered in "Manage IMAP folders".
Untranslatable Quick Search options in the Message Viewer.
Macro %QUOTES sets HTML message quotes to uppercase.
All caracters of the quoted text are put into the uppercase while replying.
The Bat! crashes on selecting an HTML message if the internal HTML viewer is used.
Embedded images are rendered too big.
If there is not enough free space, no warning appears during the compacting process.
A 32-bit version of The Bat! did release memory right when it started (to release memory used by startup data and startup code that was no longer needed) and when was minimized, but the 64-bit version didn't do that properly - vice versa - it tried to reserve 4GB for itself instead. Now the 64-bit version is also doing things properly - it doesn't try to reserve 4GB, but releases memory just when started (once) and each time you minimize it.
Message List Tabs cannot be scrolled to the right on high DPI.
No confirmation popup for changed mail after closing window.
Wrong display of the sender in Address History.
The Sorting Office conditions are not vertically aligned (edit/text).
Fixed a EStringListError "List index out of bounds (0)" error in the image download manager.
Fixed an access violation error related to IMAP which could happen in many cases, e.g. after sending out a message, etc.
SMTP log does not auto-scroll in the Connection Center.
The Bat! does not remember column width in the "Select Quick Template" window.
The window "The Bat! Master Password" gets hidden behind other windows.
The default fonts in the message editor (The default font Courier New 9 pt is small and pale).
Importing messages from Outlook 2016 fails to include senders' email addresses.
Access Violation popups if inspecting message source on IMAP account.
Image viewer does not display a PNG file although it is displayed in the preview tab.
Ctrl+A doesn't work in Memo in the address book properties.
Quick Search tabs do not display separate message lists.
Sorting office column widths (in the filters tree - left part of the windows) are not saved.
Sorting office default column widths are not proportional to the text.
Tip of the day image is not rescaled to accommodate higher resolution.
It is not obvious that in the Address Entry, the list of addresses should be separated by CR, not comma.
Some HTML messages were incorrectly displayed by The Bat! internal HTML viewer. Element positions were incorrect. Elements were doubled up in some of the messages.
Fixed the selection of items (in check/uncheck items in the selection tree view) in some dialogs. For example, the behaviour of these items was OK in the Message Finder (F7) dialog, but wasn't OK in the other dialogs like the "Manage IMAP Folders" dialog. If you open this dialog to manage IMAP folders and try to select/unselect a folder with subfolders, or an account node, the expected behaviour was that the sub-items would also be selected/unselected (checked/unchecked). But his didn't happen - this was especially illogical for the account root nodes - checking/unchecking this node didn't have actually any effect - the account node was checked/unchecked, but the account folders weren't affected at all, so in fact there was absolutely no practical meaning in checking/unchecking the account node of the tree view control in the Manage IMAP folders dialogs. The only exception (that worked correctly) was the Message Finder (F7). Now, behaviour of all this places is identical to the correct behaviour used in the Message Finder.
Shortcut editor (when you configure shortcuts for a particular toolbar button) hotkey edit field is not zoomed on 4K.
The code was optimized - some generic classes were removed in favour of old-fashioned container classes that didn't use generic source code constructs. The rationale behind this optimization was that the compiler didn't automatically eliminate the duplicated binary code when generics were used to created containers for different classes in such places where the classes were very similar and there was no reason for the compiler to create multiple instances of the binary code that implements the containers like "lists" (TList<> vs Classes.TList). This explosion of the binary code was not cache-friendly, especially not L0/L1 friendly - the program worked slower because of this code size explosion that had no rationale.
Fixed a bug that might cause "Access Violation" error in filters when there were multiple connections already working with the filters, for example, when moving sent message from Outbox to Sent folder.
Fixed an error when cancelling a folder compression task on exit.
Fixed issue with wrong font family in preferences\source viewer.
In some dialog windows of The Bat!, font face of some GUI elements was hard-coded (e.g. to Tahoma). Now this hardcoding is removed and the font face of these elements is also dynamic as for all other GUI elements, so it matches exactly the font face of the surrounding GUI elements (controls).
The captions of the "processing folders" status display window were too narrow.
There were some bugs in the "View message source" where first or last character of second and subsequent lines was corrupted, which also led to incorrect cursor placement.
Image detection for the internal image viewer was incorrect: every type of image was detected as "JPEG". As a result, other images, like "PNG" could not be displayed in the internal image viewer.
The "Illegal instruction" error on viewing some JPG files under 32-bit version of The Bat.
Removed duplicate code from HTML templates handling.
Paste image into HTML mail from clipboard fails.
Pasting copied file in HTML mail fails with exception.
An Access Violation error on exit, related to virtual folders.
An invalid pointer operation error when dealing with mail messages (copy, move, process by a filter, etc).
Pasting copied file in HTML mail fails with exception.
Paste image into HTML mail from clipboard fails.
If the user creates a tag with a duplicate name, The Bat! did not start with "Config:1 EStringListError String list does not allow duplicates"-error messages in ex_log.txt during program startup.
Embedded images are too narrow in the internal HTML viewer.
Phantom window of the action "Add addresses to Address Book" appears in the preview of windows on the task bar.
Tip of The Day displays national characters incorrectly. For example, if the "Language for non-Unicode programs" configured in Windows is different from The Bat! interface language, the national characters were incorrectly displayed in the "Tip of The Day".
Fixed an access-violation on exit when the messages were loading via IMAP in progress and the user exits The Bat! at this moment.
Impossible to insert smiles to the message.
Inserting smileys with ">" or "<" in the plain text editors inserts HTML-code instead.
Some fixes of Access Violation errors on IMAP.
Long labels didn't wrap in progress dialogues.
Program size decreased slightly.
Addresses are not added into address book automatically in IMAP accounts.
"Insert Hyperlink" interprets command-line arguments as named HTML characters, and thus falsified the HREF.
Image files attached to messages are not printed correctly if image width is larger than height but paper (page) width is smaller than its height. If the width of an image is larger than the size of the page, then the right part of the image gets cut while printing/in print preview.
External image download control for the system's HTML viewer does not work if set according to The Bat! rules.
Sorting Office does not trigger on tags.
External image download control for the system's HTML viewer does not work if set according to The Bat! rules.
Scheduler did sometimes lose its settings.
If the user interface was in such a language to which the website www.ritlabs.com was not translated and the user pressed "Help" button of F1 key, and there were no CHM file of this language present, The Bat! gave an obscure error "Missing context help indxed ...". Now it opens the online help in English.
Option "Headers | Show" in Message body is checked, even Header pane is disabled.
v6.3.2: Message List for normal email folder shown in the "Summary View".
The log box in the "Account Log" window doesn't scroll properly (as in the Connection Center).
Email is not validated in redesigned "New Account" wizard.
Logs are incorrectly scrolled in the message re-filter dialog.
IMAP positive test results are not displayed in the New Account Wizard when you click the Test Now Button.
Message List cannot be sorted by column "Tags".
Fixed an error that could happen when there were no free space left on disk.
Can't change language from HTML editor status bar.
The message editor status bar didn't show the cursor position (line/character) for the following modes: Plaintext (Windows), HTML+Plaintext, HTML only. It did only show the cursor position for Plaintext (MicroEd). Now it shows the position for all the editor types.
Truncated/disappeared buttons in status bar of Editor window when switching text format to HTML mode.
Pasting text to Quick Search was troublesome because when the user selects some text, e.g. an email address, in an outside application, that application often copies text to the clipboard with a trailing space character and when the user pastes it to Quick Search, the user doesn't see this trailing blank, but The Bat! doesn't find the address in the message list so the user becomes very perplexed.
The log box in the "Message Base Maintenance Center" window doesn't scroll properly (as in the Connection Center).
Quick Search in Message List does not use focused tab for a refined search.
Untranslatable string in the Connection Center.
The information about The Bat! versions that the key is fit for, is now displayed in an easier to understand way.