.. currentmodule:: pyfuse3
- remove support for python 3.5 (broken, out of support by python devs)
- cythonize with latest Cython 0.29.x (brings Python 3.11 support)
- use github actions for CI, remove travis-ci
- update README: minimal maintenance, not developed
- update setup.py with tested python versions
- examples/tmpfs.py: work around strange kernel behaviour (calling SETATTR after UNLINK of a (not open) file): respond with ENOENT instead of crashing.
- Add type annotations
- Passing a XATTR_CREATE or XATTR_REPLACE to setxattr() is now working correctly.
- Fix long-standing rounding error in file date handling when the nanosecond part of file dates were > 999999500.
- There is a new pyfuse3.terminate() function to gracefully end the main loop.
- No source changes. Regenerated Cython files with Cython 0.29.21 for Python 3.9 compatibility.
- Made compatible with newest Trio module.
Changed create handler to return a FileInfo struct to allow for modification of certain kernel file attributes, e.g.
direct_io
.Note that this change breaks backwards compatibility, code that depends on the old behavior needs to be changed.
Changed open handler to return the new FileInfo struct to allow for modification of certain kernel file attributes, e.g.
direct_io
.Note that this change breaks backwards compatibility, code that depends on the old behavior needs to be changed.
- Fixed a bug in the :file:`hello_asyncio.py` example.
- Fixed a bug in the :file:`tmpfs.py` and :file:`passthroughfs.py` example file systems (so rename operations no longer fail).
- Clarified that invalidate_inode may block in some circumstances.
- Added support for using the asyncio module instead of Trio.
- Fixed :file:`examples/passthroughfs.py` - was not handling readdir() correctly.
- invalidate_entry_async now accepts an additional ignore_enoent parameter. When this is set, no errors are logged if the kernel is not actually aware of the entry that should have been removed.
- Added a new syncfs function.
- First release
- pyfuse3 was forked from python-llfuse - thanks for all the work!
- If you need compatibility with Python 2.x or libfuse 2.x, you may want to take a look at python-llfuse instead.