README 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. Jpegoptim v1.5.6beta - Copyright (C) Timo Kokkonen, 1996-2025. All Rights Reserved.
  2. REQUIREMENTS
  3. Independent JPEG Group's jpeg library (libjpeg) version 6b or later.
  4. (Alternatively should also work with libjpeg-turbo or mozjpeg)
  5. TESTED PLATFORMS
  6. Linux
  7. MacOS
  8. Windows (setargv.obj "link option" is needed for wildcards expansion to work)
  9. INSTALLATION
  10. Installation should be very straightforward, just unpack the
  11. tar file, make necessary changes to the Makefile, and then
  12. compile the program. You may wanna do something like this:
  13. tar xzvf jpegoptim-1.5.6.tar.gz
  14. cd jpegoptim-1.5.6
  15. ./configure
  16. make
  17. make strip
  18. make install
  19. HISTORY
  20. v1.5.6 - add new option -r, --retry,
  21. add new option --save-extra,
  22. add new option --auto-mode,
  23. processing image from standard input now behaves same like from a file,
  24. other minor fixes
  25. v1.5.5 - improved JFIF handling (it should not longer get added
  26. in some instances if it was not present in original),
  27. new options --keep-jfif and --strip-jfif,
  28. other minor fixes
  29. v1.5.4 - make sure JPEG mode (progressive vs non-progressive) is
  30. preserved by default,
  31. fix parallel processing when reading file list
  32. (thanks to Cubittus)
  33. v1.5.3 - fix potential heap-buffer-overflow (read) when using
  34. stdin/stdout and processing corrupt JPEG
  35. v1.5.2 - add support for reading list of files to process from a file
  36. (--files-from) or from standard input (--files-stdin),
  37. improved JPEG marker reporting,
  38. fix -d, --dest option (thanks to Almas Kunapyanov),
  39. other minor fixes
  40. v1.5.1 - fix logging to stdout when --stdout is used *thanks to Eta,
  41. improved CMake support (and Github CI stuff) *thanks to Eta,
  42. update --treshold option accept decimal numbers as parameter,
  43. fix crashes when processing certain broken JPEG images,
  44. fix memory leaks,
  45. fix (logging) output in parallel processing mode
  46. v1.5.0 - add --workers=<max> option to enable parallel processing
  47. fix --stdin option,
  48. other minor fixes
  49. v1.4.7 - experimental support for arithmetic coding (enable with
  50. configure option --with-arith),
  51. add option --nofix,
  52. add support for JFIF Extension (JFXX) markers,
  53. support for nanosecond timestamps (thanks to GerbilSoft),
  54. optimization now works same with stdin as with standard files,
  55. fixed --size (-S) option not working correctly when processing
  56. multiple files,
  57. new --keep-* options to use with --strip-all (see man page),
  58. other minor fixes
  59. v1.4.6 - fix double free introduced in previous release
  60. v1.4.5 - fix --overwrite option,
  61. better error reporting for -d option,
  62. fix memcmp() potentially reading past end of buffer,
  63. some minor fixes
  64. v1.4.4 - more detailed error messages (thanks to Denis Fateyev),
  65. CMake support (thanks to Ghostkeeper),
  66. other minor fixes
  67. v1.4.3 - fix bug that could cause jpegoptim crash when processing
  68. certain jpeg files
  69. v1.4.2 - add option -P, --preserve-perms,
  70. some minor fixes
  71. v1.4.1 - fix --stdin option (assume -f when reading from stdin),
  72. workaround to bug in libjpeg-turbo (v1.3.1) triggered
  73. when option -V or --version was used,
  74. other minor fixes
  75. v1.4.0 - use memory (instead of temporary files) during optimization,
  76. support for reading input from stdin (and sending output to
  77. stdout),
  78. report also libjpeg version when --version option used,
  79. new option --strip-none to preserve "all" markers,
  80. other minor fixes & cleanup
  81. v1.3.1 - XMP marker support and new --csv option (by Matteo Croce),
  82. use DESTDIR instead of INSTALL_ROOT (by Samuli Suominen),
  83. changes to make compiling under Win32 and Win64
  84. easier (thanks to Javier Gutiérrez),
  85. preserve permissions of files being optimized,
  86. skip symlinks (and other special files),
  87. other minor fixes
  88. v1.3.0 - support for progressive jpegs added (fixes long standing
  89. "bug" of progressive jpegs becoming non-progressive during
  90. optimization),
  91. new options --all-normal & --all-progressive for
  92. converting jpegs to non-progressive & progressive,
  93. new -S / --size option to set target size for output
  94. file (enables lossy optimization),
  95. updated GPL/Copyrights language (thanks to Nicolas Vieville)
  96. v1.2.5 - safer temp file handling (if mkstemps() available),
  97. patch to make "quiet mode" (-q) be quiet by Mathieu Malaterre
  98. v1.2.4 - new -T / --threshold option by Matteo Croce,
  99. minor fixes (potential memory leaks),
  100. merged some patches from Debian jpegoptim package (1.2.3-2)
  101. v1.2.3 - IPTC marker support by Dustin Ward,
  102. ICC profile support by Dwight Kelly,
  103. minor fixes
  104. v1.2.2 - Now Exif and COM markers are not discarded
  105. (all other markers are discarded as before).
  106. New options --strip-all, --strip-exif, and --strip-com
  107. added for controlling what markers to strip.
  108. v1.2.1 - fixed buggy temp file handling
  109. v1.2.0 - Added new options --overwrite and --preserve.
  110. GNU autoconf support added, also.
  111. v1.1 - new -f option, and other minor changes, improved
  112. support for other platforms
  113. v1.0a - some changes in docs & makefile
  114. v1.0 - first public release
  115. LATEST VERSION
  116. Latest version is always available from:
  117. http://www.iki.fi/tjko/projects.html
  118. Sources (GIT)
  119. https://github.com/tjko/jpegoptim
  120. ACKNOWLEDGEMENT
  121. This software is based in part on the work of the Independent JPEG Group.
  122. SPONSORS
  123. Special thanks for following Github Sponsors that have supported jpegoptim:
  124. - midir99
  125. Timo <tjko@iki.fi>
  126. 04-Feb-2025