-
Notifications
You must be signed in to change notification settings - Fork 50
/
changelog.txt
executable file
·154 lines (136 loc) · 7.02 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
Version history:
================
---
v.1.5.1 - 2022-04-18
* New console output options: --quiet, --only-summary, and --only-progress
(kindly contributed by derenix@Github).
* Changes in requirements to allow newer versions of Python and dependencies.
---
v.1.5.0 - 2021-05-29
* Replaced temporary files with in-memory buffers which, at the expense of a
bit higher RAM usage, prevents unnecessary I/O and may result in faster
performance when working with slower disks.
* Added information about the running environment to the -v/--version CLI
argument, so that you can check which python version is being used, as well
as some information about required and optional third-party packages.
* Added a minimum space saving threshold (1% per file). Files are only replaced
if the space saved is at least 1% of the original file size. Contributed by
varnav@GitHub.
* Added a check for the presence of the required package Piexif.
* Added new methods intended to allow optimize-images to be imported and used
as a package. The initial refactoring was kindly contributed by Tharindu N.
(truethari@GitHub)
* Added custom exceptions to better support the public API.
---
v.1.4.0 - 2020-11-01
* New feature: watch a directory for changes and optimize any new image file as
soon as it is created (no multiprocessing for now, sorry). This feature is
not compatible with Pythonista for iOS, since it requires a third-party
package called Watchdog, which is currently not available on Pythonista).
* Long running tasks, like optimizing recursively a folder containing a large
number of image files, or watching for new files a a directory, can now be
interrupted by the user with CTRL+C. Instead of an ugly traceback, the final
report is presented with the usual statistics for the images that were
processed.
* Added the ability to specify the number of tasks to run simultaneously, so
that you can optionally limit the number of processor cores being used by
this application and keep in reserve some CPU power for any other tasks.
---
v.1.3.6 - 2020-08-02
* Fixed a UnicodeEncodeError that would occur in some environments when
printing Emoji to screen (Windows, Haiku, maybe others).
* Fixed a strange multiprocessing error that apparently only occured on... you
guessed (yeah, Windows, we are looking at you!...).
* Improved stability on format detection.
---
v.1.3.5 - 2020-04-07
* Fixed a small bug in unsupported image format treatment.
* Added experimental support for MPO images, which are now treated as JPEG
image files (if multiple pictures are present in one MPO file, only the first
one will be processed).
---
v.1.3.4 - 2020-02-19
* Ignore unsupported image formats, contributed by Petro (liashchynskyi@GitHub).
* Added brief instructions (and a script for macOS) for Pillow-SIMD
installation, as a faster alternative to Pillow.
---
v.1.3.3 - 2019-08-06
* Any temporary files (e.g.: '~temp~filename.jpg') created by this utility
are now ignored, to avoid stepping on its own feet. As a side effect, if
you have the strange habit of naming your image files ~temp~something.xxx,
they will also be ignored. So, please get a better naming scheme until we
come out with a better solution. ;-)
* Trying to run optimize-images without Pillow installed now results in a
simple message being printed out to the screen, instead of a full exception
traceback.
---
v.1.3.2 - 2019-06-27
* Added a symbol legend to the beginning of the optimization report, so that
the user knows what each symbol means.
* Fixed a UnicodeEncodeError that would occur in some environments when
printing Emoji to screen.
---
v.1.3.1 - 2019-05-03
* Fixed a PermissionError that would occur when trying to optimize a single
image in the current directory without explicitly specifying its path.
* Added basic Exception handling for piexif related instructions. This is a
temporary solution that should silence, for now, some errors related to
issue #3 but we should still check if we can provide a more specific
treatment for those piexif exceptions. We still have a few TODO items
related to issue #3. Let's hope they can be addressed in the next release.
---
v.1.3 - 2018-10-10
* Added dynamic (variable) JPG quality setting.
* Some code cleaning.
---
v.1.2 - 2018-08-27 - Finally available at PyPI.org!
* Adding a new big feature: "convert big PNG files to JPG format"
* Added also an option to convert all PNG files to JPEG format.
* Added a new option to set background color while doing any PNG operations
that remove transparency (convert big and reduce colors).
* Adding an option to set background color in hexadecimal mode (like in HTML).
* Added an option to convert to grayscale.
* Added an option to ignore file size comparison between original and
processed files, allowing to always save anyway the processed version.
* Added new palette rebuild step for indexed color images (creates images that
may then be compressed more efficiently using other tools).
* Added a new "fast mode", that currently skips the (also recently
implemented) palette rebuild step.
* Changed the transparency removal algorithm to something better.
* Created some global constants for iOS console and thread settings.
* Created a global constant for JPEG quality and raised the default to 80.
* Adjustments in the downsizing code to better produce the expected behavior.
* Refactored module into a full package and created the `setup.py` file.
* Added Portuguese version of the documentation.
* Other minor changes.
---
v.1.1.1 - 2018-06-24
* Bug fix in single image optimization.
---
v.1.1 - 2018-06-24
* Added new options to allow downsizing of images to a maximum width and/or
height before applying any other optimization (guess what? It really makes
a huge difference in file sizes…).
* Added a new option to keep EXIF data in JPEG images (by default, it will
be discarded).
* Added a new CLI argument to display current version.
* Added a new CLI argument to display a list of the currently supported image
formats.
* Added some bigger JPEG photos with EXIF to text-images.zip.
---
v.1.0 - 2018-06-20 (First public release)
* No special dependencies, besides PIL/Pillow (this enables full compatibility
with iPhones and iPads running Pythonista 3)
* Basic CLI argument parsing, with separate groups of arguments for JPEG and
PNG images.
* Multiprocessing support on multicore and multiprocessor computers for really
fast operation.
* Multithreading support on Pythonista/iOS, for slightly improved performance
(too bad, multiprocessing is currently not supported on that environment).
* Supports optimization of both folders and individual files.
* Option to avoid recursion into subdirectories (by default, it will recurse).
* Option for manually setting JPEG quality (by default, 70%).
* Option for reducing the number of colors by applying adaptive palette to PNG
images (by default, 256 colors).
* Option for manually setting a different maximum number of colors while
reducing colors.