FileOptimizer (English) 
Tuesday, February 21 2017 . 07:57 AM

FileOptimizer is an advanced file optimizer featuring a lossless (no quality loss) file size reduction that supports: .3GP, .A, .AAI, .AC, .ACC, .ADP, .AI, .AIR, .APK, .APNG, .APPX, .APR, .ART, .AVS, .BAR, .BMP, .BPL, .BSZ, .CBT, .CBZ, .CDR, .CDT, .CHI, .CHM, .CHQ, .CHS, .CHW, .CPL, .CSL, .CSS, .DB, .DCX, .DEB, .DES, .DIB, .DLL, .DOC, .DOCM, .DOCX, .DOT, .DOTM, .DOTX, .DRV, .DWF, .DWFX, .EASM, .EML, .EMLX, .EPDF, .EPRT, .EPUB, .EXE, .FAX, .FB2, .FDF, .FITS, .FLA, .FLAC, .FPX, .FXG, .GALLERY, .GALLERYCOLLECTION, .GALLERYITEM, .GIF, .GRS, .GZ, .HDR, .HRZ, .HTM, .HTML, .ICO, .INK, .IPA, .IPK, .IPSW, .ITA, .ITS, .ITZ, .JAR, .JFI, .JFIF, .JIF, .JNG, .JP2, .JPC, .JPE, .JPEG, .JPG, .JPS, .JS, .JSON, .KML, .KMZ, .KSF, .LIB, .LIT, .LUA, .LUAC, .LXF, .LZL, .M4A, .M4B, .M4P, .M4R, .M4V, .MAX, .MBX, .MCE, .MDB, .MDT, .MDZ, .MHT, .MHTML, .MIC, .MIF, .MIFF, .MIX, .MIZ, .MKA, .MKS, .MKV, .MMIP, .MNG, .MP3, .MP4, .MPD, .MPO, .MPP, .MPT, .MSC, .MSG, .MSI, .MSP, .MST, .MSZ, .MTV, .MTW, .MVZ, .NAR, .NBK, .NOTEBOOK, .O, .OBJ, .OCX, .ODB, .ODF, .ODG, .ODP, .ODS, .ODT, .OEX, .OGA, .OGG, .OGV, .OGX, .OLE, .OLE2, .ONE, .OPT, .OSK, .OST, .OTB, .OXPS, .P7, .PALM, .PBM, .PCC, .PCD, .PCDS, .PCX, .PDB, .PDF, .PFM, .PGM, .PIC, .PICON, .PICT, .PK3, .PNG, .PNM, .PNS, .POTM, .POTX, .PPAM, .PPM, .PPS, .PPSM, .PPSX, .PPT, .PPTM, .PPTX, .PSB, .PSD, .PTIF, .PTIFF, .PUB, .PUZ, .R2SKIN, .RDB, .RFA, .RFT, .RMSKIN, .RTE, .RVT, .S3Z, .SCR, .SGML, .SLDASM, .SLDDRW, .SLDM, .SLDPRT, .SLDX, .SOU, .SPL, .SPO, .STZ, .SUN, .SVG, .SVGZ, .SWC, .SWF, .SYS, .TAR, .TGZ, .THM, .TIF, .TIFF, .VBX, .VCARD, .VCF, .VDX, .VICAR, .VIFF, .VLT, .VSD, .VSS, .VST, .VSX, .VTX, .WAL, .WBA, .WBMP, .WEBP, .WIZ, .WMZ, .WPS, .WSZ, .XAP, .XBM, .XHTML, .XL, .XLA, .XLAM, .XLC, .XLM, .XLS, .XLSM, .XLSX, .XLTM, .XLTX, .XLW, .XML, .XMZ, .XNK, .XPI, .XPM, .XPS, .XSF, .XSL, .XSLT, .XSN, .XWD, .ZIP, STICKYNOTES.SNT, and THUMBS.DB file formats among others.

It keeps the behavior of the file untouched, but with its size reduced thanks to several recompression and optimization techniques.

FileOptimizer 8 running under Windows 10

FileOptimizer 5 running under Windows 8

FileOptimizer 4 running under Windows 8 (Metro like style)

FileOptimizer 4 running under Windows 8 (Luna style)

FileOptimizer 4 running under Windows 7

FileOptimizer 4 running under Windows XP

FileOptimizer 4 running under WINE with Kubuntu 12.04

Quick facts
- More than 45 third party tools integrated in one same tool (plugins).
- More than 275 file extensions supported, being the most complete tool available of this type.
- Smart detection of file types by analyzing its contents, no matter of what extension they have.
- Simple program interface.
- Easy to use.
- Powerful automation via command-line.
- Free and open source.

Key features
- Suitable for home users that need to speedup file transfers no matter if they are in email attachments, P2P or shared upload servers.
- Suitable for webmasters to increase the page load speed.
- Suitable for web developers to reduce content weight.
- Suitable for desktop developers in any platform (Windows, Linux, MacOS, ...) to reduce distribution sizes and reduce load times.
- Suitable for mobile developers (Android, iOS, Windows Phone, ...) to reduce distribution sizes and reduce load times.
- Suitable for server administrators that could integrate FileOptimizer via command-line.
- Suitable for content creators and distributors to reduce content weights.

Drag the files you want to optimize to the files grid in FileOptimizer, right click with the mouse to open the contextual menu, and then click on Optimize. This will process all supported files added, and overwrite them with the optimized version.

Alternatively you can add the files and directories to process on the program's command-line, or dragging them to the executable file. A context menu for Add files, also does it.

By default, FileOptimizer will remove additional metadata, and other unneeded information, but will keep original files in your recycle bin just in case you want to further modify the originals.

FileOptimizer context menu

Different engines are automatically used depending on the file type:

- AdvanceCOMP 1.23 -
- APNG Optimizer 1.4 -
- Coherent PDF Command Line Tools (cpdf) 2.2 -
- CSSTidy 1.3 -
- DeflOpt 2.07 -
- defluff 0.3.2 -
- Document Press Version 6.01 -
- ECT (511fa96) -
- FLACOUT 07/03/2014 -
- Flasm 1.62 -
- Gifsicle 1.88 -
- Gifsicle Lossy 1.88 -
- Ghostscript 9.20 -
- GNU Strip 2.27 -
- Guetzli 0.2 -
- ImageMagick -
- ImageWorsener 1.3.0 -
- jhead 3.00 -
- jpeg-archive 2.1.1 -
- jpegoptim 1.4.4 -
- jpegtran 9 -
- jsmin 2013-03-29 -
- Leanify - (
- libwebp 0.6.0 RC3 -
- mkclean 0.8.7 -
- mozjpeg 3.2 -
- MP3packer 2.04 -
- mp4v2 2.0.0 r504 -
- mutool 1.10a -
- OptiPNG 0.7.6 -
- PCXLite 1.0 -
- PETrim 4.00 beta -
- pingo 0.59 -
- PngOptimizer 2.5 -
- PNGOUT 02/13/2015 -
- pngquant 2.8.1 -
- pngrewrite 1.4.0 -
- pngwolf-zopli 1.1.1 -
- rehuff -
- Tidy 5.2.0 -
- TruePNG -
- UPX 3.93 -
- ZLib 1.2.8 -
- zRecompress 2.12 -

FileOptimizer is provided free of charge covered by the GNU Lesser General Public License (LGPL). Of course if you are using it in a commercial environment, a small donation will be highly appreciated.

- Operating System: Windows 2000, XP, 2003, Vista, 2008, 7, 8.x, 2012, 10 or 2015 (x64 compatible).
- 32 Mb of free memory.
- 50 Mb of disk space available.

Currently FileOptimizer is only localized in english.


- Full distribution including Ghostcript plugin in EXE installer format (56.2 Mb.) or in plain ZIP format (112.0 Mb.).: FileOptimizer 32 and 64 bit versions with all plugins including Ghostcript one.

- Source code in 7Z format (395.2 Kb.): Embarcadero C++ Builder 10.1 source code, Visual C++ 2015 gifsicle, Visual C++ 2015 jpegoptim and Visual C++ 2015 JSMin).

