9 Major release removing Python 2 support. This allow both code cleanup
10 and new features, such as:
12 - Support for pathlib objects in `apply_to` and `has_extended`
14 - Use of built-in C API functions for bytes/unicode/pathlib conversion
15 when dealing with file names, removing custom code (with the
18 Additionally, test suite has changed to `pytest`.
23 *released Thu, 14 Nov 2019*
27 - Switch build system to Python 3 by default (can be overridden if
29 - Internal improvements for better cpychecker support.
30 - Fix compatibility with PyPy.
31 - Test improvements (both local and on Travis), testing more variations
33 - Improve test coverage, and allow gathering test coverage results.
34 - Drop support (well, drop testing) for Python lower than 2.7.
35 - Minor documentation improvements (closes #9, #12).
40 *released Thu, 30 Apr 2015*
44 - Enable all FreeBSD versions after 7.x at level 2 (thanks to Garrett
46 - Make test suite pass under FreeBSD, which has a stricter behaviour
47 with regards to invalid ACLs (which we do exercise in the test suite),
48 thanks again to Garret for the bug reports.
53 *released Sat, 24 May 2014*
55 No visible changes release: just fix tests when running under pypy.
60 *released Sun, 13 May 2012*
62 A bug-fix only release. Critical bugs (memory leaks and possible
63 segmentation faults) have been fixed thanks to Dave Malcolm and his
64 ``cpychecker`` tool. Additionally, some compatibility issues with Python
65 3.x have been fixed (str() methods returning bytes).
67 The documentation has been improved and changed from epydoc to sphinx;
68 note however that the documentation is still auto-generated from the
71 Project reorganisation: the project home page has been moved from
72 SourceForge to GitHub.
78 *released Sun, 27 Dec 2009*
80 Added support for Python 3.x and improved support for Unicode filenames.
85 *released Sat, 28 Jun 2008*
90 Starting with this version, pylibacl is licensed under LGPL 2.1,
91 Febryary 1999 or any later versions (see README.rst and COPYING).
96 A few more Linux-specific functions:
98 - add the ACL.equiv_mode() method, which will return the equivalent
99 octal mode if this is a basic ACL and raise an IOError exception
102 - add the acl_extended(...) function, which will check if an fd or path
108 FreeBSD 7.x will have almost all the acl manipulation functions that
109 Linux has, with the exception of __getstate__/__setstate__. As a
110 workaround, use the str() and ACL(text=...) methods to pass around
111 textual representations.
116 At module level there are now a few constants exported for easy-checking
117 at runtime what features have been compiled in:
119 - HAS_ACL_FROM_MODE, denoting whether the ACL constructor supports the
122 - HAS_ACL_CHECK, denoting whether ACL instances support the check()
125 - HAS_ACL_ENTRY, denoting whether ACL manipulation is possible and the
126 Entry and Permset classes are available
128 - HAS_EXTENEDED_CHECK, denoting whether the acl_extended function is
131 - HAS_EQUIV_MODE, denoting whether ACL instances support the
137 Many functions have now unittests, which is a good thing.
143 *released Sun, 21 Oct 2007*
148 Under Linux, implement more functions from libacl:
150 - add ACL(mode=...), implementing acl_from_mode
151 - add ACL().to_any_text, implementing acl_to_any_text
152 - add ACL comparison, using acl_cmp
153 - add ACL().check, which is a more descriptive function than validate