1.2.0 - 2020/09

  • Fix builds on recent linux
  • Require Ruby 2.4+
  • Release via Travis

1.1.2 - 2015/11/28

  • Bugfixes
  • Re-enable travis

1.1.0 - 2014/MM/DD

  • RFuse::Fuse#trap_signals a clean way of handling signals (with the self-pipe previously used for a graceful exit)
  • Default signal handlers for "INT","TERM" (exit fuse), "USR1" (toggle FuseDelegator debugging)
  • Introduce RFuse.main as Ruby equivalent of fuse_main() convenience method for starting filesystems

1.0.5 - 2014/04/16

Bugfixes

1.0.4 - 2013/12/19

Bugfixes

  • RFuse.parse_options fix if only local options supplied
  • Fixes for extended attributes
  • Prevent old exceptions from raising at unmount

1.0.3 - 2012/08/16

Cleanup compile warnings

Bugfixes

1.0.2 - 2012/08/09

Support Ruby 1.8 (tested with 1.8.7)

Bugfixes

1.0.0

Become rfuse once again with Ruby 1.9 support and documentation

Note that 1.0.0 does not signify anything more meaningful than a new release with API breaking changes since the various 0.x.y series of rfuse and rfuse-ng (as per rubygems recommended semantic versioning)

API breaking changes

Removed methods

  • RFuse::loop_mt - never worked, (see multithread branch on github)
  • RFuse::destroy - callback was being called during finalizer which was not safe

Other major changes

RFuse::Fuse#loop is now done in ruby using IO.select on the underlying FUSE file descriptor and using RFuse::Fuse#process to handle one fuse command at a time. This allows the Ruby interpreter to retain control so you can use other threads, Signal.trap etc...

Various RFuse::Fuse methods will throw RFuse::Error if the filesystem is not mounted, which can be tested after initialisation with RFuse::Fuse#mounted?

Implemented RFuse::FuseDelegator so your filesystem can be implemented (and tested/debugged) without needing to be a subclass of RFuse::Fuse

Implemented RFuse::Stat and RFuse::StatVfs helper classes