Voluntary donate using the Paypal the amount of money you choose to support FileOptimizer development. It is safe, secure and convenient.


Frequently Asked Questions (FAQ)
Why are several downloads available?
Available downloads come separated in a binaries (executables) form, suitable for x86 and x64 architectures, and in a source code archive. Both are usually available in several package formats.

What is the sense of FileOptimizer, if standalone tools are already available?
Indeed you can manually execute the commandline tools that FileOptimizer uses as plugins, but this will be probably less comfortable. Specially if you consider you will need to execute one or another depending on the file format, and to chain some of them to obtain best results.

What is different in FileOptimizer compared to similar tools?
General idea on tools like PNGGauntlet, ImageOptim, RIOT, etc is essentially the same.
FileOptimizer is built-in with lots of plugins that allow it to handle a big variety of file formats. Optimized files are usually smaller than in competing products, or comparable at worst. It is easy to use, and at the same time easy to automate. Is a native Win32 application, being compact and fast, and works portable with no external dependencies nor access to the system registry. Finally it is free and open source.
At the moment, it is not much mature, lacks some features, and is not configurable at all.

Are optimized files identical to the original ones?
Optimized files, will look identical to the original ones, but internally they will be different in order to achieve the size reduction.
For images, bit depth reduction is used when possible. For instance an image encoded with 24 bit color depth could be resampled to 8 bit color depth if 256 colors of less are used. Quality should not be affected after the transformation.

Why are original file stamps not preserved after optimization?
FileOptimizer supports restoring original file attributes once it has been recompressed. This includes creation, and modification timestamps, but also read-only, system, archive and hidden attributes. To enable it, mark the checkbox "Keep file attributes" under "Options -> General".

Have the optimized files same degree of compatibility as the original ones?
Generally yes, they have the same degree of compatibility. The exception is JPEG images, when you have enabled the User arithmetic encoding option. It generates smallest files with the same quality, but require recent software to render them.

Will optimized files load faster?
Definitively yes, optimized files are smaller, less information needs to be transferred from the internet, of from the local disk, and will load faster in a direct proportion with the size reduction.
Decompression speed of the optimized files is also proportional to the size reduction, because used compression algorithms are asymmetric (slow compression and fast decompression).

Does optimized files work on other platforms than Windows?
Yes, since they are the same format as the original ones, they will continue to work, no matter if they are rendered in a web browser, an Android or iOS application, or any other desktop program.

Why is the recompression process so slow?
The speed of the recompression depends on the particular format of the file.
Noticeably PNG processing is the slowest, because the brute-force recompression to squeeze them. As oposite, PDF and JPEG files should be encoded pretty fast.

Does it work on other platforms than Windows?
FileOptimizer is reported to work in some environments under UNIX based operating systems with Wine.
For other platforms, you will need to install a virtual machine such as VirtualBox with Windows XP or later.

Why a particular format is not supported?
Even if I do my best to add new format support to FileOptimizer, I may have missed some.
If the format to add has available a Windows command-line tool to optimize it, it can be easily integrated on FileOptimizer, so please, let me know.

How can I disable a particular plugin?
You can use the INI setting DisablePluginMask= to allow excluding execution of certain plugins. For instance DisablePluginMask=leanify;advpng.exe will prevent executing any plugin containing in its name leanify or advpng.exe.
As you can see it is case insensitive, and allows more than one item to be specified by using semicolon (;) as separator.

Can I prevent certain file formats from being processed?
If they are supported by FileOptimizer, unless you could remove all the plugins used to treat this format, it will not be possible.
The workaround would be to not add those type of files.

I can appreciate some quality loss on PDF optimization. Why?
PDF are recompressed with no loss of quality, but images can be downsampled, and so on, allow certain lost of quality, specially at high zoom levels. You can control it under Options -> PDF -> Profile.

How is the command line syntax?
FileOptimizer command line arguments work like:
C:\PROYECTOS\FileOptimizer\Win32\Release\FileOptimizer64.exe "C:\PROYECTOS\FileOptimizer\_Tests\_ - copia"\
- C:\PROYECTOS\FileOptimizer\Win32\Release\FileOptimizer64.exe: Is the full path where FileOptimizer executable is.
- "C:\PROYECTOS\FileOptimizer\_Tests\_ - copia"\: Is the full path of the folder to recursively process. Be aware enclosing it with double quotes as in the example, which is Windows mandatory if the folder contains spaces, or extended characters.
Alternatively you can specify only one single file instead of a folder:
C:\PROYECTOS\FileOptimizer\Win32\Release\FileOptimizer64.exe "C:\PROYECTOS\FileOptimizer\_Tests\_ - copia\"
- C:\PROYECTOS\FileOptimizer\Win32\Release\FileOptimizer64.exe: Is the full path where FileOptimizer executable is.
- "C:\PROYECTOS\FileOptimizer\_Tests\_ - copia\": Is the full path of the file to process.

Is there a way to silent install FileOptimizer?
You can specify the /S command-line swich to the installer, and it will install FO with no prompts:
FileOptimizerSetup.exe /S
Since it is implemented over NSIS, you can take a look at for further reference.

Are there any other parameters available in the installer
Yes, you can use optionally:
- /AllUsers: Install for all users instead of current user.

Why my HTML, CSS or JS files are not optimized being them supported?
As of version 6.50, optimization of CSS, HTML, Javascript and its derivatives is supported. They follow the same lossless concept as other formats, so once compressed they will render and look exactly the same as the original, but with a reduced file size.
Unfortunately those optimizations may cause your files to not be editable anymore by WYSIWYG tools such as Dreamweaver, and to avoid risks they are disabled by default.
To enable them, simply go to Options->CSS->Enable Tidy; Options->HTML->Enable Tidy and Options->JS->Enable JSMin.

How can I enable SVG optimizations?
SVG optimizations, are linked with HTML ones. You can enable them by checking "Options -> HTML -> Enable Tidy". When enabled, results in smaller files, but can happen they are not editable anymore. Note that this applies to both SVG and HTML file types.

How can I enable lossy compression?
You can check "Options -> PNG -> Allow lossy optimizations" and ini settings JPEGAllowLossy=true, GIFAllowLossy=true.

Why FileOptimizer is not using all my CPU cores?
Making FileOptimizer a multithreaded application involves a major rewrite of it. Basically, GUI can only run in the main thread, which implies a big reengineering. Some progress has been done since 2 years ago, but it is getting more and more difficult as its codebase enlarges. Also having plugins such as ECT or mp3packer which are already multithreaded, makes less sense to continue the task.

Why there is a donate button being the program free?
FileOptimizer is free either for personal and commercial usage. I have spent hundreds of hours in creating, developing, researching, supporting, testing and maintaining it, so if you consider a donation is worth my effort, it is highly appreciated, but not mandatory. Program will work as the full version without any limitations, no matter if you have donated or not.

How much should I donate?
There is no minimum nor maximum in the donations. Simply consider the benefit it is reporting to you, and how the compensation you will give to the future of FileOptimizer should be. Donations of even 1 euro, are welcome the same as 1000 euro.

What if I have problems donating?
Current donation platform is managed by Paypal.Me, which is fast and safe. Unfortunately it is not supported in all countries and currencies, so you can try the old Paypal platform here.

Can I donate more than once?
Sure, you can donate more than one time. Indeed, I am spending time on FileOptimizer more than once, so it is fair. You can choose to do it after a new version, after a major one, or as you can afford.

Where is latest source code?
Source code for releases is available in the Download section above.
Latest deveolpment code is available in the SVN repository.

Where can I send suggestions, comments and bug reports?
Better place for easily followup comments, suggestions and bug reports is on the Discussion page at Sourceforge.

How can I contribute the project?
If you want to contribute and actively participate in the evolution of FileOptimizer, your help is highly appreciated.
You can donate money, or send patches and improvements in the source code, or even send suggestions, or bug reports.

