Fsmon Versions Save

monitor filesystem on iOS / OS X / Android / FirefoxOS / Linux

1.8.4

2 years ago
  • Fix use after free bug
  • Fix JSON for some entries
  • -f and -j play together

1.8.2

3 years ago

1.8.1

3 years ago
  • Build fixes for iOS and macOS

1.8.0

3 years ago
  • Improve linux/android inotify backend
    • Add FSE_CLOSE and FSE_CLOSE_WRITABLE events
    • Solve events without filename issue
    • Solve the double slash in traced paths (uses realpath)
    • Implement lsof, uid2pid and path2uid helpers
    • Follow inotify cookies to properly handle RENAME events
  • Make fsdevapi default backend on iOS and macOS
  • Rename all OSX references to macOS
    • (yes, fsmon works on macos-arm64 too)
  • Use (void) in function signatures
  • Update manpage

1.7.0

4 years ago
  • Add time field in the json output
  • Build fixes and add Debian

1.6.1

5 years ago
  • Fix -J jsonstream issues
  • Unify the version number change to ease releases

1.6

5 years ago
  • Improved Android and iOS build scripts
  • Simplify and update entitlements for >iOS10
  • Added -n flag to avoid ansi colors
  • Show -J option in the help message

1.4

7 years ago

This release comes with some really interesting features and as always some interesting bugs fixed.

  • Split inotify / fanotify into separate backends for consistency
  • New backend for XNU (kdebug)
  • Code cleanup and occasional refactoring
  • Linux's inotify backend now recursively watches in directories
  • Fixed some bugs related to inotify and fanotify

KDebug is a kernel interface available in XNU (iOS / OSX) that allows to trace system-wide syscalls. This interface is also available on BSD, but it hasnt been tested. The new backend keeps tracks of all the syscalls executed by all the programs in the system that access the filesystem (open, readdir, mkdir ,...) and translate those events into fsmon messages.

Also, this release fixes some of the most annoying complains of fsmon on Android. The inotify and fanotify backends have been reviewed and splitted, handling the events in a more correct way and tracking all the subdirectories created at runtime. This permits to have the same behaviour across all the backends.

1.3

7 years ago
  • Fix invalid JSON issue introduced in 1.2
  • Remove noisy hexdump debug messages

1.2

8 years ago

This 1.2 release comes with a fully refactored codebase that split ups the different implementations of the file monitoring logic. This change adds two new commandline flags to the tool:

  • -L list all supported backends
  • -B select an specific backend

For example, on iOS (watchOS, tvOS included) and OSX fsmon -L shows:

  • devfsev
  • kqueue
  • fsevapi

It also addresses some of the issues reported by different users:

  • Properly handling signals (SIG31-C)
  • Show no processname instead of trash from previous iteration
  • Use better coding practices (ifdef guards using non-conflicting identifiers
  • Handle unknown dev/fsevents packets in a better way to avoid losing some events in OSX.
  • Fix JSON output when SIGINT happens