December 13th, 2011· Fix allocation in runtime stub for darwin.macho-entry (i386 and amd64).
· Compress shared library on ELF i386 only [ld.so threatens even this case].
· Attempt to suport ELF on QNX 6.3.0 for armel (experimental).
· Better diagnostic when ELF -fPIC is needed.
· PT_NOTE improvements for *BSD.
· Preserve more ELF .e_flags on ARM.
· Minor code improvements for ELF stubs
· Defend against another flavor of corrupt PE header.
· bug fixes
December 13th, 2011· win32/pe: fixed relocation handling for files with *no* TLS callbacks
December 13th, 2011· win32/pe: TLS callback support
· bug fixes
April 28th, 2010· optional LZMA compression
· support for BSD systems
May 2nd, 2007· Optional LZMA compression
· Support for BSD systems
November 21st, 2006· bvmlinuz/386: fix for kernels not at 0x100000; also allow x86_64
· linux/elf386: work around Linux kernel bug (0-length .bss needs PF_W)
June 7th, 2006· * arm/pe: better DLL support
· * dos/exe: device driver support added
· * linux/386: Fix --force-execve for PaX, grSecurity, and strict SELinux.
· /tmp must support execve(); therefore /tmp cannot be mounted 'noexec'.
· * win32/pe & arm/pe: added new option '--keep-resource=' for excluding selected resources from compression
What's new in UPX 2.0:
April 29th, 2006· new format: added support for arm/pe (ARM executables running on WinCE)
· new format: added support for linux elf/amd64
· new format: added support for linux elf/ppc32
· new format: added support for mach/ppc32 (Apple Mac OS X)
· new format: added support for bootable Linux kernels ("vmlinuz/386")
· new format: added support for Playstation exes ("ps1/exe")
· slightly better compression using the new NRV2E algorithm
· new options for compression tuning (e.g. '--brute')
· improved win32/pe compatibility
· direct ELF-to-memory decompression
· various bug fixes