  ES_R54 (0.7.9)
  - added recompress streams feature
  - added reassign streams feature
  - added dummy codec
  - added data transfer buffer for srep when dd# is used
  - added memory checks to ensure memory usage does not run wild
  - exectuable plugins (via xtool.ini) are no longer required when decoding if they were never used
  - internal stream deduplication now reports speed and memory usage benefits
  - configuration based plugins can now have multiple names (if multiple games use the same configuration)
  - fixed xtool crash if an incorect path for plugins was provided
  - fixed lz4/lz4hc codec bug when used directly without any plugin
  - fixed an issue where using fast-lzma2 compression would crash when decoding
  - fixed an issue in DirectStorage gdeflate codec
  - fixed an issue with execute command in stdio mode
  - deduplication memory requirements improved
  - memory optimisations
  - reduced memory requirements for large streams that require patching
  - removed ability to inject libraries to exe (buggy)
  - removed patch command (uses too much memory)
  - removed archive command (no one uses it)
  - updated oodle scanner
  - updated lz4/lz4hc universal scanner
  - updated lz4/lz4hc/lz4f codecs
  - updated zlib codec
  - updated zstd codec
  - replaced gpu caching feature with normal system memory cache (it doesn't work well on AMD gpus), use -p#
  - replaced xdelta3 with zstd patching engine
  - srep64 executable considered in x64 build of xtool

  ES_R53 (0.7.8)
  - fixed an issue where xtool would crash on Windows XP and other systems upon closure
  - memory optimisations
  - improvements with database "based" plugins

  ES_R52 (0.7.7)
  - added universal scanner for DirectStorage gdeflate streams
  - added the use of gpu for caching and virtual memory purposes
  - updated depthing feature to improve stream detection when used by plugins

  ES_R51 (0.7.6)
  - minor bug fixes

  ES_R50 (0.7.5)
  - added footer feature in configuration plugins
  - added thread priority controller via -T# parameter

  ES_R49 (0.7.4)
  - user can specify srep parameters to use via -sp#
  - updated zlib codec

  ES_R48 (0.7.3)
  - minor bug fixes

  ES_R47 (0.7.2)
  - memory usage optimizations

  ES_R46 (0.7.1)
  - fixed issues with fast-lzma2 being unable to set correct compression level
  - updated deflate stream scanner

  ES_R45 (0.7.0)
  - added ability to redirect base directory for plugins and libraries
  - added restrictions to avoid errors with experimental codecs
  - added optimize option to speed up the decoding process for zstd and oodle codecs
  - added dictionary parameter for fast-lzma2
  - added memory caching when decoding to alleviate speed bottleneck
  - fixed bug with download feature for inputs in URL format
  - fixed issues with exporting precompression database
  - fixed issues with executable plugin support
  - fixed issues advanced configuration based plugin support
  - fixed potential decoding issue upon using plugin support functions
  - fixed issues with deduplication feature
  - fixed issues with jojpeg codec
  - replaced crc32c with xxh3_128 to reduce collisions when using the database and deduplication feature
  - replaced memory manager with FastMM4-AVX to improve scaling in multi threaded scenarios
  - improved user interface
  - improved oodle codec performance for 2.6.0+ libraries
  - improved encoding speed when using internal codecs
  - improved processing speed when depth is used
  - removed fast lzma2 multi threaded decompression due to excessive memory requirements
  - removed debugging information when using the patch function
  - removed ability to toggle database feature and ability to export database files (now enabled by default)
  - updated deduplication virtual memory allocation
  - updated reflate codec to verify streams prone to data corruption

  ES_R44 (0.6.9)
  - added library checker (trial and error)
  - improved user interface
  - fixed bugs related to oodle scanner
  - skip verification no longer applies to encryption codecs

  ES_R43 (0.6.8)
  - added advanced configuration based plugin support
  - added UI mode when xtool.exe is launched with xtoolui.dll present
  - added skip verification mode
  - xtool now enforces w15 deflate stream detection by default
  - fixed oodle scanner exceptions when incomplete stream is detected
  - fixed issue with zlib codec not accepting streams from database plugins
  - updated command line syntax

  ES_R42 (0.6.7)
  - fixed oodle scanner exceptions when incorrect library is used
  - fixed issues with deduplication feature

  ES_R41 (0.6.6)
  - fixed issues with exporting precompression database
  - fixed issues with deduplication feature consuming a lot of system memory
  - fixed oodle codec from auto enabling selkie method
  - fixed reflate related checksum issues due to false positives

  ES_R40 (0.6.5)
  - updated oodle scanner
  - removed xdelta support from oodle and lzo codecs (crc mismatch often generates large diff files)

  ES_R39 (0.6.4)
  - fixed issues with lzo2a and lzo1c codecs

  ES_R38 (0.6.3)
  - added universal lz4f scanner
  - fixed issues with database feature
  - fixed issues with executable plugin support
  - updated lzo codecs

  ES_R37 (0.6.2)
  - added feature to inject libraries to main executable

  ES_R36 (0.6.1)
  - added fast lzma2 compression for portable mode
  - fixed issues with wav stream detection
  - fixed minor issue with stream deduplication feature

  ES_R35 (0.6.0)
  - added wav stream detector
  - added flac codec
  - added jpg stream detector
  - added packjpg, brunsli, jojpeg codec
  - added feature that allows input to be a directory
  - added feature to extract detected streams
  - updated database feature
  - updated deduplication feature
  - IO function decode updated

  ES_R34 (0.5.3)
  - added png stream preprocessor
  - removed grittibanzli codec (since nobody uses it)

  ES_R33 (0.5.2)
  - added IO functions (archive, execute)
  - fixed issue in patch io function
  - removed compression on patch diff files

  ES_R32 (0.5.1)
  - added IO functions (find, extract, patch)
  - generate database feature and IO functions now can search for streams larger than chunk size

  ES_R31 (0.5.0)
  - added IO functions (erase, replace)
  - fixed external executable support bugs

  ES_R30 (0.4.8)
  - fixed issue with storing incorrect recompression information when stream patching is performed

  ES_R29 (0.4.7)
  - updated oodle scanner
  - updated external executable support
  - updated configuration based plugin support to add depth information
  - updated verbose mode

  ES_R28 (0.4.6)
  - generate database feature fixed
  - fixed external executable support issues
  - fixed lz4f level setting bug

  ES_R28 (0.4.5)
  - removed leviathan codec restriction

  ES_R27 (0.4.4)
  - fixed issue of lz4 codec loading incorrect library
  - fixed issue with handling endianess via configuration based plugins
  - updated framework of library based plugins

  ES_R26 (0.4.3)
  - added verbose mode
  - added feature that allows you to enforce a different library to be loaded
  - fixed issues related to imperfect stream patching
  - fixed issues with old libraries with missing functions that cause xtool to crash on startup
  - updated oodle codec
  - updated reflate codec
  - updated zstd codec

  ES_R25 (0.4.2)
  - removed debugging code from encryption and executable codec
  - fixed issue with depth when using search codec
  - fixed external executable support issues

  ES_R24 (0.4.1)
  - fixed issue of status not reporting when encoding
  - added depth method support for search support
  - fixed zlib encoding issues for different window bits
  - fixed zlib memory leak issue
  - updated all internal codecs to support information relayed by external codecs
  - updated lz4f codec and removed temporarily removed support for universal scanning
  - added option to change recompression level to be used by reflate
  - updated external executable support
  - generate database feature currently bugged, wait for next update
  - search database structure changed, older database files will no longer work with newer releases

  ES_R23 (0.4.0)
  - project made open source
  - added external executable support
  - added generate database feature
  - fixed search support bug

  ES_R22 (0.3.22)
  - updated search support (speed improvements)
  - updated command line parser
  - added partial universal scanner for lzo1x streams
  - added universal scanner for lz4f streams
  - fixed issue with configuration files failing to execute without conditions

  ES_R21 (0.3.21)
  - updated search support

  ES_R20 (0.3.20)
  - fixed library support bug
  - x86 build discontinued (has bugs from nowhere)

  ES_R19 (0.3.19)
  - updated lzo codec

  ES_R18 (0.3.18)
  - fixed depth bug
  - fixed library plugin bugs

  ES_R17 (0.3.17)
  - fixed multi-threading bug

  ES_R16 (0.3.16)
  - minor bug fixes

  ES_R15 (0.3.15)
  - converted library support to unicode (don't know why I used ansi in the first place)
  - added library support functions
  - added rc4 encryption support

  ES_R14 (0.3.14)
  - fixed library support bug
  - updated library structure

  ES_R13 (0.3.13)
  - updated lz4 codec
  - updated library structure
  - updated depth info functions
  - updated depth feature

  ES_R12 (0.3.12)
  - added depth info functions
  - added support for oodle 2.9.0+ functions
  - fixed data patching bug
  - updated oodle codec
  - updated command line parser

  ES_R11 (0.3.11)
  - fixed x86 build bugs
  - fixed config multi-threading bug
  - fixed resource management bug
  - fixed deduplication bug

  ES_R10 (0.3.10)
  - minor bug fixes
  - added diff tolerance parameter (--diff=)
  - fixed plugin database bug
  - fixed lz4 codec bug
  - updated oodle codec
  - updated library structure
  - added resource management
  - added direct use encryption codecs
  - added embedded deduplication feature (--dedup) [makes temps during encoding]

  ES_R9 (0.3.9)
  - fixed future stream bug

  ES_R8 (0.3.8)
  - fixed command line parser bug
  - updated library support

  ES_R7 (0.3.7)
  - updated library structure

  ES_R6 (0.3.6)
  - updated oodle codec (fixed more lzna bugs)

  ES_R5 (0.3.5)
  - updated oodle codec (fixed lzna bug)
  - added custom method configuration

  ES_R4 (0.3.4)
  - fixed bug depthing

  ES_R3 (0.3.3)
  - updated lz4 codec
  - updated library support

  ES_R2 (0.3.2)
  - improved depthing
  - updated library support
  - fixed zstd codec issues
  - removed fast memory

  ES_R1 (0.3.1)
  - updated library support
  - updated command line parser
  - included x86 build
  - fixed depthing issues

  2012_R2 (0.2.14)
  - added library support
  - added compress, decompress, encrypt, decrypt, hash, delta functions (used by library)
  - added lzo codec placeholders
  - fixed oodle bug
  - fixed lz4 bug
  - removed libdunia codec

  2012_R1 (0.2.13)
  - added oo2ext* dll support
  - updated search support

  2011_R1 (0.2.12)
  - added temporary libdunia codec

  2010_R5 (0.2.11)
  - fixed search/config support bug

  2010_R4 (0.2.10)
  - updated search/config support

  2010_R3 (0.2.9)
  - added database search
  - updated zlib scanner
  - fixed reflate bug
  - fixed 2GB memory limit

  2010_R2 (0.2.8)
  - fixed zstd codec

  2010_R1 (0.2.7)
  - added zstd codec
  - added lz4, lz4hc, lzna, mermaid, selkie, hydra, leviathan codec placeholders
  - added configuration support
  - added xdelta support to handle crc mismatch streams

  2009_R3 (0.2.6)
  - documentation added

  2009_R2 (0.2.5)
  - added kraken codec
  - fixed depthing issues

  2009_R1 (0.2.4)
  - added reflate forced verification
  - updated deflate scanner
  - fixed depthing issues
  - fixed low memory mode issues
  - fixed hanging issues when encoding

  2008_R3 (0.2.3)
  - fixed deduplication memory calculation error
  - added virtual memory support for deduplication
  - added --mem=# parameter to control deduplication memory usage

  2008_R2 (0.2.2)
  - fixed command line parser
  - updated deflate scanner
  - added stream deduplication
  - added stream database
  - added decompression memory limiter
  - added grittibanzli (also handles deflate stream but slow af)

  2008_R1 (0.2.1)
  - initial release
