]> git.k1024.org Git - pylibacl.git/blob - NEWS
Change Entry initialisation protocol
[pylibacl.git] / NEWS
1 News
2 ====
3
4 Version 0.6.0
5 -------------
6
7 *unreleased*
8
9 Major release removing Python 2 support. This allow both code cleanup
10 and new features, such as:
11
12 - Support for pathlib objects in `apply_to` and `has_extended`
13   functions.
14 - Use of built-in C API functions for bytes/unicode/pathlib conversion
15   when dealing with file names, removing custom code (with the
16   associated benefits).
17
18 Important API changes/bug fixes:
19
20 - Initialisation protocol has been changed, to disallow uninitialised
21   objects; this means that `__new__` will always create valid objects,
22   to prevent the need for checking initialisation status in all code
23   paths; this also (implicitly) fixes memory leaks on re-initialisation
24   (calling `__init__(…)` on an existing object) and segfaults (!) on
25   non-initialised object attribute access.
26
27 Additionally, test suite has changed to `pytest`.
28
29 Version 0.5.4
30 -------------
31
32 *released Thu, 14 Nov 2019*
33
34 Maintenance release:
35
36 - Switch build system to Python 3 by default (can be overridden if
37   needed).
38 - Internal improvements for better cpychecker support.
39 - Fix compatibility with PyPy.
40 - Test improvements (both local and on Travis), testing more variations
41   (debug, PyPy).
42 - Improve test coverage, and allow gathering test coverage results.
43 - Drop support (well, drop testing) for Python lower than 2.7.
44 - Minor documentation improvements (closes #9, #12).
45
46 Version 0.5.3
47 -------------
48
49 *released Thu, 30 Apr 2015*
50
51 FreeBSD fixes:
52
53 - Enable all FreeBSD versions after 7.x at level 2 (thanks to Garrett
54   Cooper).
55 - Make test suite pass under FreeBSD, which has a stricter behaviour
56   with regards to invalid ACLs (which we do exercise in the test suite),
57   thanks again to Garret for the bug reports.
58
59 Version 0.5.2
60 -------------
61
62 *released Sat, 24 May 2014*
63
64 No visible changes release: just fix tests when running under pypy.
65
66 Version 0.5.1
67 -------------
68
69 *released Sun, 13 May 2012*
70
71 A bug-fix only release. Critical bugs (memory leaks and possible
72 segmentation faults) have been fixed thanks to Dave Malcolm and his
73 ``cpychecker`` tool. Additionally, some compatibility issues with Python
74 3.x have been fixed (str() methods returning bytes).
75
76 The documentation has been improved and changed from epydoc to sphinx;
77 note however that the documentation is still auto-generated from the
78 docstrings.
79
80 Project reorganisation: the project home page has been moved from
81 SourceForge to GitHub.
82
83
84 Version 0.5
85 -----------
86
87 *released Sun, 27 Dec 2009*
88
89 Added support for Python 3.x and improved support for Unicode filenames.
90
91 Version 0.4
92 -----------
93
94 *released Sat, 28 Jun 2008*
95
96 License
97 ~~~~~~~
98
99 Starting with this version, pylibacl is licensed under LGPL 2.1,
100 Febryary 1999 or any later versions (see README.rst and COPYING).
101
102 Linux support
103 ~~~~~~~~~~~~~
104
105 A few more Linux-specific functions:
106
107 - add the ACL.equiv_mode() method, which will return the equivalent
108   octal mode if this is a basic ACL and raise an IOError exception
109   otherwise
110
111 - add the acl_extended(...) function, which will check if an fd or path
112   has an extended ACL
113
114 FreeBSD support
115 ~~~~~~~~~~~~~~~
116
117 FreeBSD 7.x will have almost all the acl manipulation functions that
118 Linux has, with the exception of __getstate__/__setstate__. As a
119 workaround, use the str() and ACL(text=...) methods to pass around
120 textual representations.
121
122 Interface
123 ~~~~~~~~~
124
125 At module level there are now a few constants exported for easy-checking
126 at runtime what features have been compiled in:
127
128 - HAS_ACL_FROM_MODE, denoting whether the ACL constructor supports the
129   mode=0xxx parameter
130
131 - HAS_ACL_CHECK, denoting whether ACL instances support the check()
132   method
133
134 - HAS_ACL_ENTRY, denoting whether ACL manipulation is possible and the
135   Entry and Permset classes are available
136
137 - HAS_EXTENEDED_CHECK, denoting whether the acl_extended function is
138   supported
139
140 - HAS_EQUIV_MODE, denoting whether ACL instances support the
141   equiv_mode() method
142
143 Internals
144 ~~~~~~~~~
145
146 Many functions have now unittests, which is a good thing.
147
148
149 Version 0.3
150 -----------
151
152 *released Sun, 21 Oct 2007*
153
154 Linux support
155 ~~~~~~~~~~~~~
156
157 Under Linux, implement more functions from libacl:
158
159 - add ACL(mode=...), implementing acl_from_mode
160 - add ACL().to_any_text, implementing acl_to_any_text
161 - add ACL comparison, using acl_cmp
162 - add ACL().check, which is a more descriptive function than validate
163
164 .. Local Variables:
165 .. mode: rst
166 .. fill-column: 72
167 .. End: