- Update to 0.7.3
* This is a test-only changes release, removing some very old
testing for reference counts, introduced in 2012, but which
stopped working with Python 3.14 as it changed reference
counting by introducing optimizations in some cases. No need
to upgrade unless you want to make sure the test suite passes
on 3.14, and no real failures are hidden by the broken reference
testing.
* Additionally, the release enables CI on Python 3.14, thanks
Marcin Zajączkowski!
OBS-URL: https://build.opensuse.org/request/show/1297921
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylibacl?expand=0&rev=28
- update to 0.7.0:
* Important: Python 3.7 is the minimum supported version, due
to difficulty of testing old releases, and the fact that
everything older has been deprecated a long time ago
(e.g. 3.6 at the end of 2021).
* Improve error handling in some corner cases (not expected to
have any real-life impact, but who knows).
* Improved testing coverage and test infrastructure.
* Modernise parts of the C code based on recent Python version
* guidelines.
* Add a simple security policy and contribution guidelines.
- apply a manually merged version of
- Make test suite pass under FreeBSD, which has a stricter
behaviour with regards to invalid ACLs (which we do exercise
- No visible changes release: just fix tests when running under
OBS-URL: https://build.opensuse.org/request/show/1137452
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylibacl?expand=0&rev=7
* Important: Python 3.7 is the minimum supported version, due
to difficulty of testing old releases, and the fact that
everything older has been deprecated a long time ago
(e.g. 3.6 at the end of 2021).
* Improve error handling in some corner cases (not expected to
have any real-life impact, but who knows).
* Improved testing coverage and test infrastructure.
* Modernise parts of the C code based on recent Python version
* guidelines.
* Add a simple security policy and contribution guidelines.
- apply a manually merged version of
- Make test suite pass under FreeBSD, which has a stricter
behaviour with regards to invalid ACLs (which we do exercise
- No visible changes release: just fix tests when running under
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylibacl?expand=0&rev=22
- update to 0.6.0:
- Support for pathlib objects in `apply_to` and `has_extended`
functions when running with Python 3.6 and newer.
- Use of built-in C API functions for bytes/unicode/pathlib conversion
when dealing with file names, removing custom code (with the
associated benefits).
- Initialisation protocol has been changed, to disallow uninitialised
objects; this means that `__new__` will always create valid objects,
to prevent the need for checking initialisation status in all code
paths; this also (implicitly) fixes memory leaks on re-initialisation
(calling `__init__(342200246)` on an existing object) and segfaults (!) on
non-initialised object attribute access. Note ACL re-initialisation is
tricky and (still) leads to undefined behaviour of existing Entry
objects pointing to it.
- Fix another bug in ACL re-initialisation where failures would result
in invalid objects; now failed re-initialisation does not touch the
original object.
- Restore `__setstate__`/`__getstate__` support on Linux; this was
inadvertently removed due a typo(!) when adding support for it in
FreeBSD. Pickle should work again for ACL instances, although not sure
how stable this serialisation format actually is.
- Additionally, slightly change `__setstate__()` input to not allow
Unicode, since the serialisation format is an opaque binary format.
- Fix (and change) entry qualifier (which is a user/group ID) behaviour:
assume/require that uid_t/gid_t are unsigned types (they are with
glibc, MacOS and FreeBSD at least; the standard doesn't document the
signedness), and convert parsing and returning the qualifier to behave
accordingly. The breakage was most apparent on 32-bit architectures,
in which context the problem was originally reported (see issue #13).
- Added a `data` keyword argument to `ACL()`, which allows restoring an
OBS-URL: https://build.opensuse.org/request/show/965828
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylibacl?expand=0&rev=5
- Support for pathlib objects in `apply_to` and `has_extended`
functions when running with Python 3.6 and newer.
- Use of built-in C API functions for bytes/unicode/pathlib conversion
when dealing with file names, removing custom code (with the
associated benefits).
- Initialisation protocol has been changed, to disallow uninitialised
objects; this means that `__new__` will always create valid objects,
to prevent the need for checking initialisation status in all code
paths; this also (implicitly) fixes memory leaks on re-initialisation
(calling `__init__(342200246)` on an existing object) and segfaults (!) on
non-initialised object attribute access. Note ACL re-initialisation is
tricky and (still) leads to undefined behaviour of existing Entry
objects pointing to it.
- Fix another bug in ACL re-initialisation where failures would result
in invalid objects; now failed re-initialisation does not touch the
original object.
- Restore `__setstate__`/`__getstate__` support on Linux; this was
inadvertently removed due a typo(!) when adding support for it in
FreeBSD. Pickle should work again for ACL instances, although not sure
how stable this serialisation format actually is.
- Additionally, slightly change `__setstate__()` input to not allow
Unicode, since the serialisation format is an opaque binary format.
- Fix (and change) entry qualifier (which is a user/group ID) behaviour:
assume/require that uid_t/gid_t are unsigned types (they are with
glibc, MacOS and FreeBSD at least; the standard doesn't document the
signedness), and convert parsing and returning the qualifier to behave
accordingly. The breakage was most apparent on 32-bit architectures,
in which context the problem was originally reported (see issue #13).
- Added a `data` keyword argument to `ACL()`, which allows restoring an
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylibacl?expand=0&rev=17