As I’ve recently upgraded my copy of Delphi, the entire project ported from Delphi 7 (written for windows XP) to Delphi XE4 (written for Windows 7/8). So this is a significant enough improvement to bump the major version number, despite 4.1 never having made it anywhere close to coming out of beta. Related to this upgrade:
**Native Unicode Strings**
One of the biggest changes in the new version of Delphi is that it uses two-byte unicode strings instead of one-byte ansi strings as the native format for strings. The upside of this is that this pretty much eliminates any lingering unicode issues like subjects that don’t decode correctly, or unsupported code-pages, and a lot of kludge workarounds for getting non-unicode strings back from the Indy Networking tools are no longer needed. The downside is that the compiled application size immediately doubled since the unicode strings take up twice as much room to store, but hopefully the benefits will far outweigh the increased executable size.
**Better Image Handling**
The newer version of delphi has better image format handling, so we can use PNG images with alpha-transparency that have smooth blending onto their background, instead of just GIF/BMP images with transparent/not transparent pixels. So to take advantage of the new capabilities, and make the app look nicer, a lot of the images in the program have been updated or replaced. Apologies if anyone has been using a Skin.bmp file, I have not re-written the button skinning code to support alpha-transparency, so significant parts of the Skin.bmp will be ignored.
**OS Compatibility Issues Disappear**
And overall, many of the VCL/delphi bugs related to Vista, Windows 7, and Windows 8 have been fixed in the newer compiler, so certain uncommon crashes I was unable to fix before just vanish. And no more labels disappearing if you press alt or switch between windows.
One other new feature available in the new Delphi is VCL Styles, which is essentially a theme for the entire application. To keep the application size from getting too big, only a couple themes have been included in the core executable. Additional themes are available here: http://poptrayu.sourceforge.net/visualstyles/
**General Bug-Fixes & Improvements**
There are also a lot of general bug-fixes and improvements in this release:
A feature requested by multiple users to entirely disable the HTML View tab on the preview window has been added. If you are paranoid about spam-tracking images, and don’t wish to set internet explorer to offline mode while previewing emails, this may be a feature for you.
A bit of work has been put into multi-language support in this release. All the translation files have been converted to UTF-8 instead of various code-pages, so any language file may be used in any region. I’ve scoured the blank language files and gotten them up to date. For 11 languages (selected based on the sourceforge statistics about which countries have downloaded PopTrayU the most) I’ve updated the translation files to be complete, using automated translation tools to fill in all missing strings. Not as good as having translated by a native speaker, but should make it much easier should any native speakers wish to improve/update the translation. For German, a native speaker has stepped up and corrected the translations of German for both the installer and application. (Improvements to the Dutch translation by the original translator/native speaker are coming soon as well). Hopefully bilingual volunteers will step up to help update other translations as well. Some improvements have been made for support of right-to-left languages (Hebrew and Arabic), but that is certainly a work in progress and there’s still quite a few things that are hard to read in those languages due to inflexible layouts aligning things incorrectly.
Also, conversion of HTML-only emails (eg: Pinterest) to plain-text has been improved, if you use the Plain-Text preview mode. And a bug with where toolbar customizations are stored for the preview window has been fixed.
**Crash Reporting Tool**
After doing some research about using MadExcept4 in GPL programs, I’ve determined that as best I can tell (without being a lawyer), since PopTrayU is not sold for money/profit, it meets the requirements for the MadExcept non-commercial license, and that although MadExcept4 is not open-source (neither is Delphi for that matter), and the GPL has provisions that make it acceptable to use closed-source compiler tools to compile an open-source project. Previously, I have only enabled MadExcept on private debug builds to try to trap specific crashes. The benefit of having this tool enabled is that if the program crashes, instead of an address that maps to a single line of code (if you’re lucky and it doesn’t fall in some system library), it will provide a full stack-trace of what code called the code that caused the crash, which is much more useful for debugging non-reproducible crashes. I’ve set up the tool to provide an option to, if the user approves, upload the bug report directly into the bug-tracker for PopTrayU. Hopefully you’ll never see this feature, but if you do, reporting crashes may help improve stability in future versions. Apologies that MadExcept4 is in English-only.