-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG.txt
197 lines (156 loc) · 7.33 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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
python-exiv2 - Python interface to libexiv2
http://github.com/jim-easterbrook/python-exiv2
Copyright (C) 2022-24 Jim Easterbrook jim@jim-easterbrook.me.uk
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
<http://www.gnu.org/licenses/>.
Changes in v0.17.1:
1/ Fix crash when using localised exceptions on Windows.
Changes in v0.17.0:
1/ API change: derived classes of BasicIo are omitted from Python.
2/ Binary wheels incorporate libexiv2 v0.28.3.
3/ enableBMFF() function is deprecated.
4/ Documentation is available on https://python-exiv2.readthedocs.io/
5/ Improved handling of Windows code page character sets.
Changes in v0.16.3:
1/ Binary wheels incorporate libexiv2 v0.28.2.
Changes in v0.16.2:
1/ Removed AnyError alias of Exiv2Error exception.
2/ Metadatum.print() method is no longer renamed to _print.
3/ Improved handling of enums:
1/ Enum results are returned as Python enum instead of int.
2/ Passing ints as enum parameters is deprecated.
4/ Added dict-like behaviour to "data" structs.
5/ Log handlers can be set/cleared from Python.
6/ Made docs available on readthedocs.org
7/ SWIG v4.1.0 or later required to run SWIG.
8/ Binary wheels incorporate libexiv2 v0.27.7.
Changes in v0.16.1:
1/ Binary wheels incorporate libexiv2 v0.27.7.
Changes in v0.16.0:
1/ Binary wheels incorporate libexiv2 v0.28.1.
2/ Include native language support in Windows binary wheel builds.
3/ API change: DateValue.getDate() returns Python dict.
4/ API change: TimeValue.getTime() returns Python dict.
5/ Deprecated: exiv2.Date and exiv2.Time objects.
6/ Added buffer interface to PreviewImage
7/ Set datum value from Python object directly instead of via string.
8/ Moved Position enum to BasicIo class.
9/ Moved CharsetId enum to CommentValue class.
10/ Moved XmpArrayType and XmpStruct enums to XmpValue class.
11/ Added enums for LogMsg.Level
12/ More exiv2 structs are iterable for easy conversion to Python dict.
Changes in v0.15.0:
1/ Added __version_tuple__ for easy runtime version testing.
2/ exiv2.testVersion() can be called from Python.
3/ exiv2.DataBuf can be created from Python data.
4/ Most data() methods return a Python memoryview.
5/ exiv2.DataBuf and exiv2.BasicIo have writeable Python buffer interface.
Changes in v0.14.1:
1/ Update libexiv2 to 0.27.7 in binary wheels.
Changes in v0.14.0:
1/ Added enums for XmpStruct and XmpArrayType
2/ Added method for copy-free access to XmpTextValue raw data.
Changes in v0.13.2:
1/ Fix occasional segfault with Image.io() of in-memory image data.
Changes in v0.13.1:
1/ Add data() method to access Exiv2::StringValueBase raw bytes.
2/ Update libexiv2 to 0.27.6 in binary wheels.
3/ Enable video support in binary wheels.
Changes in v0.13.0:
1/ Automatically cast Exiv2::Value return values to correct type.
2/ Exiv2::byte* return values are converted to a simple buffer object.
3/ Deprecated some superseded features. Use 'python -Wd' when testing.
4/ Exiv2's Date & Time structs can be used from Python.
5/ Removed Value.downCast methods deprecated in v0.7.0.
6/ Reduced probability of segfaults by keeping references to other objects.
Changes in v0.12.1:
1/ Fix iterator bug introduced in v0.10.0. (Issue #7.)
Changes in v0.12.0:
1/ Enable passing Python buffer to Exiv2::DataValue constructor.
2/ Enable passing Python buffer to Exiv2::Value copy() methods.
Changes in v0.11.3:
1/ Fix localisation initialisation problem on MacOS.
Changes in v0.11.2:
1/ Prevent PY_SSIZE_T_CLEAN warning / error in Python 3.8 and above.
Changes in v0.11.1:
1/ Improved initialisation of localisation.
Changes in v0.11.0:
1/ Changed PyPI package name from python-exiv2 to exiv2.
2/ Simplified some data iterators and function return values.
Changes in v0.10.0:
1/ API change: replaced Value += operator with append method.
2/ Improved conversion of LangAltValue to/from Python dict.
3/ Can construct some other values from a Python list.
4/ AnyError exception renamed to Exiv2Error (with AnyError wrapper for
compatibility).
5/ Enabled localisation of error messages etc.
6/ Python enum class is used for Exiv2 enums.
Changes in v0.9.0:
1/ Add Exiv2::BasicIo and its subclasses to Python interface.
Changes in v0.8.3:
1/ Xmp LangAlt values can be accessed like a Python dict.
2/ Binary wheels are built with BMFF file support enabled.
Changes in v0.8.2:
1/ No longer detect possible iterator invalidation (unreliable).
2/ Restructured macros to give slightly less bloated code.
Changes in v0.8.1:
1/ Fix some causes of segfaults.
2/ Slightly change output of Metadatum.__str__().
Changes in v0.8.0:
1/ Data iterators include checks for end of data and changed data so are less
likely to segfault.
2/ Added indexing to data values to access fundamental types such as int.
3/ API change: removed access to value_ container in data values.
Changes in v0.7.0:
1/ Add a constructor to Value subclasses that downcasts a Value.
2/ Deprecated the Value subclass downCast() static method.
3/ Include enableBMFF function when libexiv2 version >= 0.27.4.
Changes in v0.6.0:
1/ Add Exiv2::PreviewManager to Python interface.
Changes in v0.5.3:
1/ Binary wheels use libexiv2 version 0.27.5.
Changes in v0.5.2:
1/ Fix several memory leaks.
2/ Create binary wheels for MacOS (as well as Linux and Windows).
3/ Fix problems installing on MSYS2 / MinGW.
Changes in v0.5.1:
1/ Fix undefined symbol problem with Linux binary wheels.
2/ XmpProperties.registeredNamespaces() returns a Python dict.
Changes in v0.5.0:
1/ API change: data iterators no longer have a "curr" method, as all the
methods of the datum it returned are directly accessible.
2/ The BasicIo class and its subclasses are no longer available from Python.
Changes in v0.4.0:
1/ "Easy Access" functions have been added to the interface.
2/ Some unlikely to be used classes and functions have been removed from the
interface.
3/ MinGW installation is now more likely to work.
Changes in v0.3.1:
1/ Windows: file names can include non-ascii characters.
2/ Linux: improved linking of libexiv2.so when it's included in Python
package.
3/ Include SWIG generated code for more versions of libexiv2.
Changes in v0.3.0:
1/ Most enums are now in Python objects instead of exiv2 toplevel.
2/ Some exiv2 library calls now allow Python threads to run while they are
running.
Changes in v0.2.3:
1/ Python "wheels" are now available for Linux Python 3.6 to 3.10
Changes in v0.2.2:
1/ Python "wheels" are now available for Windows Python 3.5 to 3.9
Changes in v0.2.1:
1/ Fix symlink problem when installing on Windows.
Changes in v0.2.0:
1/ "Source" distribution now includes pre-built libexiv2 library and headers.
2/ Installation might work on MacOS. (Untested as I don't have a Mac.)
Changes in v0.1.0:
1/ First release!