Why is FileOptimizer available in warez portals?
Recently I have found some Torrent sites, as well as warez portals offering repackaged FileOptimizer distributions.
Be warned that those sites usually include malware in their packages, mostly adware to give them incomes with no effort nor credit to the original authors, so if you opt to get elsewhere, you are not only underestimating my work, but also putting your PC in risk.
Obviously, the author, me, has no relationship with those sites, and what is more important, I am not seeing any advantage on pirating a software which is already free.
Remember that FileOptimizer is free, and open source, being always available as direct download from its official page:

Can you give more details on how FileOptimizer works?
As said before, FileOptimizer is only a frontend for external command-line applications, called plugins. Those plugins are the ones which does the hard part, and the ones deserving creting. This is why usually optimization bugs happen in plugins, instead of in FileOptimizer side.
If you need more details about the internals, please take a look at the links above with the official sites for them, where you could get lots of technical details.

9.60 - 2017/02/18
- Brand new FileOptimizer icon (Thanks Dorel
- Added descriptions in INI file to make it easier and safer to be modified.
- Migrated from smpdf to cpdf (maadjordan).
- Fixed a bug that could show optimized sizes larger than original, when the plugin execution increased it. It was only cosmetic, and optimized size, never was larger (Pepper Andrino).
- Ghostrcript is automatically disabled when no downsampling is selected, because it is always downsampling images even if -dDownsampleColorImages=false -dDownsampleGrayImages=false -dDownsampleMonoImages=false are specified (olavrb).
- Make sure TempDirectory is created to avoid certain plugins crash (Newtomic).
- Patched Guetzli and Mutool plugins to be compatible with Windows XP (thanks Jaff for the patch).
- Switched to libwebp without WIC codes to keep Windows XP compatibility (Jaff).
- Fixed not properly passing PDF profile to Ghostcript (#9 Runer112).
- Updated UPX to 3.93.
- Updated libwebp to 0.6.0 RC3.
- Updated mozjpeg to 3.2 (Thanks AiZ).
- Updated Leanify to daily binaries.
- Updated ImageMagick with HDRI support.
- Updated pingo to 0.59.
- Updated pngquant to 2.8.1 (dado023).
- Some minor optimizations and code cleanup.

9.50 - 2017/01/10
- Fixed a regression since FileOptimizer 9.30, that could avoid some plugin optimizations to not being applied (Armin Mueller, signalman).
- Fixed a bug when LogLevel was 4, when Optimized Size could be reported as 0 bytes in some situations.
- Updated pingo to 0.52c.
- Updated ImageMagick with HDRI support.
- Some minor optimizations and code cleanup.

9.40 - 2017/01/06
- Added INI setting PDFSkipLayered=false to skip processing of PDF containing layers Optional Content Groups -OCG- (Grahame Bevan).
- Implemented using Win64 plugins in all Win64 system, even if you run Win32 version of FileOptimizer.
- Added removing metadata in pngquant if PNGCopyMetadata is disabled.
- Added Guetzli to the JPEG tool chain when allow lossy compression is enabled (Jyrki Alakuijala).
- Added pingo to the JPEG and PNG toolchains when copy metadata is disabled.
- Reenabled Leanify in JPEG processing when Copy Metadata is enabled, because now we can use --jpeg-keep-all-metadata.
- Fixed crashing with temporary paths longer than 260 characters (Roman Luks).
- Updated pingo to 0.52.
- Updated libwebp to 0.5.2.
- Updated UPX to 3.92.
- Updated Leanify to daily binaries.
- Updated pngquant to 2.8.0.
- Updated to mutool 1.10a with x64 native build (thanks Dirk Paehl).
- Updated ImageMagick with HDRI support.
- Better performance updating to ASMLib 2.51 with AVX512 support.
- Updated to cppcheck 1.77.
- Updated to NSIS 3.01.
- Some minor optimizations and code cleanup.

9.30 - 2016/11/26
- Installer now supports the /AllUsers argument to install for all users instead of current user (Grahame Bevan).
- Fixed remove selected files (Shift-Del) always enabled since 9.00 when unified ribbon and regular UI (TPS).
- Added original and optimized sizes in log file (JoeW).
- Fixed a bug in mutool that prevented execution on PDF (LeTiger).
- Disabled Leanify from the JPEG, PNG and ICO toolchains when copy metadata is enabled, because it removed IPTC information (ZonaCasio).
- Updated AdvanceCOMP to 1.23.
- Updated to ECT -511fa96- x86 and x64 optimized builds (thanks Malloc Voidstar).
- Updated jsmin custom build with Visual C++ 2015.
- Updated Leanify to daily binaries.
- Updated ImageMagick with HDRI support.
- Updated PngOptimizer to 2.5.
- Updated Ghostscript to 9.20.
- Updated strip to 2.27.
- Updated to mutool 1.10RC2.
- Better performance updating to ASMLib 2.50 with AVX512 support.
- Updated to cppcheck 1.76.
- Upgraded distributions to 7-Zip 16.04.
- Some minor optimizations and code cleanup.

9.20 - 2016/10/01
- Added INI setting to add extra extensions to be threated as JSON (Oddbrother).
- Implemented several UPX compression profiles depending on optimization level (User Hunter).
- Updated ImageMagick with HDRI support.
- Updated Leanify to daily binaries.
- Upgraded distributions to 7-Zip 16.03.
- Some minor optimizations and code cleanup.

9.10 - 2016/09/17
- Added mutools (clean -ggg) to the PDF tools chain (TPS).
- Added F5 key to refresh grid contents updating original size (originfake).
- Added CTRL-F5 key to reload grid contents. It will remove already optimized items, and then do a refresh (originfake).
- Added support for Adobe Illustrator (AI) file types (maadjordan).
- Dynamically adapt instruction text, stating if files will be backuped on Recycle Bin or not, according to settings (Armin Mueller).
- Implemented heuristic detection of corrupted PDF after Ghostcript processing the encryption (Gonzalo).
- Proper wording wording for "Mb." is "MiB". Thanks to Armin Mueller for the patch (Armin Mueller).
- Fixed calling to ImageMagick that was passing incorrect switches and prevented TIFF and ICO optimization (Michael Goeller).
- Made statistics use B, KiB, MiB o GiB automatically (Armin Mueller).
- Updaded Tidy to 5.2.0 (TPS).
- Updated pngwolg-zopfil x64 to 1.1.1, avoiding 64 bit crashes on some CPU, and improving performance -Thanks Joergen Ibsen- (alex123, bob joseph).
- Removed Embarcadero's Luna, Metropolis and Windows 10 themes because they have issues with Windows 10 Anniversary and later.
- Updated jpegoptim to 1.4.4 (custom built).
- Updated ImageMagick with HDRI support.
- Some minor optimizations and code cleanup.

9.00 - 2016/08/15
- Ribbon interface is by default disabled, and replaced by traditional menus. There is a new Appearance tab under Options dialog where you can reenable it (Newtomic).
- Added context menu Open containing folder (Special).
- Now you can override virtually any INI setting thought the command-line. For instance FileOptimizer32.exe /GIFAllowLossy=true.
- Added INI option ShutdownWhenDone=false to specify the OS to shutdown as soon as optimization of all queued files is done (guindos98).
- Implemented simple command-line help when specifying /? switch.
- Enhanced update checker.
- Implemented a Statistics section that can be checked inside the Information window.
- Improved single instance detection, because it did not work properly on Vista and later (Special).
- Embarcadero themes have conflicts with Windows 10 Anniversay update, so we get back to default Windows one in 10 or later (RejZoR, TPS).
- Made abort optimization message more clearer (Louis Horvath).
- Fixed main window position not properly restored on launch (hairycactus).
- Simplified ECT multithreading, because it already knows the number of threads to use.
- Retested in Windows XP RTM, and Windows 10 Anniversary.
- Updated help file.
- Updated Leanify to daily binaries.
- Updated to ECT -ef70e0- x86 and x64 optimized builds (thanks Malloc Voidstar).
- Changed from pngwolf to pngwolf-zopfli, which gives higher rations, and a native x64 build (TPS).
- Updated ImageMagick with HDRI support.
- Updated to cppcheck 1.75.
- Some minor optimizations and code cleanup.

8.50 - 2016/08/01
- Made interface fully HDPI aware. Now it reescales according to Windows scaling (@Zeyckler).
- Added smpdf to the PDF toolchain (necros, maadjordan).
- Added OLE and OBJ files detection by content.
- Added optional GIF lossy recompression by adding Gifsicle Lossy (thanks to jibz for the binaries).
- Added INI setting GIFAllowLossy=false to enable lossy GIF optimizations (maadjordan).
- Added ECT multithreading support to make it faster with more than one core/CPU, and improve ratio with --allfilters.
- Improved UPX compresion adding --nrv2d --crp-ms=999999.
- Improved ECT compression.
- Switched jpeg-recompress method to SmallFry due to better compression ratios than SSIM, at least until it is patented.
- Replaced tidy-html5 4.9.26-191-gb4efe74 with official Tidy 5.1.14 to avoid errors on old Windows versions (maadjordan).
- Added Flash (.fla) format and enhance extension lists to the OLE tool chain (maadjordan).
- Added Revit FAmily file extensions (.rft, .rfa, .rte) to the OLE tool chain (maadjordan).
- Added more OLE extensions from .ac .adp .apr .db .opt .msc .mtw .wps .spo .sou .xla (maadjordan).
- Clarified via tooltip (hint) that Enable Tidy (HTMLEnableTidy INI setting) in the HTML options tab, applies also to SVG (maadjordan).
- Fixed some english typos (thanks Armin).
- Improved already running instances detection.
- Updated to ECT x86 and x64 optimized builds (thanks Malloc Voidstar).
- Updated ImageMagick with HDRI support.
- Updated to NSIS 3.0.

8.40 - 2016/06/17
- Added MIME (.mht .mhtml .eml .emlx .msg .mbx .vcf .vcard) support with Leanify (JoeW).
- Added optional JPEG lossy recompression by adding jpeg-recompress (maadjordan).
- Added INI setting JPEGAllowLossy=false to enable lossy JPEG optimizations (maadjordan).
- Added ZIP SFX installer detection.
- Added InstallShield Wizard and RTPatch Updater detections to exclude processing like we did with Inno Setup (ThisWillDoIt).
- Added Nullsoft Install System detections to exclude processing in EXE chain.
- Added ECT to the MP3 toolchain to optimize embedded images (Skibicki).
- Fixed a bug calling Ghostscript, that ignored parameters after dPDFSETTINGS which should made quality and size better (Skibicki #5).
- Removed generator metatag from tidy output (JoeW).
- Disabled Leanify, and PNGout for APNG because the broke optimized files in some cases (Folding Home).
- Disabled ImageWorsener for WEBP, because it is not lossless (Skibicki #9).
- Added EPRT extension (Solid Works) to ZIP chain (maadjordan).
- Added Leanify to the HTML/SVG toolchain when HTMLEnableTidy is enabled (JoeW).
- Updated Leanify to daily binaries.
- Updated donation button to use so it can accept different currencies that euros (JoeW).
- Updated pngquant to 2.7.0a.
- Updated to ECT 0.4 x86 and x64 optimized builds (thanks Malloc Voidstar).
- Updated ImageMagick with HDRI support.
- Updated to NSIS 3.0 RC1.
- Updated to cppcheck 1.74.
- Upgraded distributions to 7-Zip 16.02.
- Some minor optimizations and code cleanup.

8.30 - 2016/04/30
- Added UPX to the EXE/DLL tool chain (guindos98, necros).
- Added INI setting bEXEEnableUPX=false to enable UPX EXE compression. For instance bEXEEnableUPX=true will enable UPX processing (guindos98, necros).
- Added INI setting LeanifyIterations=-1 to specify desired Leanify iterations independently of the compression level. For instance LeanifyIterations=128 will instruct Leanify to always use 128 iterations (necros).
- Added stereo extensions: MPO (Multi Picture Object), PNS (PNG Stereo) and JPS (JPEG Stereo).
- Added LXF extension (Lego Digital Designer) to ZIP chain (Jaff).
- Tweaked ECT invoking to make it get better compression ratios (Jaff).
- Fixed ECT execution it does not use -Mx but -x instead (fhanau).
- Fixed disable ZIP recurse handling in Leanify (Jaff).
- Fixed an Embarcadero's VCL bug that caused view modes in add files Windows common dialog show strange strings (JoeW).
- Removed crop-transparency from gifsicle arguments, since it can downsize resulting GIF image, and thus not being lossless (Austin Donisan).
- Disable TruePNG on ICO files because it crashes (TPS).
- Avoid using Advzip on SFX ZIP files due to header being removed (Jaff).
- Updated AdvanceCOMP to 1.20 (Jaff).
- Updated Leanify to daily binaries.
- Updated pngquant to 2.5.2.
- Updated TruePNG to
- Updated strip to 2.26.
- Updated Ghostscript to 9.19. Please report any issue if I should revert to 9.15.
- Updated OptiPNG to 0.7.6 since Hg 20121021 is discontinued.
- Updated ImageMagick to with HDRI support.
- Updated to cppcheck 1.73.
- Some minor optimizations and code cleanup.

8.20 - 2016/02/13
- Added INI setting DisablePluginMask= to allow excluding execution of certain plugins. For instance DisablePluginMask=leanify;advpng.exe (hairycactus).
- Added INI setting AllowDuplicates=false to allow adding same file more than once. If enabled, adding to the grid will be much faster, specially on very large grids (Priit).
- Better High DPI compatibility.
- Use Windows 10 theme by default on Windows 8 and newer.
- Cleaned up JPEG options page glitches (d4k0).
- Delay load shcore.dll to avoid a C++ Builder bug on WINE (trlkly).
- Make child windows show always on top, even if main window uses AlwaysOnTop=false (hairycactus).
- Make FileOptimizer a true lossless tool by default by setting PDF Profile to none by default (RejZoR).
- Fix Windows 8.1 and later detection, by using RtlGetVersion because old previous functions (GetVersion, IsWin10OrLater, ...) only work for manifested applications.
- Fixed ZIP Leanify processing not honoring not recursing (Jaff).
- Adding files to grid is three times faster because of some refreshes removed, and other little tweaks (Priit).
- Checking for already existing files in the grid, is about 10x faster, by taking advantage of IndexOf (Priit).
- Updated to ECT 0.2.1 x86 and x64 optimized builds (thanks Malloc Voidstar).
- Updated ImageMagick to with HDRI support.
- Updated TruePNG to
- Revert to Ghostscript 9.15 since Ghostscript 9.18 crashes, and 9.16 has worse compression ratios (hairycactus).
- Updated to NSIS 3.0 beta 3.
- Updated to cppcheck 1.72.
- Some minor optimizations and code cleanup.
- Upgraded distributions to 7-Zip 15.14.

8.10 - 2015/12/26
- Enhanced GZ, JPEG and PNG compression by adding ECT 0.1 by Felix Hanau.
- Fixed Windows 10 theme (d4k0).
- Worked around a bug in C++ Builder Seattle that made executables require BORLANDMM.DLL - (d4k0).
- Fixed a problem with disabled menu items after optimization (d4k0).

8.00 - 2015/12/25
- Added Windows 10 theme, enabled by default on Windows 10 or later.
- Prevented missing BTHPROPS.CPL and BLUETOOTHAPIS.DLL error on Wine by making them delay loaded on Win32 binaries to overcome C++ Builder XE7 bug (trlkly).
- Removed custom window frame, because it was always looked black with C++ Builder 10.
- Made check for updates detect faulty routers and switches returning HTML content when no valid data connection exists (Armin Mueller).
- Added INI option TempDirectory="" to specify FileOptimizer temporary folder to use. If empty, it will use system defaults. Set it to a fast SSD drive or ramdisk to increase performance (Newtomic).
- Prevented Windows message about "Program not responding" when adding lots of files (Zulfikar Raditya Hernanta).
- Upgraded to Ghostscript 9.18.
- Updated ImageMagick to with HDRI support.
- Updated pngquant to 2.5.1.
- Updated Leanify to 0.4.3.
- Updated TruePNG to
- Updated tidy-html5 to 4.9.26-191-gb4efe74 patched to be Windows XP compatible.
- Updated libwebp to 0.4.4.
- Updated ImageWorsener to 1.3.0.
- Updated to cppcheck 1.71.
- Updated to C++ Builder 10 Seattle.
- Better performance updating to ASMLib 2.36.
- Improved setup.
- Some minor optimizations and code cleanup.
- Upgraded distributions to 7-Zip 15.12.

7.90 - 2015/08/20
- Tested to be compatible on new Microsoft Windows 10.
- Better PNG optimizations by allowing tuning TruePNG parameters, including remove metadata and lossy recompression.
- Better JPEG optimizations by allowing to run jhead when metadata should be copied too (Jaff).
- Do not convert SVG to SVGZ (JoeW).
- Updated Leanify to daily binaries.
- Updated ImageMagick to with HDRI support.
- Updated gifsicle to 1.88 (custom build).
- Updated TruePNG to
- Updated strip to 2.25.1.
- Updated to NSIS 3.0 beta 2.
- Updated custom builds with Visual C++ 2015 (gifsicle, jpegoptim, jsmin).
- Upgraded distributions to 7-Zip 15.06.

7.80 - 2015/06/01
- Fixed an incompatibility with Windows XP introduced in 7.50 by unsupported COPY_FILE_NO_BUFFERING flag that makes CopyFileEx API function fail (Vivil).
- Fixed lossy PNG optimization was performed even if "allow lossy" was unchecked (guindos98, alex, Newtomic).
- Tested over mapped and unmapped network shares.
- Keep rotation on EXIF rotated JPEG images, even if metadata is stripped (Jaff).
- Updated ImageMagick to 6.9.14.
- Updated tidy-html5 to 4.9.26-26-g9785399 patched to be Windows XP compatible.
- Updated Leanify to daily binaries.
- Updated mozjpeg to 3.10.
- Updated jpegoptim to 1.4.3 (custom built).
- Upgraded distributions to 7-Zip 15.03.

7.70 - 2015/05/17
- Added a new PNG option to optionally allow lossy PNG recompression support with pngquant 2.4.0 (Jack Cherng).
- Made higher compression profiles, optimize better at a cost of extra processing time. Now on best setting, we are using 30 zopfli iterations instead of 9 (SvenBent).
- Added MNG files detection by content.
- Added WinRAR SFX detection to exclude processing like we did with Inno Setup (SvenBent).
- Fixed regression on files with uppercase extensions, compression ratio was less than in 7.40 and before. (Jaff).
- Make child windows open on top, when always on top is checked (hairycactus).
- Do not reset column widths after minimizing window (Jaff).
- Use TMP if TEMP is not available or else use current directory to avoid issues when reading them (xezz).
- File extensions were converted to lowercase. ie: JPG to jpg (Marilyn Phillip).
- Updated jpegoptim to 1.4.3 beta (custom built).
- Updated to cppcheck 1.69.
- Some minor optimizations and code cleanup.

7.60 - 2015/04/26
- Added INI option AlwaysOnTop=false to specify if FileOptimizer main Windows should stay always on top (hairycactus).
- Updated Leanify daily binaries.
- Adding files not working for the x64 edition due to some aggressive optimizations in C++ Builder with -O3 (hairycactus).

7.50 - 2015/04/24
- Add support for files larger than 4 GB, now up to 4 TB (Spotted Cow).
- Speedup file copies by using CopyFileEx.
- Updated help file.
- PNGOUT and FLACOUT has been unpacked to avoid false positives by scary antivirus.
- Fix PDF no downsampling profile.
- Revert to Ghostscript 9.15 since Ghostscript 9.16 crashes with errorlevel 0 (everything OK), when source file name has extended characters. It worked properly on 9.15.
- Updated ImageMagick to 6.9.12.
- Some minor optimizations and code cleanup.

7.40 - 2015/04/10
- We are now checking returned errorlevels from plugins to avoid corruption such as in password protected PDF (sambufalo).
- Fixed removal of range selection of files (Dmitry).
- Make sure temporary filenames have no collisions even if original files are named the same across different folders (Dmitry).
- Updated Leanify daily binaries.
- Updated APNG Optimizer to 1.4.
- Upgraded to Ghostscript 9.16.
- Upgraded distributions to 7-Zip 15.00.
- Some minor optimizations and code cleanup.
- Upgraded to C++ Builder XE8.

7.30 - 2015/03/15
- Default optimization level is now 5: Normal, instead of 9: Best.
- Fixed wrong percent calculation (Dmitry, Spotted Cow).
- Updated PETrim to 4.00 Beta.
- Minor optimizations.

7.20 - 2015/03/13
- FileOptimizer is now able to partially detect file types by its contents instead of file extensions (BMP, DLL, FLAC, GIF, GZ, JPG, MKV, MP3, MP4, PCX, PDF, PNG, SWF, TIFF, WEBP, and ZIP). More to come later.
- Added custom PDF profile to allow specifying desired downsampling DPI (stratos chatzi, Special, Newtomic).
- Added new column extension between file and original on the grid to allow sorting by filetypes (Nico919).
- Added INI option BeepWhenDone=false to beep and notify used when optimization is complete (Special).
- Added INI option FilenameFormat=0 (0: full path+filename; 1: only filename). (To Do: 2: driveletter + “:”+partial path + filename; 3: driveletter + “:”+partial path if fits+”...” last part of filename) to specify how File grid column is displayed (Jaff).
- Information window now sorts extensions supported alphabetically, and better formats them.
- Improved window layout performance by enabling double buffering.
- Added .GALLERY, .GALLERYCOLLECTION, .GALLERYITEM, .INK, .NBK, .NOTEBOOK and *.XNK file extensions to the ZIP tool chain (maadjordan).
- Better handling of obsolete .INI preferences.
- Improved alternate colors in grid to look better on different Windows color schemes.
- Fixed wrong percentage calculation for big files due to integer overflow (Dmitry, Juan).
- Fixed grid column sorting not working properly for certain types (Nico919).
- Updated libwebp to 0.4.3.
- Updated ImageMagick to
- Updated Leanify daily binaries.
- Some minor optimizations and code cleanup.

7.10 - 2015/02/20
- Added Matroska support with mkclean for .mkv, .mka, and .mks file extensions (SpanishDogg).
- Added XML (.xml, .fb2 .xsl, .xslt) support with Leanify.
- Added LUA (.lua .luac) support with Leanify.
- Allow concurrent executions of different FileOptimizer instances over different file sets.
- Added more PDF profiles, including without downsampling, 100 dpi, 200 dpi and 600 dpi (stratos chatzi).
- Added 250 dpi setting for PDF (Special).
- Added INI option ExcludeMask="" to specify paths (folder/files) that contain it as substring will be excluded (Tomasz W.).
- Exclusion list can now optionally contain more than one substrings if separated by semicolon (;).
- Added INI option ZIPRecurse=false prevent Leanify inside ZIP files.
- Added INI option XMLEnableLeanify=false enable Leanify on XML files.
- Added INI option LUAEnableLeanify=false enable Leanify on LUA files.
- Allow optimizing JPEG files when copy metadata is enabled by using new --keep-exif switch as well as inside ZIP files (Jaff).
- Added .DEB, and .IPK file extensions to the GZ tool chain (maadjordan).
- Added .FXG and .KML file extensions to the XML tool chain (maadjordan).
- Added .BAR, .CDR, .CDT, .CSL, .DES, .FXG .IPSW, .KMZ, and .SWC file extensions to the ZIP tool chain (maadjordan).
- Disabled ImageMagick for GIF optimization because in some cases it does quantization, and so on, causes quality loss (Vivil).
- Implemented Restore defaults in options dialog to return to factory settings.
- Add preference option for ExcludeMask (Tomasz W.).
- Add option for ZIPRecurse.
- Added LUA options tab.
- Added XML options tab.
- Add hints on Options pages with supported file types.
- Made options dialog accept it faster by preventing changing the theme if not modified.
- Slightly faster startup times.
- Added Leanify to the JPEG tool chain.
- Added Leanify to the EXE tool chain.
- Added .rdb and .gft extensions to the ZIP tool chain.
- Slightly smaller PDF recompression by using dDetectDuplicateImages=true Ghostscript switch.
- Fixed log levels in Options dialog.
- Updated to jHead 3.00.
- Updated ImageMagick to
- Updated PNGOUT to 02/13/2015.
- Better quality and smaller PDF by adding -dOptimize=true -dConvertCMYKImagesToRGB=true -dColorConversionStrategy=/sRGB -dColorImageDownsampleType=/Bicubic -dGrayImageDownsampleType=/Bicubic -dMonoImageDownsampleType=/Bicubic.
- Updated TruePNG to
- Upgraded distributions to 7-Zip 9.38.
- Minor source code improvements.

7.00 - 2015/01/21
- Added FLAC compression using FLACOUT (DotDotDot).
- Added MP4 compression (.mp4 .m4a .m4b, .m4p, .m4r .m4v .acc) using mp4v2 (Francisco Eirea Bito-on).
- Added Autodesk Revit (.rvt) and Solidworks formats (.sldprt, .slddrw, .sldasm) to the OLE tool chain (maadjordan).
- Added .BSZ .GRS .ITA .MVZ .PK3 .R2SKIN .STZ .WBA extensions to ZIP toolchain (Jaff).
- Added eDrawings (easm) to the ZIP tool chain (maadjordan).
- Added SVG extension to GZ/SVG tool chain.
- Integrated Leanify compression for GZ, SWF and ZIP formats.
- Added TAR support with Leanify.
- Updated Leanify 0.4.2 daily binaries with Windows XP compatibility. Thanks JayXon.
- Added DWF extension to the ZIP tool chain (maadjordan).
- Added .ksf, .wsz, .wal, .wmz, .mdz, .miz, .s3z, .xmz, .itz, .osk, .rmskin, .mmip, .msz extensions to the ZIP toolchain (Jaff).
- Added .vlt extension to the GZ toolchain (Jaff).
- Launch TruePNG before PNGOut to improve PNG compression (trlkly).
- Added OCX and VBX extensions to the DLL toolchain.
- Improved GIF compression ratio upgrading to gifsicle 1.87 (custom build).
- Better GIF compression ratio adding --crop-transparency and if metadata should be removed --no-comments --no-extensions --no-names (Vivid).
- Unpacked TruePNG.exe to avoid false positives with Symantec AVs (LayZee).
- Improved WEBP compression ratio updating to libwebp 0.4.2.
- Improved GZ, MNG, PNG, and ZIP compression ratio updating to AdvanceCOMP 1.20 beta.
- Upgraded to Ghostscript 9.15.
- Removed ImageMagick from the JPEG toolchain because it can cause quality loss (deluge).
- Brand new plugin execution, easier to maintain, and also more efficient.
- Enhanced keep file attributes option to also restore file last access time.
- Updated APNG Optimizer to 1.3.
- Updated mozjpeg to 3.00 which improves compression ratio, and fixes Photoshop incompatibilities (Lard).
- Updated TruePNG to (Jaff).
- Updated jpegoptim to 1.4.2 (custom built) (Jaff).
- Updated ImageMagick to
- Updated PngOptimizer to 2.4.1.
- Added ini options bBMPCopyMetadata=false, bGIFCopyMetadata=false, bMiscCopyMetadata=false, bPCXCopyMetadata=false, bTIFFCopyMetadata=false to control copying metadata for other filetypes.
- Do not suffix shortcuts on the installed with x86 or x64, since only once will be available (trlkly).
- Added Leanify to PNG and ICO tool chains.
- Fixed reopening FileOptimizer when closed minimized from the taskbar (d4k0).
- Fixed Keep file attributes not properly restoring file modification timestamp (Tomasz W. and ksf).
- Skipped files now have the Skipped status in the Status column instead of Pending.
- Support Android 9-patch images by only allowing pngwolf, defluff and leanify to process them, and thus disabling advpng, deflopt, optipng, pngoptimizer, pngout, pngrewrite and truepng which seem to broke them (Tomasz W.).
- Cancel optimization is now faster.
- Remove Control+Alt+X accelerator in installer shortcuts (AdamDobay).
- Improved GUI drawing performance.
- Internal build number now matches subversion repository revision.
- Better performance updating to ASMLib 2.35.
- Updated to NSIS 3.0 beta 1.
- Removed Launch wording in installer shortcuts (David Mártínez).
- Slight WINE compatibility improvements (Jesus Alcaras).
- Make sure file still was not deleted before processing (A user).
- Launched plugins now do with the same process priority as FileOptimizer (A user).
- Small installer/uninstaller improvements.
- Upgraded to C++ Builder XE7 Update 1.
- Upgraded distributions to 7-Zip 9.35.
- cppcheck sanity fixes (Armin).
- Source code migrated to a subversion repository at

6.80 - 2014/04/28
- Added Nokia Refocus/SmartCam .NAR and Opera extensions .OEX extensions to the ZIP tool chain (Jaff).
- Added .JPE and THM extension to the JPEG tool chain (Jaff).
- Added the /y switch on TruePNG implemented in 6.70 which will cause it to ask for overwriting existing file each time the plugin was used.
- Fixed a cosmetic problem where skipped files were counted sometimes in the stats as producing a size saving.
- Minor source code improvements.

6.70 - 2014/04/27
- Faster PDF compression upgrading to Ghostscript 9.14.
- Improved deflate compression by better combining deflopt and defluff.
- Improved JPEG compression ratio including jhead.
- Improved PNG compression ratio including TruePNG.
- Improved GIF compression ratio upgrading to gifsicle 1.83 (custom build).
- Upgraded jpegoptim to 1.3.1 (custom build with libjpeg 9).
- jsmin build is now faster in both Win32 and Win64 versions.
- Updated to ImageMagick
- Fixed a bug introduced in 6.50 that could cause files with extensions longer than 3 characters to not be processed.
- Some minor optimizations and code cleanup.

6.60 - 2014/04/26
- Fixes extra title bar on Metropolis and Windows themes (trlkly).
- Reenabled jpegtran as as in 5.90 because sometimes it is better than mozjpeg (webfork).
- Installer now transparently detects OS bitness, and extracts only 32 or 64 bit binaries (trlkly).
- Unpacked mozjpeg plugin to avoid antivirus false positives (Ryan Hietpas).
- Installer version now properly registers on Add/Remove Programs.
- Upgraded to C++ Builder XE6.
- Project cleanup.

6.50 - 2014/04/15
- Added HTML optimization support with tidy-html5 (Metallicow).
- Added CSS optimization support with TidyCSS.
- Added JS optimization support with jsmin (custom built).
- Added DCX to the PCX tool chain.
- Added ini option HTMLEnableTidy=false to enable tidy-html5 when processing HTML files. When activated HTML files will be optimized, and be visually equal to the original, but may prevent the to be edited.
- Added ini option CSSEnableTidy=false to enable CSSTidy when processing CSS files. When activated CSS files will be optimized, and be visually equal to the original, but may prevent the to be edited.
- Added ini option CSSTemplate=low to set compression template in CSTidy, ranging from low (safer and less compression), to highest.
- Added ini option JSEnableJSMin=false to enable jsmin when processing JS files. When activated JS files will be optimized, and be visually equal to the original, but may prevent the to be edited.
- Added EXE options tab.
- Added HTML options tab.
- Added CSS options tab.
- Added JS options tab.
- Execute plugins passing short file names to avoid path size limitations.
- Enhanced General options tab with DoNotUseRecycleBin (DotDotDot).
- Added a Stop command to give up any pending optimization.
- Implemented a donate button in the website and in the application. Contribute with the amount you consider my work deserves.
- Reorganized help file with different sections (webfork).
- Added tooltips in ribbon buttons.
- Make about Window close with ESC and RETURN.
- Totally rewritten Messagebox management for increased accessibility and flexibility.
- Optimized internal icons.
- Replaced 7-Zip SFX installer with NSIS 3.00a2 installer (including shortcuts and uninstaller).
- Faster JPEG compression upgrading to mozjpeg 1.01 r43.
- Updated strip to 2.25.
- Upgraded to WinCHM 4.43.

6.00 - 2014/04/06
- Added PCX optimization support with PCXLite (no404error).
- Do not allow adding the same file more than once (mario lópez)
- Improved GIF compression ratio upgrading to gifsicle 1.82 (custom build).
- Compiled gifsicle with Visual C++ 2013.
- Improved JPEG compression replacing jpegtran with mozjpeg.
- Improved GZ, MNG, PNG, and ZIP compression ratio updating to AdvanceCOMP 1.19.
- Improved WEBP compression ratio updating to libwebp 0.4.0.
- libwebp changed to without WIC codes to reduce external dependencies.
- Upgraded ImageWorsener to 1.3.0.
- Upgraded to zRecompress 2.12.
- Updated to ImageMagick
- Fixed remove selected files out of bounds error.
- Windows 8.1 compatibility enhancements.
- Better performance updating to ASMLib 2.34.
- Upgraded to WinCHM 4.35.
- Upgraded distributions to 7-Zip 9.32.

5.90 - 2013/09/11
- Added ini option EXEDisablePETrim=false to disable PETrim when processing EXE files. Resulting executables will be larger, but it will prevent broking some SFX and installers as well as stripping digital signatures (Ascend4nt).
- Added ini option DoNotUseRecycleBin=false to prevent copying original files to your Recycle Bin. Be aware that enabling such option will prevent recovering original files (Runner112).
- Much improved WebP optimization by using cwebp and dwebp in libwebp (Runner112).
- Improved PDF compression upgrading to Ghostscript 9.10.
- Updated to ImageMagick

5.80 - 2013/07/30
- Added JNG to the JPEG tool chain.
- Implemented generic .aai .avs .dcx .pcc .pcx .fits .jp2 .jpc .hdr .hrz .mif .miff .mtv .otb .p7 .palm .pdb .pbm .pcd .pcds .pfm .pgm .picon .pic .pict .pnm .ppm .psb .psd .sun .vicar .viff .wbmp .xbm .xpm .xwd to the ImageMagic tool chain.
- Updated to ImageMagick
- Better performance updating to ASMLib 2.31.
- Included vcomp100.dll required by ImageMagick (Kolpotoru).
- Upgraded to C++ Builder XE4 Update 1.

5.70 - 2013/06/19
- Improved PNG compression ratio and speed updating to PngOptimizer 2.3.
- Upgraded Gifsicle to 1.71 (custom build).
- Added support for Gifsicle x64 too (custom build).
- Upgraded jpegoptim to 1.3.1 beta (custom build with libjpeg 9).
- Prevented zRecompress generating larger files.
- Closing windows is now more responsive.
- Some minor optimizations and code cleanup.

5.60 - 2013/05/01
- Added ICO PNG optimization support with ImageMagick.
- Added TIFF/FAX ZIP optimization support with ImageMagick.
- Added DIB format to the BMP chain.
- Updated ImageMagick to
- Upgraded to C++ Builder XE4.

5.50 - 2013/04/06
- Added BMP optimization support with ImageMagick (Chris Recon).
- Improved GZ, MNG, PNG, and ZIP compression ratio updating to AdvanceCOMP 1.17.
- Improved PNG compression updating pngwolf to pngwolf + zopfli (custom built
- Improved PNG compression speed removing advdef which makes no sense together with advpng.
- Improved JPEG compression updating to jpegtran 9.
- Improved GIF and JPEG compression updating to ImageMagick
- Prevent optimizing Inno Setup EXE files because they get broken with strip and PETrim,2438.0.html (Mario).
- Dynamic window title and application caption to show progress information (Jaff).
- Original size and Optimized size columns are now right aligned for better legibility (DotDotDot).
- Fixes some number formatting issues (Jaff).
- Some minor cosmetic and usability improvements.
- Other minor stability and performance improvements.

5.10 - 2013/02/25
- Improved PNG compression updating to PNGOUT 02/20/2013.
- Window properties were not properly loaded (Dr. Bhavesh).
- Make the minimized status of the ribbon permanent.
- Remove horizontal scrollbar in files grid (Dr. Bhavesh).
- Using a theme different that Windows, make drag&drop not work (Mario).
- Process Priority=Realtime and Checkforupdates=Never were not restored properly (Mario).
- Shorten manifest description (Dr. Bhavesh).
- Make ribbon load faster/refresh better (Dr. Bhavesh).

5.00 - 2013/02/17
- Improved GIF compression by adding ImageMagick.
- Improved JPEG compression by adding ImageMagick.
- Improved PDF compression upgrading to Ghostscript 9.07.
- EXE compression is now safer by removing /StripFixups:Y in PETrim.
- Upgraded ImageWorsener to 1.1.0.
- Upgraded Gifsicle to 1.70.
- New ribbon interface, just for those complaining about ugly interface. For the rest, the traditional context menu is still available, and ribbon can be minimized to save screen space.
- Implemented remove selected files option.
- Total bytes saved are now shown when finishing the optimization.
- Solved an issue with Add files dialog in Windows XP and older, by switching from TFileOpenDialog to TOpenDialog.
- Fixed a Windows Vista incompatibility (lastMonkey).
- Fixed a bug that caused the program to confirm more than one time to exit when process where still active.
- Solved some issues optimizing OBJ/o and LIB/A files.
- Prevented empty log creation in x64 build when LogLevel=0 (n6333373).
- Prevented optimized files being larger that original ones in some rare scenarios.
- Some minor cosmetic and usability improvements.
- Other minor stability and performance improvements.
- Upgraded to C++ Builder XE3 Update 2.

4.00 - 2013/01/20
- Added OBJ (OBJ, O, LIB and A) optimization support with strip.
- Improved EXE and DLL compression by adding strip.
- Added context menu for Add files.
- Added context menu for Exit.
- Added context menu for About.
- Added ini option PDFProfile=ebook|screen|printer|prepress|default to set PDF recompression profile settings.
- Added ini option LogLevel=0 to log output.
- General performance improvements by using ASMLb 2.30.
- Win64 performance improvements.
- Win64 portability enhancements.
- Other minor cosmetic and usability improvements.
- Distribution size reduced by using 7-Zip archives/SFX.

3.00 - 2012/12/30
- Added native Win64 support (FileOptimizer64.exe).
- Added ini option KeepAttributes=false to keep file attributes and timestamp after optimization.
- Added ability to optimize read-only and system files.
- Included 64 bit plugins (Ghostscript, ImageWorsener, jpegoptim, MP3packer, PngOptimizer, zRecompress).
- Win64 portability improvements.
- Upgraded to C++ Builder XE3 Update 1.

2.30 - 2012/12/01
- Improved GIF compression ratio upgrading to gifsicle 1.68.
- Compiled gifsicle with Visual C++ 2012 Update 1 (Windows XP and later compatible).
- Upgraded to zRecompress 2.11 (Windows XP and later compatible).
- Compiled jpegoptim with Visual C++ 2012 Update 1 (Windows XP and later compatible).
- Improved BMP and WEBP compression ratio upgrading to ImageWorsener 1.0.0.
- Added BMP optimization support with ImageWorsener.
- Fixed a null pointer exception in Windows XP and 2003 introduced in 2.00.
- Fixed a bug that allowed to add files with no extension at all.
- Upgraded to C++ Builder XE3 Update 1.

2.20 - 2012/11/03
- Improved PNG and APNG compression ratio upgrading to OptiPNG Hg 20121021.
- Other minor stability and performance improvements.

2.10 - 2012/09/26
- Added Microsoft OLE Compound Files (DOC, PPT, XLS, CHM, Thumbs.db, StickyNotes.snt, ...) optimization support with Document Press (maadjordan).
- Improved Office and Office 2007+ compression ratio by adding some additional file extensions
- Allow dragging files even if FileOptimizer is elevated, and source process is not.
- Added theme support (Windows, Luna -Office 2007 like-, Metropolis UI Black -Windows 8 Metro like-).
- Added ini option Theme=Windows|Luna|Metropolis UI Black to set additional themes.
- Improved WINE compatibility and appearance.
- Slightly improved command line argument handling.
- Switched back to flat Deflate on ZIP distribution file because of Deflate64 incompatibilities with Windows XP built-in ZIP extractor.

2.00 - 2012/09/23
- Improved PNG and APNG compression ratio upgrading to OptiPNG Hg 20120916.
- Improved PNG and APNG compression ratio upgrading to PngOptimizer 2.2.
- Improved APNG compression ratio upgrading to APNG Optimizer 1.2.
- Added ini option Level=9 to set recompression ratio for GIF, GZ, MNG, PNG, APNG, ZIP.
- Automatically copy processed files to Recycle Bin so you can easily restore its original versions if required.
- Added ability to preview files in grid by double clicking them.
- Implemented Windows 7 and later taskbar progress.
- Allow files grid interaction even while optimizing is in progress.
- Improved grid status column formatting to make sorting more natural.
- Improved visual appearance on rare color scheme combinations and themes.
- Enhanced status bar progress display.
- Tweaked main window components in order to better fit in low screen resolutions.
- Constrained main window minimum width and height to avoid component misplacing.
- Enhanced and updated CHM help file.
- Upgraded to C++ Builder XE3.
- Main executable file is not packed anymore due to buggy antivirus raising false positives.
- Slightly reduced ZIP distribution file by using Deflate64.

1.70 - 2012/09/07
- Improved PNG, APNG, ZIP and GZ compression ratio including defluff (m^2).
- Improved PNG and APNG compression ratio upgrading to OptiPNG Hg 20120824.
- It is possible to add files in several batches, until Optimize option is chosen.
- Updated autoupdate functionality to new home at

1.65 - 2012/09/03
- Improved APNG compression ratio enabling PngOptimizer.
- Improved MP3 compression ratio upgrading to MP3packer 2.04.
- Disabled grid selection to avoid confusion about Optimize and Delete operating against all items, or only selected ones.
- Clarified that FileOptimizer will overwrite existing files, and advise to create a backup.
- Ask user consent before enabling automatic check for updates (Skye).
- Better Win64 compatibility by dynamically loading Wow64DisableWow64FsRedirection.
- Better file type extension detection.
- Improved Windows XP and older appearance by tweaking grid odd color.
- Added ini option ProcessPriority=IDLE_PRIORITY_CLASS to set default process priority
- Added ini option CheckForUpdates to enable/disable automatic check for updates functionality.
- Added ini option GZCopyMetadata=false to enable copying GZ metadata.
- Added ini option MP3CopyMetadata=false to enable copying MP3 metadata.
- Added ini option ZIPCopyMetadata=false to enable copying ZIP metadata.
- Programmatically modify process priority (jdeleca).
- Detect number of cores in preparation for a future multithreaded version (jdeleca).

1.60 - 2012/08/28
- Added OGG optimization support with rehuff (jethro).
- Implemented automatic update check.
- Added ini option JPEGCopyMetadata=false to enable copying JPEG metadata (Stephan Busch).
- Added ini option JPEGUseArithmeticEncoding=false to enable JPEG arithmetic encoding instead of Huffman.
- Added ini option PNGCopyMetadata=false to enable copying PNG metadata.
- Dynamically load Vista and later COMCTL32.DLL, so FileOptimizer works again under Windows XP (Robert Bass / Barry).

1.51 - 2012/08/26
- Properly clean temporary file, so in extreme scenarios plugin invocation works as expected (Stephan Busch).

1.50 - 2012/08/25
- Added BMP optimization support with ImageWorsener.
- Added OGV optimization support with rehuff_theora (Stephan Busch).
- Added WEBP optimization support with ImageWorsener.
- Improved JPEG compression ratio instructing jpegtran to generate progressive images (Stephan Busch).
- Improved PNG compression by adding pngwolf (m^2).
- Improved PNG compression by adding pngrewrite (Stephan Busch).
- Improved PNG compression by adding advdef (Stephan Busch).
- Improved PNG compression by adding ImageWorsener.
- Upgraded to AdvanceCOMP 1.16 Beta (maadjordan).
- Removed advzip and DeflOpt from TIFF tool chain, since they have no effect, even on deflated TIFF (Stephan Busch).

1.40 - 2012/08/20
- Added MP3 recompression support.
- Improved ZIP compression ration upgrading to zRecompress 2.10.
- Improved APNG compression ratio by using PngOut and OptiPNG with them too.
- Improved PNG compression ratio including PngOptimizer.
- Improved PNG compression ratio by using tweaking OptiPNG parameters.
- Improved JPEG compression ratio and speed updating to jpegoptim 1.2.4 (custom built with libjpeg 8d).
- Assured that APNG files with PNG extension are properly detected regardless of the extension (maadjordan).
- Removed 3dm and sis from the ZIP chain since they are in fact deflate (maadjordan).
- Files grid column widths are now stored in the INI file in order to be permanent across executions.
- Some internal code simplification and refactorization.

1.30 - 2012/08/19
- Improved SWF and GZ compression ratio by adding my brand new zRecompress.
- Extended ZIP support to .3dm .odt .sis.
- Gathered PNGOut redistribution permission from Ardfry Imaging, LLC.

1.20 - 2012/08/16
- Added DLL optimization support.
- Improved PNG compression ratio by tweaking PNGOut and OptiPNG parameters.
- Improved MNG compression ratio by tweaking advmng parameters.
- Improved PDF compression ratio by tweaking Ghostscript parameters.
- Improved EXE compression ratio and speed by replacing GNU strip and StripReloc with PETrim.
- Improved GIF compression ratio and speed updating to Gifsicle 1.6.7 (custom built).
- Improved ZIP and GZ compression ratio and speed updating to ZLib 1.2.7.
- Slightly improved compression speed by launching plugins in quiet mode when available.
- Disabled by default JPEG arithmetic encoding, and enabled huffman optimization again, due to incompatibilities with some programs and popular request. This causes file size to reduce less.
- Bundled with CHM help file.
- Grid contents can be sorted ascending and descending by clicking on column headers.
- Better default grid columns width and number format.
- Colored rows in files grid to make it easy to read.
- Status bar with global progress and other information.
- Better Win64 compatibility.
- Prevent dragging files to the grid when there are already files.
- Gracefully exit even if there are plugin processes running.
- Make sure that resulting APNG, JPEG, PDF, and TIFF files are always smaller than original ones before overwriting them.

1.10 - 2012/08/13
- Added EXE optimization support.
- Added TIFF recompression support.
- Speedup ZIP and GZ compression by splitting it in separated paths.
- Speedup PNG compression by removing Pngcrush.
- Improved ZIP and GZ compression ratio and speed updating to ZLib 1.2.5.
- Improved PNG compression ratio by tweaking PNGOut parameters.
- Improved JPEG compression ratio by tweaking jpegtran parameters.
- Added support for Ghostscript x64 too.
- Extended ZIP support to .epub and .cbz
- Ability to automate file optimization by invoking FileOptimizer with one or more command line parameters, supporting folders to recurse or files.
- Stability and performance improvements on grid handling code.
- During compression FileOptimizer is now more responsiveness.

1.00 - 2012/08/11
- Added PDF recompression support.
- Added SWF recompression support.
- Added APNG recompression support.
- Improved JPEG compression ratio including jpegtran.
- Improved PNG/MNG/APNG compression including pngcrush..
- Extended PNG support to .ico.
- Extended ZIP support to .air .apk .appx .docm .docx .dwfx .ipa .jar .mpp .oxps .pptm .pptx .pub .vsd .xlsm .xlsx .xps .zip.

0.90 - 2012/08/09
- Initial feature complete private beta.

- Official FileOptimizer's website:

- Official author's website: