]> git.k1024.org Git - pyxattr.git/blob - NEWS
Improve error checking in get_all()
[pyxattr.git] / NEWS
1 News
2 ====
3
4 Version 0.5.4
5 -------------
6
7 Fix memory leaks on some of the error-handling paths of the `get()`
8 function.
9
10 Version 0.5.3
11 -------------
12
13 Small optimisations release:
14
15 * ari edelkind contributed a speed-up optimisation for handling of files
16   without xattrs (which is, in general, the expected case)
17 * Jonas Borgström contributed a behaviour change to the handling of file
18   names: under Python 3 and up, unicode paths are encoded/decoded using
19   the 'surogatee' handler, instead of the 'strict' handler; while this
20   can hide encoding errors, it mirrors what Python libraries do
21   (e.g. see os.fsencode/fsdecode)
22 * Sean Patrick Santos contributed improvements to the test suite so that
23   it can be used even on files systems which have built-in attributes
24   (e.g. when using SELinux, or NFSv4); to enable this, define the
25   attributes in the TEST_IGNORE_XATTRS environment variable
26
27 Version 0.5.2
28 -------------
29
30 Bug-fix release. Thanks to Michał Górny, it looked like the library had
31 problem running under pypy, but actually there was a bug in the
32 PyArg_ParseTuple use of et# (signed vs. unsigned, and lack of compiler
33 warnings). This was fixed, and now the test suite passed with many
34 CPython versions and PyPy (version 1.9).
35
36 Version 0.5.1
37 -------------
38
39 Bug-fix release. Thanks to Dave Malcolm and his cpychecker tool, a
40 number of significant bugs (refcount leaks and potential NULL-pointer
41 dereferences) have been fixed.
42
43 Furthermore, compatibility with Python 3 has been improved; this however
44 required changing the meaning of the ``namespace`` argument to the
45 functions: if passed, None is no longer a valid value; pass an empty
46 string if (due to the structure of your program) you have to pass this
47 argument but want to specify no namespace.
48
49 Also, the project home page has changed from SourceForge to GitHub, and
50 the documentation has been converted from epydoc-based to sphinx.
51
52
53 Version 0.5
54 -----------
55
56 Implemented support for Python 3. This required a significant change to
57 the C module, hence the new version number.
58
59 Version 0.4
60 -----------
61
62 API
63 ~~~
64
65 The old functions ({get,set,list,remove}xattr) are deprecated and replaced with
66 a new API that is namespace-aware and hopefully will allow other OSes (e.g.
67 FreeBSD) to be supported more naturally.
68
69 Both the old and the new API are supported in the 0.4 versions, however users
70 are encouraged to migrate to the new API.
71
72 New features
73 ~~~~~~~~~~~~
74
75 A new bulk get function called get_all() has been added that should be somewhat
76 faster in case of querying files which have many attributes.
77
78 License
79 ~~~~~~~
80
81 Since LGPLv3 is not compatible with GPLv2 (which unfortunately I didn't realize
82 before), the license was changed to LGPLv2.1 or later.
83
84 Internals
85 ~~~~~~~~~
86
87 Unittest coverage was improved.
88
89 Version 0.3
90 -----------
91
92 * changed licence from GPL to LGPL (3 or later)
93 * changed listxattr return type from tuple to a list
94 * developer-related: added unittests
95
96 Version 0.2.2
97 -------------
98
99 * fixed listing symlink xattrs
100
101 Version 0.2.1
102 -------------
103
104 * fixed a bug when reading symlink EAs (you weren't able to
105   do it, actually)
106 * fixed a possible memory leak when the actual read of the EA
107   failed but the call to get the length of the EA didn't
108
109 .. Local Variables:
110 .. mode: rst
111 .. fill-column: 72
112 .. End: