Current File : //proc/thread-self/root/usr/share/doc/python3-llfuse/html/changes.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Changelog — Python-LLFUSE 1.3.6 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.3.6',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="top" title="Python-LLFUSE 1.3.6 documentation" href="index.html" />
<link rel="prev" title="Example File Systems" href="example.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="example.html" title="Example File Systems"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Python-LLFUSE 1.3.6 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="changelog">
<h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
<div class="section" id="release-1-3-6-2019-02-14">
<h2>Release 1.3.6 (2019-02-14)<a class="headerlink" href="#release-1-3-6-2019-02-14" title="Permalink to this headline">¶</a></h2>
<p>Python-LLFUSE is no longer actively maintained. Unless you are stuck
with Python 2.x or libfuse 2.x, we recommended to use the <a href="#id1"><span class="problematic" id="id2">pyfuse3_</span></a>
module instead.</p>
</div>
<div class="section" id="release-1-3-5-2018-08-30">
<h2>Release 1.3.5 (2018-08-30)<a class="headerlink" href="#release-1-3-5-2018-08-30" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Add <code class="xref py py-obj docutils literal"><span class="pre">handle_signals</span></code> option to <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal"><span class="pre">llfuse.main</span></code></a></li>
<li>Several fixes to <code class="xref py py-obj docutils literal"><span class="pre">examples/passthroughfs.py</span></code></li>
<li>Now compatible with Python 3.7</li>
</ul>
</div>
<div class="section" id="release-1-3-4-2018-04-29">
<h2>Release 1.3.4 (2018-04-29)<a class="headerlink" href="#release-1-3-4-2018-04-29" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>No-change rebuild with Cython 0.28.2.</li>
</ul>
</div>
<div class="section" id="release-1-3-3-2018-03-31">
<h2>Release 1.3.3 (2018-03-31)<a class="headerlink" href="#release-1-3-3-2018-03-31" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Dropped pytest-catchlog dependency and add support for Pytest 3.3.0.</li>
<li>Minor bugfixes.</li>
</ul>
</div>
<div class="section" id="release-1-3-2-2017-11-13">
<h2>Release 1.3.2 (2017-11-13)<a class="headerlink" href="#release-1-3-2-2017-11-13" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Minor bugfixes.</li>
</ul>
</div>
<div class="section" id="release-1-3-1-2017-09-22">
<h2>Release 1.3.1 (2017-09-22)<a class="headerlink" href="#release-1-3-1-2017-09-22" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>The main loop now terminates properly again when terminated
by a signal.</li>
</ul>
</div>
<div class="section" id="release-1-3-2017-09-15">
<h2>Release 1.3 (2017-09-15)<a class="headerlink" href="#release-1-3-2017-09-15" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>The <a class="reference internal" href="data.html#llfuse.StatvfsData" title="llfuse.StatvfsData"><code class="xref py py-obj docutils literal"><span class="pre">StatvfsData</span></code></a> class now has an <code class="xref py py-obj docutils literal"><span class="pre">~StatvfsData.f_namemax</span></code>
attribute.</li>
<li><a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">EntryAttributes</span></code></a> and <a class="reference internal" href="data.html#llfuse.StatvfsData" title="llfuse.StatvfsData"><code class="xref py py-obj docutils literal"><span class="pre">StatvfsData</span></code></a> instances can now be pickled and
copied. Other llfuse classes now raise an exception when the do not
support pickling/copying.</li>
</ul>
</div>
<div class="section" id="release-1-2-2017-01-22">
<h2>Release 1.2 (2017-01-22)<a class="headerlink" href="#release-1-2-2017-01-22" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">The <em>attr</em> argument of the <a class="reference internal" href="operations.html#llfuse.Operations.setattr" title="llfuse.Operations.setattr"><code class="xref py py-obj docutils literal"><span class="pre">setattr</span></code></a> handler now
contains valid values only for the attributes that are to be set.</p>
<p>Previously, the documentation assorted that other attributes would
be set to the original (unchanged) values. However, that was
actually never the case.</p>
</li>
</ul>
</div>
<div class="section" id="release-1-1-1-2016-07-27">
<h2>Release 1.1.1 (2016-07-27)<a class="headerlink" href="#release-1-1-1-2016-07-27" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Fixed the description of the <a class="reference internal" href="operations.html#llfuse.Operations.lookup" title="llfuse.Operations.lookup"><code class="xref py py-obj docutils literal"><span class="pre">lookup</span></code></a> handler (should
return zero if there is no such entry, not a negative value).</li>
<li>Fixed the description of the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">EntryAttributes</span></code></a> structure
(descriptions of <a class="reference internal" href="data.html#llfuse.EntryAttributes.attr_timeout" title="llfuse.EntryAttributes.attr_timeout"><code class="xref py py-obj docutils literal"><span class="pre">attr_timeout</span></code></a> and
<a class="reference internal" href="data.html#llfuse.EntryAttributes.entry_timeout" title="llfuse.EntryAttributes.entry_timeout"><code class="xref py py-obj docutils literal"><span class="pre">entry_timeout</span></code></a> were switched).</li>
</ul>
</div>
<div class="section" id="release-1-1-2016-05-23">
<h2>Release 1.1 (2016-05-23)<a class="headerlink" href="#release-1-1-2016-05-23" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Added support for nanosecond resolution time-stamps in GNU/kFreeBSD.</li>
<li>Fixed another set of build issues on FreeBSD.</li>
</ul>
</div>
<div class="section" id="release-1-0-2016-03-08">
<h2>Release 1.0 (2016-03-08)<a class="headerlink" href="#release-1-0-2016-03-08" title="Permalink to this headline">¶</a></h2>
<p><strong>Note:</strong> The 1.0 version number does not imply any special
stability or an API freeze. It’s a consequence of switching to
semantic versioning, where backwards incompatible changes will
always result in increased major version.</p>
<ul class="simple">
<li>Fixed an overflow when accessing the <code class="docutils literal"><span class="pre">*st_xtime_ns</span></code> attributes of
the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">EntryAttributes</span></code></a> class from Python on 32-bit systems.</li>
<li>POTENTIAL COMPATIBILITY BREAK: The <a class="reference internal" href="operations.html#llfuse.Operations.destroy" title="llfuse.Operations.destroy"><code class="xref py py-obj docutils literal"><span class="pre">destroy</span></code></a> handler is now
called with the global lock acquired.</li>
</ul>
</div>
<div class="section" id="release-0-43-2016-02-23">
<h2>Release 0.43 (2016-02-23)<a class="headerlink" href="#release-0-43-2016-02-23" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Fixed build-failure under OS-X.</li>
<li>Fixed some build failures under FreeBSD (hopefully all of them, but
no testers were available before the release).</li>
<li>The <em>workers</em> parameter to <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal"><span class="pre">llfuse.main</span></code></a> may now be <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.7)"><code class="xref py py-obj docutils literal"><span class="pre">None</span></code></a>.</li>
</ul>
</div>
<div class="section" id="release-0-42-1-2016-02-01">
<h2>Release 0.42.1 (2016-02-01)<a class="headerlink" href="#release-0-42-1-2016-02-01" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Include HTML documentation.</li>
</ul>
</div>
<div class="section" id="release-0-42-2016-01-30">
<h2>Release 0.42 (2016-01-30)<a class="headerlink" href="#release-0-42-2016-01-30" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>The documentation has been clarified and extended - please take a
look even if you’re already familiar with Python-LLFUSE.</li>
<li>Extended coverage of unit tests.</li>
<li>Fixed a compile error under OS-X.</li>
<li>Added <a class="reference internal" href="fuse_api.html#llfuse.notify_store" title="llfuse.notify_store"><code class="xref py py-obj docutils literal"><span class="pre">notify_store</span></code></a> function.</li>
<li>Added <a class="reference internal" href="util.html#llfuse.get_sup_groups" title="llfuse.get_sup_groups"><code class="xref py py-obj docutils literal"><span class="pre">get_sup_groups</span></code></a> function.</li>
<li>The <a class="reference internal" href="operations.html#llfuse.Operations.read" title="llfuse.Operations.read"><code class="xref py py-obj docutils literal"><span class="pre">read</span></code></a> handler may now return arbitrary objects that
as long as they implement the buffer protocol.</li>
<li>Implemented a <em>forget_multi</em> handler (used behind the scenes).</li>
<li>Many classes were rewritten in Cython for improved performance.</li>
<li>Python thread-specific data is now initialized only once rather
than every time a handler is called.</li>
<li>SIGINT (Ctrl-C) now properly terminates <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal"><span class="pre">llfuse.main</span></code></a> also when
running with multiple workers.</li>
<li>The return value of <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal"><span class="pre">llfuse.main</span></code></a> now indicates if the loop was
terminated due to an unmount request or due to a signal.</li>
</ul>
<p>BACKWARDS INCOMPATIBLE CHANGES:</p>
<ul class="simple">
<li>Ducktyping the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">EntryAttributes</span></code></a> class is no longer allowed,
<a class="reference internal" href="operations.html#llfuse.Operations" title="llfuse.Operations"><code class="xref py py-obj docutils literal"><span class="pre">Operations</span></code></a> methods must return instances of this class (rather
than any object that provides the necessary attributes).</li>
<li>The <code class="xref py py-obj docutils literal"><span class="pre">st_Xtime</span></code> attributes of the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">EntryAttributes</span></code></a> have been
dropped in favor of the <code class="xref py py-obj docutils literal"><span class="pre">st_Xtime_ns</span></code> attributes.</li>
<li>The <a class="reference external" href="https://docs.python.org/3/library/functions.html#setattr" title="(in Python v3.7)"><code class="xref py py-obj docutils literal"><span class="pre">setattr</span></code></a> method now always receives a completely filled
<a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">EntryAttributes</span></code></a> instance. To determine which attributes should
be changed, a new <em>fields</em> argument has been introduced.</li>
<li>The <a class="reference internal" href="operations.html#llfuse.Operations.setattr" title="llfuse.Operations.setattr"><code class="xref py py-obj docutils literal"><span class="pre">setattr</span></code></a> method now also receives an <em>fh</em>
parameter.</li>
<li>The <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal"><span class="pre">llfuse.main</span></code></a> function now has a <em>workers</em> parameter, and
the <em>single</em> parameter was dropped.</li>
<li>Almost all request handlers now receive a <a class="reference internal" href="data.html#llfuse.RequestContext" title="llfuse.RequestContext"><code class="xref py py-obj docutils literal"><span class="pre">RequestContext</span></code></a>
instance in an additional parameter.</li>
</ul>
</div>
<div class="section" id="release-0-41-1-2015-08-22">
<h2>Release 0.41.1 (2015-08-22)<a class="headerlink" href="#release-0-41-1-2015-08-22" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Added some files in <code class="file docutils literal"><span class="pre">test/</span></code> that were missing in the 0.41
tarball. Tests now support the <code class="docutils literal"><span class="pre">--installed</span></code> option, produce
prettier output, and check for error messages printed to stderr or
stdout.</li>
<li>Python-LLFUSE can now also be built on NetBSD.</li>
<li>Added support for FUSE_SET_ATTR_ATIME_NOW and
FUSE_SET_ATTR_MTIME_NOW setattr flags. Previously, these would be
silently ignored.</li>
<li>Fixed an AssertionError in <code class="file docutils literal"><span class="pre">examples/passthroughfs.py</span></code></li>
</ul>
</div>
<div class="section" id="release-0-41-2015-08-20">
<h2>Release 0.41 (2015-08-20)<a class="headerlink" href="#release-0-41-2015-08-20" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Fixed a syntax error in contrib/tmpfs.py</li>
<li>Introduced an <code class="xref py py-obj docutils literal"><span class="pre">llfuse.__version__</span></code> attribute.</li>
<li>Added more reasonable default values for <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal"><span class="pre">llfuse.EntryAttributes</span></code></a>.</li>
<li>Added new minimal example, <code class="file docutils literal"><span class="pre">examples/lltest.py</span></code>.</li>
<li>Added unit tests.</li>
<li>Added an example for a pass-through file system,
<code class="file docutils literal"><span class="pre">examples/passthroughfs.py</span></code>.</li>
</ul>
</div>
<div class="section" id="release-0-40-2013-11-26">
<h2>Release 0.40 (2013-11-26)<a class="headerlink" href="#release-0-40-2013-11-26" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Re-raising an exception from a request handler now works
correctly under Python 3. Problems were caused by a Cython bug,
but llfuse now works around the issue.</li>
<li>File atime, ctime and mtime can now also be represented as
nanosecond integer values for increased resolution. Thanks to
<a class="reference external" href="mailto:nagy.attila%40gmail.com">nagy<span>.</span>attila<span>@</span>gmail<span>.</span>com</a> for the initial patch.</li>
<li>Python-llfuse no longer includes the setuptools/distribute
bootstrap script. This module thus has to be installed manually
if not already present on the system.</li>
<li>Duck-typing of the Operations instance is now supported.</li>
<li>Python-llfuse no longer requires a re-compilation of the
Cython code (setup.py build_cython step) when compiling for MacOS
or FreeBSD.</li>
<li>Extended attributes are now properly supported under FreeBSD.</li>
</ul>
</div>
<div class="section" id="release-0-39-2013-05-11">
<h2>Release 0.39 (2013-05-11)<a class="headerlink" href="#release-0-39-2013-05-11" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">When running under Python 3.x, several functions now work with
string objects rather than byte objects:</p>
<ul class="simple">
<li>llfuse.init(): the <em>mountpoint</em> argument, and the elements of
the <em>fuse_opts</em> argument are expected to be of type str.</li>
<li>llfuse.listdir(): the <em>path</em> argument is expected to be of
type str, and the values returned by the iterator will be of
type str as well.</li>
<li>llfuse.getxattr(), llfuse.setxattr(): the <em>path</em> and <em>name</em>
arguments are expected to be of type str.</li>
</ul>
<p>When necessary, values will be converted to the file system
encoding using the surrogatescape handler as described in PEP 383
(<a class="reference external" href="http://www.python.org/dev/peps/pep-0383/">http://www.python.org/dev/peps/pep-0383/</a>)</p>
</li>
<li><p class="first">Renamed get_off_t_bytes() and get_ino_t_bytes() to
get_off_t_bits() and get_ino_t_bits() and documented them.</p>
</li>
</ul>
</div>
<div class="section" id="release-0-38-2013-01-05">
<h2>Release 0.38 (2013-01-05)<a class="headerlink" href="#release-0-38-2013-01-05" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Various small bugfixes.</li>
</ul>
</div>
<div class="section" id="release-0-37-1-2011-12-10">
<h2>Release 0.37.1 (2011-12-10)<a class="headerlink" href="#release-0-37-1-2011-12-10" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Fixed a segfault-causing race condition in Lock.acquire() and
Lock.yield().</li>
</ul>
</div>
<div class="section" id="release-0-37-2011-12-05">
<h2>Release 0.37 (2011-12-05)<a class="headerlink" href="#release-0-37-2011-12-05" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">Explicitly call fuse_chan_destroy() in llfuse.close(), so
that the mountpoint becomes inaccessible right away, even
while the process is still running.</p>
</li>
<li><p class="first">Added get_ino_t_bytes() and get_off_t_bytes() that return
the number of bytes used for representing inode numbers
and file offsets.</p>
</li>
<li><p class="first">The yield_() method of the global lock now takes an additional
<em>count</em> argument that can be used to yield the lock more than
once.</p>
</li>
<li><p class="first">Changed implementation of global lock. The global lock is
no longer a mutex, but a boolean variable protected by a mutex,
and changes are tracked with a condition object. This allows
lock.yield() to work properly: if there are other threads waiting
for the lock, they are guaranteed to run. If there are no other
threads waiting for the lock, execution of the active thread
continues immediately.</p>
<p>The previous implementation using sched_yield() was mostly
broken: threads trying to acquire the global lock were calling
pthread_mutex_lock, so they got removed from the kernels
runqueue. However, calls to sched_yield() would just put the
active thread into the expired runqueue, and calls to
pthread_mutex_unlock apparently do not synchronously move the
threads waiting for the lock back to a runqueue. Therefore, most
of the time the active thread would be the only thread in any
runqueue and thus continue to run.</p>
</li>
<li><p class="first">The Operations.forget() method now receives a list of
(inode, nlookup) tuples rather than just one such tuple.</p>
</li>
<li><p class="first">invalidate_entry() and invalidate_inode() no longer work
synchronously. Instead, the message is put in a queue and send by
a background thread.</p>
</li>
<li><p class="first">The acquire() method of the global lock now has an optional
<em>timeout</em> parameter.</p>
</li>
<li><p class="first">The create() request handler now receives the open flags
as an additional parameter.</p>
</li>
</ul>
</div>
<div class="section" id="release-0-36-2011-09-20">
<h2>Release 0.36 (2011-09-20)<a class="headerlink" href="#release-0-36-2011-09-20" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Don’t send SIGHUP if exception is encountered in destroy()
handler (since at that point, main loop has already terminated
and signal handling been reset).</li>
<li>Fix a problem with request handler exceptions being re-raised
not only in llfuse.main(), but also in llfuse.close() when
running single threaded.</li>
</ul>
</div>
<div class="section" id="release-0-35-2011-09-14">
<h2>Release 0.35 (2011-09-14)<a class="headerlink" href="#release-0-35-2011-09-14" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Explicitly initialize Python thread support. Previously, calling
llfuse.main() resulted in a crash if no Python threads were used
before the call.</li>
<li>Removed handle_exc() method. If request handle raise an exception,
the main loop now terminates and the exception is re-raised and
passed to the caller of llfuse.main().</li>
<li>llfuse.close() can now leave the mountpoint in an inaccessible
state to signal a shutdown due to an internal file system
error.</li>
<li>The destroy() request handler is now called without the
global lock acquired. This makes sense, because it’s not called
as part of the main loop but by llfuse.close().</li>
</ul>
</div>
<div class="section" id="release-0-34-2011-08-10">
<h2>Release 0.34 (2011-08-10)<a class="headerlink" href="#release-0-34-2011-08-10" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Explicitly cast S_* constants to mode_t to prevent compiler
warnings on FreeBSD.</li>
<li>Fixed initialization error under Python 3.</li>
</ul>
</div>
<div class="section" id="release-0-33-2011-07-03">
<h2>Release 0.33 (2011-07-03)<a class="headerlink" href="#release-0-33-2011-07-03" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Various small bugfixes.</li>
</ul>
</div>
<div class="section" id="release-0-32-2011-06-04">
<h2>Release 0.32 (2011-06-04)<a class="headerlink" href="#release-0-32-2011-06-04" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Fixed unlink() bug in contrib/example.py</li>
<li>Include <code class="file docutils literal"><span class="pre">src/*.pxi</span></code> files in release tarball. Were
accidentally omitted in previous version.</li>
<li>Moved debian/ directory into separate repository.</li>
</ul>
</div>
<div class="section" id="release-0-31-2011-05-12">
<h2>Release 0.31 (2011-05-12)<a class="headerlink" href="#release-0-31-2011-05-12" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Use long for storing nanoseconds in file [amc]times, not int.</li>
</ul>
</div>
<div class="section" id="release-0-30-2011-03-08">
<h2>Release 0.30 (2011-03-08)<a class="headerlink" href="#release-0-30-2011-03-08" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Fixed compile errors with Python 3.0 and 3.1.</li>
<li>Fixed error handling, errno is now read correctly.</li>
<li>Documentation is now shipped in tarball rather than generated
during installation.</li>
</ul>
</div>
<div class="section" id="release-0-29-2010-12-30">
<h2>Release 0.29 (2010-12-30)<a class="headerlink" href="#release-0-29-2010-12-30" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Initial release</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper"><h3><a href="index.html">Table Of Contents</a></h3>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="about.html">About</a></li>
<li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="general.html">General Information</a></li>
<li class="toctree-l1"><a class="reference internal" href="fuse_api.html">FUSE API Functions</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="lock.html">The global lock</a></li>
<li class="toctree-l1"><a class="reference internal" href="operations.html">Request Handlers</a></li>
<li class="toctree-l1"><a class="reference internal" href="util.html">Utility Functions</a></li>
<li class="toctree-l1"><a class="reference internal" href="gotchas.html">Common Gotchas</a></li>
<li class="toctree-l1"><a class="reference internal" href="example.html">Example File Systems</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a></li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="example.html"
title="previous chapter">Example File Systems</a></p>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="example.html" title="Example File Systems"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Python-LLFUSE 1.3.6 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2010-2015, Nikolaus Rath.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.9.
</div>
</body>
</html>