mergerfs (2.42.0~unknown-unknown) unknown; urgency=medium

  * ce3737f Add new OS build files
  * 84e4cde make all integration tests self-contained with ephemeral mounts
  * 6d6d73c Use unmount() on FreeBSD for ENOTCONN umount
  * bea3154 update fuse_lib_tmpfile() node management to match fuse_lib_create()
  * 99835a0 Document advisory locking limitation and update deprecated options
  * 342a1ef Add QEMU binfmt setup and fix static installer
  * c587a12 add missing <new> include for std::nothrow in fuse_session.cpp
  * f1034a3 Remove timed node removal
  * 8117998 Remove unused lock operation plumbing
  * cc780bc libfuse: remove per-node lock bookkeeping
  * 14b7c8e Use stat fingerprint as cache validity sentinel
  * 3ff9794 libfuse: fix use-after-free in fuse_lib_ioctl
  * f71e276 vendor moodycamel queue and upgrade to 1.0.5
  * 943f91f Strengthen mergerfs integration tests
  * ef1e01b Add unit and integration tests for recently changed code
  * 50c0627 Better handle make sanitize option
  * 660f556 Don't return success on ENOTEMPTY rmdir errors
  * 997b036 Reject invalid policies
  * 9308a37 When file unlinked check open_files map
  * 7616d8b Rework readlink to not depend on cstr nul termination
  * a86092b Don't push docs for RC tags
  * e613d94 Better same file check for fsck
  * 1a8eb32 Tweak docs on NFS and identity management
  * 9fb1642 Fix docs regarding "noforget"
  * 8be86ee Remove mkdocs build github workflow
  * da68cf3 Formatting: normalize brace style and parameter alignment
  * ec40866 libfuse: small safety and portability fixes across opt/cpu/fusermount/maintenance_thread
  * bd07142 libfuse: thread_pool/objpool/fuse_loop - safer memory and iteration
  * 27acd9f libfuse: use atomic fuse_session pointer in signal handler
  * 4516685 libfuse: harden fuse.cpp against NULL nodes; use lock guards; check allocations
  * 0bdbaf1 libfuse: remove userdata from init/destroy APIs; drop unused fuse_reply_ioctl_iov
  * e67b7d0 log: default debug log path to empty; skip set when empty
  * 981d547 str: null-safe same() and startswith()
  * 364f8c4 fs_movefile_and_open: -ENOSPC when no destination branch available
  * ef9c7ad fuse_statfs: scale with long double to avoid integer overflow
  * 4288a60 fuse_readlink: always null-terminate buffer
  * cf38a37 fuse_readdir: atomic initialized flag; bound error string; check msgbuf allocation
  * f5d9a60 fuse_getattr/statx: populate timeouts in fake_root and controlfile replies
  * 0c17492 FUSE: pass Branches::Ptr by value with empty-branches guards
  * 98648ae FUSE: require valid file/dir handle; drop open_files fallback
  * 0dcca0f branches: re-link default_minfreespace pointer on copy/move; atomically publish branch mode changes
  * 103cd35 state: atomic ref_count in OpenFile
  * aa46001 Remove unused rwlock.hpp header and includes
  * ff48ff6 Handle/ignore SIGHUP
  * d5a2187 Fix make race condition
  * 351adc2 Add tests for HashSet, rapidhash withSeed consistency, and ReaddirCalc parity with calc
  * a1e681f Use ReaddirCalc in all readdir implementations
  * e3a467d Refactor fs_inode
  * cdadda5 Replace khash with custom hash set
  * 4c9a9d7 Upgrade rapidhash
  * 425e30b Use nanosleep rather than yield and return EINTR
  * 3905355 Detect OS for release-sample make target
  * 9e2e1af Update docs on limiting drive spinup
  * 6d218fa Misc updates and fixes
  * 3b10406 Add more details to project comparisons
  * f2c8e5d Add FUSE request_timeout
  * b581c5d Add support for FUSE_COPY_FILE_RANGE_64
  * 1ebc8cf Enable statx with file handle
  * acfa797 Misc formatting changes
  * 7fc2045 Rework open file resource management
  * ecee84b Improve proj comparisons + new SnapRAID details
  * b8776d2 Update docs; add nofs, policyfs and greyhole
  * 06433a0 Fallback to fusermount3 where available
  * f4b6023 Add more integration tests
  * a78aef3 Additional check for ENOTCONN on mount
  * 0d05523 Move maintainence thread func take u64 rather than int
  * 0cfab60 replace raw C-strings with std::string in converted libfuse files
  * 21966ad Convert vendored/libfuse C sources to C++17
  * 96eb51e Move fuse_session to C++ and make exit flag atomic
  * 881147d Fix null ptr handling issue in ioctl processing
  * 0f1a8e9 Fix error condition in fs_copyfile
  * 08f9cc6 Fix readlink implementation, add more tests
  * 3099b15 More aggressive error handing with pagesize queries
  * 07b1e6b Auto-commit fuse_msgbuf.cpp
  * 7763c73 Use fatal::abort() rather than assert in places
  * 61365d2 Move scope_guard to vendored/
  * f33e78b Cleanup procfs and abort on critical issues
  * 7f52623 Cleanup branches and add more unit tests
  * a30a4df Cleanup config and add tests
  * 1e0d5aa fs_wait_for_mount cleanup
  * d09fadb fs_inode cleanup
  * 21ce889 Fixup listxattr error handling
  * 9d1a469 Small improvements to fs::statvfs_cache
  * ed0cbcf Cleanup fuse_readlink
  * 076e359 Improve thread pool
  * bf98d3f Fix possible error handling issue with errno
  * c45c5ce Make cfgfile depth calculation thread friendly
  * e0a892f Improve error handling when querying pagesize
  * 164b7f7 Misc fixes and improvements to thread pool
  * 3a45be4 Rework string utils, more test cases
  * 107a3ac Better error handling in pagesize config type
  * a5eafb8 Check string is not empty before resize in Config::keys
  * 8199cc8 Fix error handling in fuse chmod, chown, setxattr, removexattr
  * e5d897f Ensure zero initialized timeouts structs
  * c0af09f Fix incorrect type in fs_read and write
  * 1b1e14c Remove dead branch in fuse_reply_data
  * 82b89aa Change session->exited to sig_atomic_t
  * aa91e1b Initialize stat buffer and add stat call in fuse_mount_sys
  * 82e81af Add NULL check for cmsg in receive_fd to prevent segfault
  * 1a5c39f Fix buffer overflow in readlink by reserving space for null terminator
  * fce1803 Use RND class for shrink_to_rand_elem and add assertions
  * 5a9a17a fix objpool: add size tracking, improve allocation matching; fix msgbuf: clear pool on size change
  * 8648de6 fix policy_eppfrd.cpp: return 0 when branchinfo found, -ENOENT only when empty
  * f227a63 fix str.cpp: use string_view::npos, fix erase() calls, remove extra whitespace
  * aa47b74 Remove iterator methods from Branches class
  * 206ad1d Fix futimens bugs: stat pointer, variable names, and negation
  * 80aead7 Add null pointer checks for FileInfo/DirInfo
  * 1220bef Fix copydata_copy_file_range bug
  * 01aa888 Fix eplus search bug
  * 6a6aa05 Add support for Arch, btw
  * 04939bb No longer explicitly error out on broken mount point
  * 2ea6290 Update limiting drive spinup doc
  * c66c68b Misc cleanup
  * 075a8a6 Convert some push_back to emplace_back
  * 3c6d1b4 Remove unused "using"s
  * 6f281b9 Remove duplicate includes
  * 511bf47 Convert stdint to short ints
  * 53c5a2c Move fmtlib to vendored and upgrade to 12.1.0
  * eb8074e Update vendored/nonstd to latest and fix API usage
  * 38c19df Update vendored/boost to 1.90.0
  * b1228f1 Update vendored/acutest to latest master
  * cfafafd Update vendored/CLI11 to v2.6.2
  * c8ce82c Update vendored/subprocess to v2.5
  * 05c3d97 Update vendored/rapidhash to v3
  * 2c87e68 Cleanup ugid.hpp usage
  * 8f1ef59 Move 3rd party libraries to "vendored" directory
  * a460c52 Remove unused files
  * a4aade6 Make global inode calculation function pointer atomic
  * 1d1bcd3 Add extra checks in for file handle lookup
  * 099ce2d Add more asserts
  * 56cd831 Fix str::trim to handle all whitespace characters
  * e43be3c Remove unused PolicyCache implementation
  * 2754536 Fix integer overflow in size suffix parsing
  * a0cff63 Misc cleanup
  * a5a6c89 Update copyright headers
  * 3d50d4a Explicitly return EXIT_FAILURE
  * f69c31f Rework objpool
  * a2860c3 Use debug mutex more
  * 3f70e66 Rework node obj pool to use objpool
  * 160d3c8 Fix branches unit test
  * 15bcc47 Remove "channels" and embed into session
  * e55bb93 Simplify lowlevel fuse state management and req mem
  * 5a2a9e4 Remove fuse_ll_pipe dead code
  * b423949 Update docs for logging changes + new video (#1618)
  * 3222de6 Fixup debug output (#1617)
  * be4d388 Add support for -n to not update mtab (#1616)
  * a47842e Add MOS to projects and update misc links (#1614)
  * f769d74 Add new links to media docs (#1613)
  * 2ae5764 Misc documentation updates (#1612)
  * 7f1b7ac Add lshw to collect info tool (#1610)
  * 1290ab9 Ensure ::exists() call can't throw (#1609)
  * 965e269 Misc documentation updates (#1605)
  * 0caae4f Tag container image to ghcr for convenience (#1604)
  * 4d1760c Rework new `lup` policy to work on 32bit systems (#1603)
  * 22df87c Add LUP policy (#1601)
  * 72fb6e4 Update submitting bug reports, improve collect-info (#1598)
  * 9b046d9 Rework credential handling to support chroot & idmap (#1595)
  * d891845 libfuse: fix narrowing conversion of nsec fields on i386 (#1593)
  * d3a3f65 Ignore remote when forcing generation of docs (#1592)
  * 411d181 Add qbittorrent specific section of known issues (#1591)
  * caf7915 tools/preload: include correct extended attribute headers on FreeBSD (#1590)
  * 4c5473d Remove cirris builds, codeql; redo mkdocs builds (#1585)
  * 104f378 Replace 'unknown' distro-codename when building deb from tarball src (#1584)
  * a364405 Remove --depth=1 to clone for tarball builder (#1583)

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 7 May 2026 23:35:14 -0400

mergerfs (2.41.1~unknown-unknown) unknown; urgency=medium

  * 960f5fd Fix some links in docs (#1582)
  * 6813a51 Ensure cfg references do not also try to initialize the value (#1580)
  * f7e86d9 Add FAQ about lack of create policies about file size (#1578)
  * 66d120c Add Ubuntu 25.10 build (#1577)
  * 0197321 Slight tweaks to config parsing error handling (#1575)
  * af1edad Fix size comparison for returning ERANGE in listxattr (#1574)
  * 3bacaa6 Add lazy-umount-mountpoint page and mount -a FAQ (#1573)
  * b6e1a08 Add link to container image repo (#1570)

 -- trapexit <trapexit@spawn.link>  Tue, 18 Nov 2025 08:35:27 -0600

mergerfs (2.41.0~unknown-unknown) unknown; urgency=medium

  * 47bd425 Add container image details (#1569)
  * dc486e7 Add container image building (#1568)
  * 7855104 Add ability to passthrough 'nofail' mount option (#1567)
  * 4aab008 Ensure backward compatibility with remember & noforget (#1566)
  * 3a7a4a1 Improve mergerfs intro in docs (#1563)
  * 41b65ae Misc cleanup for FreeBSD and clang (#1560)
  * 2412ae7 Further tweaks to config parsing and error reporting (#1559)
  * ec16d07 Mention how mmap error when direct io is enabled (#1557)
  * 37f1088 Add more debugging options to makefiles and cleanup (#1556)
  * 0db8a1e Fix manpage links for 2.41.0-rc3 (#1555)
  * cfaad60 Misc updates to arg parsing (#1554)
  * 0774843 Fix variable names of fuse-msg-size and posix-acl (#1553)
  * 700fcfc Update fuse-msg-size docs (#1552)
  * 4b4801a Config options docs updates (#1551)
  * 741128c Fix lack of include for fmt (#1550)
  * 3bee0f0 Misc docs updates (#1549)
  * 727c522 Rework config, centralize fuse config (#1547)
  * 00e5467 Misc docs updates (#1544)
  * 0371f03 Rework how fuse request context is handled (#1543)
  * d18c273 Allow setting of passthrough max-stack-depth (#1542)
  * 0f24bb2 Make allow-idmap optional (default: false) (#1541)
  * 3cb35a3 Fix rename path generation (#1540)
  * 25b0bc7 Fix dirent64::namelen calculation (#1538)
  * e6fcebe Misc build fixes (#1537)
  * 46f85c0 Misc fixes, mostly for FreeBSD (#1536)
  * 7a9c3b7 Remove need for and use of ioprio header (#1535)
  * 569a151 Add ability to proxy ioprio of client apps (#1534)
  * 2f3e807 Add getdents based readdir functions for Linux (#1533)
  * 95ab37f Fix typo in visualization and add new vid to docs (#1532)
  * 1707dc2 Misc doc updates (#1531)
  * c4126a0 Add script to generate docs from scratch and push to github (#1530)
  * 6acef3a Fix typo in moveonenospc.md (#1527)
  * b3656a0 Fix broken doc links (#1525)
  * 41b40b9 Misc docs updates (#1524)
  * ca59ae5 idmap mount support (#1523)
  * 8c649d3 Start using std::filesystem::path for fusepath (#1522)
  * f64ff9c Revert removal of readdir init setup, simplify cfg usage (#1520)
  * 99c28ad Add Ubuntu 25.04 builds (#1519)
  * 5becb33 Misc updates of docs (#1518)
  * 071af2e More build process updates (#1516)
  * 90b3585 Update readme to match index of mkdocs (#1515)
  * d7549f8 Fix string manipulation functions after refactor (#1514)
  * 6ac7f38 Misc changes (#1513)
  * 2101ef5 Updates to docs, add nonraid, more intro to fs details (#1512)
  * dd1bea5 Allow empty lines in config ini files (#1509)
  * df19f99 Fix constructing string from attrval setxattr config (#1508)
  * 24e778b Rework calculation of branch for release make targets (#1507)
  * a8a7b34 Add Debian 13 build targets (#1506)
  * 6ae9641 Misc documentation updates (#1505)
  * 4439c2a Add setting of oom_score_adj (#1504)
  * 9872710 More makefile tweaks, build log, smaller git clones (#1503)
  * b18aba8 Build improvements (#1501)
  * 33fc26f Cleanup copy functions (#1500)
  * e8cd74c Move everything to negative errno return types (#1499)
  * 2b500f1 Rework of runtime interface (#1498)
  * e87867c Clear O_NOFOLLOW when opening a relative fd (#1494)
  * fa851ed Ensure passthrough and keep_cache are mutually exclusive (#1493)
  * f852474 Update the secondary group cache (#1492)
  * 9e62622 Add mergerfs.collect-info (#1491)
  * 71ddae8 Misc documentation changes (#1489)
  * e216a81 Rework movefile and cow break to use copyfile (#1488)
  * 264c560 Misc cleanup (#1486)
  * be49dbe Remove linux only getdents in favor of readdir for FreeBSD sake (#1485)
  * eb12431 Set default read thread count to 0 (#1484)
  * 77ef88b Add fsck.mergerfs tool (#1483)
  * 34f07e5 Add RHEL/CentOS 10 build support (#1479)
  * 095fcf8 Misc doc updates
  * 1b167d3 Spawn "mount" on branches when waiting for mounts enabled
  * 23824ea Misc cleanup
  * e310d24 Add support for FUSE passthrough
  * 92312c8 Add debugging of mutexes (#1470)
  * 4b751c2 Fix incorrect dyn cast (#1467)
  * 86b50d2 Rework policies to return branches rather than path strings
  * 7e084ea Update README.md to fix link (#1464)
  * 6eca711 Update mkdocs build action (#1458)
  * 923d960 Add details to docs about FreeBSD limitations
  * 3a03471 Add versioning to docs using 'mike'
  * 5db04b4 Update installation.md for SUSE
  * fa3266c Add podman release build tooling + misc build fixes (#1455)
  * 344014a Rework thread pool for increased stability + config and doc updates (#1453)
  * 455a812 Fix build instructions typo
  * 2b04a79 Add config option to control default_permissions
  * de2a828 Improve mount waiting + misc doc improvements
  * 9dac54f Misc doc updates + add logo
  * 54681e8 Add FAQ entry regarding OS support
  * 77bf16e Change the "devino" inode calculation
  * c769e95 Add doc pages for minfreespace and moveonenospc + other misc updates
  * 80085c9 Add statx support
  * 9573222 Update docs regarding error handling
  * f74dc36 Replace usage of wyhash with rapidhash
  * b7f7f7f Change misc defaults
  * 92ae63e Support Linux v6.13 FUSE max_page_limit
  * 579690f Add links to options docs page to individual pages
  * 2d86ed9 Update docs on default create policy
  * a4fdbae Misc doc updates
  * 6472ac5 Misc doc updates
  * bcbff5c Add FAQ entry regarding inotify
  * 3a33a6d Add FAQ section on common perceived problems
  * ef9074a Update docs on out-of-band usage
  * 514c478 Update terminology.md
  * 8179f91 Update quickstart.md
  * 1c44ef7 Rework questions on what settings and policies to use
  * 12d6302 Add details about logging to syslog
  * f18719c Add details about user namespacing and root squashing
  * 1729835 Misc doc updates
  * 19509e3 Doc and mover script updates
  * 2aa9697 re-order OS, shorten Debian based OS instructions
  * b83bd5f Improve FreeBSD compatibility
  * 6fb9111 fix edit uri
  * 9056898 Move fuse.c and fuse_lowlevel.c to C++
  * 7e96428 Add tiered cache details to docs
  * 8cb68dc Update funding and cirrus builds
  * fae9b99 Update README to point to docs, update project comparisons
  * 174e703 Fix pip install in mkdocs workflow
  * 75d7a93 Rework mkdocs based documentation
  * 50fa7ac add mkdocs
  * 5fba42f Add FAQ entry on 'move' and 'copy'
  * 85ce7d6 Add missing --relative flag to rsync in percent-full mover script
  * 9b2a5a7 Update README.md
  * f0444a1 Add support for 'direct-io-allow-mmap' if supported by kernel
  * 757ae66 Suggest cache.files=auto-full rather than partial

 -- trapexit <trapexit@spawn.link>  Sat, 8 Nov 2025 20:28:10 -0600

mergerfs (2.40.2~unknown-unknown) unknown; urgency=medium

  * 78050ed Special case O_TMPFILE in preload

 -- trapexit <trapexit@spawn.link>  Thu, 29 Feb 2024 15:41:22 -0500

mergerfs (2.40.1~unknown-unknown) unknown; urgency=medium

  * a234e94 Update README to remove unnecessary references to export-support for NFS
  * 951eb95 Ensure lookups of FUSE_ROOT_ID always return generation=0
  * 8210e63 Change mount type from fuse.mergerfs to mergerfs in README

 -- trapexit <trapexit@spawn.link>  Sun, 25 Feb 2024 18:29:58 -0500

mergerfs (2.40.0~unknown-unknown) unknown; urgency=medium

  * 1916e54 Add NFS options to remote filesystems section of readme
  * 0ca5d6a Add export-support option as possible workaround for NFS EIO issues
  * 17fdbf7 Update fuse_kernel.h
  * 27349e4 Update fmt
  * b3ce95c Update nonstd::optional
  * cedc9f0 Update ghc::filesystem
  * d68ad9a Expand the preload docs (#1299)

 -- trapexit <trapexit@spawn.link>  Mon, 19 Feb 2024 19:20:41 -0600

mergerfs (2.39.0~unknown-unknown) unknown; urgency=medium

  * ae6c4f7 Rework mergerfs vs X section of readme (#1298)
  * 8747509 Add credit to nohajc for preload idea (#1295)
  * d4dc070 Create ld_preload to reopen files on underlying filesystem (#1294)
  * c1c2f07 Update README.md (#1283)

 -- trapexit <trapexit@spawn.link>  Sun, 28 Jan 2024 18:12:29 -0600

mergerfs (2.38.1~unknown-unknown) unknown; urgency=medium

  * f66fb7e Fix user.mergerfs.pid
  * bd70928 Set flush-on-close default to opened-for-write

 -- trapexit <trapexit@spawn.link>  Sat, 11 Nov 2023 19:48:28 -0600

mergerfs (2.38.0~unknown-unknown) unknown; urgency=medium

  * d6a2f06 Only set allow_other when running as root
  * 6aa6452 Add flushonclose feature
  * a706915 Warn if not running as root
  * fd33df0 Update wyhash to 4.2
  * 569537d Remove use of pthread_getname_np to work with older musl versions
  * 620cab2 Rework thread pool queue depth impl
  * 0888f37 Fix readdir doc typos

 -- trapexit <trapexit@spawn.link>  Sun, 29 Oct 2023 02:54:51 -0500

mergerfs (2.37.1~unknown-unknown) unknown; urgency=medium

  * 766b923 Fix thread pool destruction where threads don't explicitly exit themselves

 -- trapexit <trapexit@spawn.link>  Sat, 9 Sep 2023 17:07:51 -0500

mergerfs (2.37.0~unknown-unknown) unknown; urgency=medium

  * 3fc0aa3 Add some new questions to FAQ
  * 6d2c99e Remove unneeded debug logging from thread pool
  * b91cc1c Add website and license to version option
  * 0a94bd7 Rework thread pool, add ability to add/remove threads at runtime
  * 335ca55 Add proper input validation for readdir policy
  * 76c8d48 Change threadpool to use concurrentqueue
  * 0c555e7 Initialize readdir threadpool after daemonizing
  * b545352 Nit: cache.files=per-process grammar
  * 3d05999 State cache.files per-process behaviour w/out match
  * f4a8105 Clarify parallel direct writes conditions
  * 8d70172 Misc fixes for older platforms
  * 0ed03a1 Use relaxed memory order for atomic counters
  * fdecabf Update wyhash to final4
  * e586d2f Fix setting of ugids for concurrent readdir
  * 2377cb0 Add thread names for easier debugging
  * 0aafdef Add ability to invalidate gid cache on demand
  * 7a09f56 Fix a typo in README.md
  * 6dcf611 Add callbacks for newer functions
  * c92a100 Add readdir policies
  * eb141c4 Fix logging pin-threads details
  * 51d97bb Move fuse thread args out of fuse session object
  * 2b1804d Add a DEPENDENCIES file to list dependencies
  * 556c652 Update fmt to v10.0.0
  * 543603b Update ghc::filesystem to v1.5.14

 -- trapexit <trapexit@spawn.link>  Tue, 5 Sep 2023 22:56:50 -0500

mergerfs (2.36.0~unknown-unknown) unknown; urgency=medium

  * 707d298 Create functions can set branches RO on EROFS
  * 22833bd Align msg buffer memory to allow O_DIRECT to work
  * fa53796 Simplify syslog wrapper a bit
  * 5d6c9cc Fix build on older distros due to std::atomic definitions
  * 2722f4f Fix error handling for cached writes
  * 5ab0fbc Add manual GC triggering + configurable process queue depth
  * 6a14a10 Fix read/write behavior and return value depending on direct_io
  * 82430e1 Fix moveonenospc when file opened with append mode
  * c72997f Make srcmounts readonly
  * 6bc3d77 Fix crash when exiting with open deleted files

 -- trapexit <trapexit@spawn.link>  Thu, 13 Jul 2023 22:34:29 -0400

mergerfs (2.35.1~unknown-unknown) unknown; urgency=medium

  * cdcfef2 Remove duplicate entries in docs
  * 0a64d74 Change default read-thread-count from -1 to 0 as documented

 -- trapexit <trapexit@spawn.link>  Sat, 1 Apr 2023 14:41:33 -0400

mergerfs (2.35.0~unknown-unknown) unknown; urgency=medium

  * 26fd11c Workaround older gcc bug with namespacing std::hash
  * eebd6e9 Actively report to syslog when waiting for mounts
  * 1c5b0f2 Fix loading readonly / write once options from file
  * b1d1177 Fix mover script link typo
  * 9fcaf6a Move tiered cache mover scripts to files in tools dir
  * 5152c63 Misc README updates
  * d04e04e Fix config file parsing
  * 486c5d3 Add ability to set readahead of mergerfs and branches
  * ee2855b Update README regarding why epmfs is default
  * a598f63 Update README.md
  * e25fa19 Lots of misc README updates
  * 373d331 Rework fuse read to use same buffers as messages
  * 84592a9 Remove splicing features
  * 3431017 Add ability to pin read and processing threads
  * 9effeb6 Add "per-process" file caching feature
  * 2d9c915 Return NOTTY for all btrfs ioctl calls
  * 9adddfc Add option to lazy umount target mount point
  * ac4e097 Add more apps to section on sqlite3 mmap problems
  * 9670fb9 Update README regarding requesting support and policy descriptions
  * a449116 Remove FUSE_USE_VERSION, no longer used
  * 3e313cd Forbid adding mountpoint to branch list
  * 7ed91c1 Backport bug fixes from libfuse3
  * 92ccfd3 Hard code setting of allow_other, ignore when set
  * a7113bb Allow setting of scheduling priority
  * fdec335 Update CirrusCI setup
  * 939eb39 Add option to wait for branches to become new mounts
  * 3ee93d4 Remove 'nonempty' argument
  * d11807e Remove use_ino option and make behavior same as if set
  * 24423b8 Add async message processing
  * b65e52d small grammar correction to README file

 -- trapexit <trapexit@spawn.link>  Tue, 28 Mar 2023 21:57:51 -0400

mergerfs (2.34.1~unknown-unknown) unknown; urgency=medium

  * 094ad86 Fix regression testing for implemented functions

 -- trapexit <trapexit@spawn.link>  Sun, 11 Dec 2022 14:44:54 -0500

mergerfs (2.34.0~unknown-unknown) unknown; urgency=medium

  * a6ca96f Fix printf for 32bit systems
  * d14427a Fix reading of setxattr name
  * ddf5e53 Misc cleanup
  * 7606430 Remove libfuse abstraction in prep for adding request data
  * 50fbf14 Add CodeQL workflow for GitHub code scanning
  * dba9c44 Remove write_buf, simplify FUSE msg dispatching
  * 9d056d6 Remove unnecessary libfuse abstractions
  * 32e2c9c Tweaks for 32bit systems
  * 316abba Update fuse_kernel.h
  * 3b0d7fb Fix setting of stat vars for symlinkify
  * 9082285 Support doc update
  * 46ce28b Error when given invalid policy names
  * 338e559 Fix typos
  * 77f0986 Add details about usage of FUSE to docs
  * e2dda3c Rework support section in readme

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 8 Dec 2022 22:04:15 -0500

mergerfs (2.33.5~unknown-unknown) unknown; urgency=medium

  * 14c2ff9 Return ENOENT when dotdot for root node requested

 -- trapexit <trapexit@spawn.link>  Tue, 12 Apr 2022 23:18:57 -0400

mergerfs (2.33.4~unknown-unknown) unknown; urgency=medium

  * b95ff8b Lock less often during logging
  * 3f060f4 Change ENOENT to ESTALE for looking up paths to handle rename race conditions
  * c9a9358 Fix query of attr during symlink
  * 9ca10b2 Rework node slab garbage collection to limit blocking work threads
  * e3ab739 Update bug_report.md
  * 58803f4 Update README.md

 -- trapexit <trapexit@spawn.link>  Sun, 20 Mar 2022 22:45:07 -0400

mergerfs (2.33.3~unknown-unknown) unknown; urgency=medium

  * c43b464 Call FUSE getattr rather than syscall for extra logic

 -- trapexit <trapexit@spawn.link>  Sat, 18 Dec 2021 17:21:19 -0500

mergerfs (2.33.2~unknown-unknown) unknown; urgency=medium

  * e256c88 Get attrs for link, not target

 -- trapexit <trapexit@spawn.link>  Thu, 16 Dec 2021 19:35:18 -0500

mergerfs (2.33.1~unknown-unknown) unknown; urgency=medium

  * ee8532c Ensure server handling of locks is disabled

 -- trapexit <trapexit@spawn.link>  Sat, 27 Nov 2021 00:02:55 -0500

mergerfs (2.33.0~unknown-unknown) unknown; urgency=medium

  * 68b3026 Remove embedded name in node struct
  * 18dead4 Add new debug printing routines
  * 68719da Remove ioctl runtime section, use getfattr instead of xattr
  * c384509 Remove subscribestar from sponsor platforms
  * 5f737cb Add option to log node memory usage metrics
  * 930dad3 Reduce struct node size
  * 8150957 Fix regression from remember_node refactor
  * c929781 Add malloc_trim configure test
  * 313aa2a Update ghc::filesystem and nonstd::optional
  * 4ea0de3 Rework dirents buffer management
  * 6b5c484 Major rework of memory allocation using fixed mem pools
  * f598d3b Add details on dropping caches before benchmarks
  * 122f9c1 Add new cirrus-ci targets
  * 5263a65 Remove usage printing regression in mount_bsd
  * 8def16a Fix infinite loop in mfs action policy
  * 43a6d66 Major cleanup of libfuse to remove unneeded features
  * df721eb Update docs with Chia wallet address
  * 54e8500 Add more clarity in what to provide when submitting bug reports or questions
  * 1aaf742 Update 'features' section of readme
  * b4c031d tweak bug report template language
  * 61c2187 Remove config ioctl calls
  * 7013ff9 Update nonstd::optional to v3.4.0
  * 3ce0dc5 Update ghc::filesystem to v1.5.8
  * 098f353 pfrd: fix mod by zero error when all branches are filtered
  * 80f3099 properly initialize fuse_buf in worker loop
  * c40f42e mention bind-propagation and add link to hotio
  * 44efbaa Update README.md
  * 9573a05 Update bug_report.md
  * 495afef README: update strace args and add question on snapraid
  * 58b4eb9 Fix typo
  * 9a90609 remove travis-ci
  * 8adebc9 new features: follow-symlinks, rename-exdev, link-exdev
  * d337574 fix parsing of relative branch paths
  * 6a9f7e6 readme: update support section
  * 3bc189c README: update support section
  * dfb544f README: add warning/clearity about caching script and hardlinks and cow
  * 538467b config: rework global config, remove rwlock, make branches RCU like
  * 3808e26 Update FUNDING.yml
  * e9e17ba README: misc updates and tweaks

 -- trapexit <trapexit@spawn.link>  Mon, 1 Nov 2021 22:46:09 -0400

mergerfs (2.32.3~unknown-unknown) unknown; urgency=medium

  * f6e3767 reset dentry buffer when rewind'ed

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 9 Feb 2021 18:09:28 -0500

mergerfs (2.32.2~unknown-unknown) unknown; urgency=medium

  * f50812a dirname should not return an empty string
  * 5e08357 update cirrus-ci builds
  * 44a9891 msp policies stopped before root path

 -- trapexit <trapexit@spawn.link>  Fri, 18 Dec 2020 17:03:43 -0500

mergerfs (2.32.1~unknown-unknown) unknown; urgency=medium

  * 3900543 fix segv: zero out data structures

 -- trapexit <trapexit@spawn.link>  Sun, 13 Dec 2020 16:56:55 -0500

mergerfs (2.32.0~unknown-unknown) unknown; urgency=medium

  * 7edd3c6 config: fix invalid error check when parsing config file
  * 1b26f49 general cleanup, slight memory reduction
  * c3fffef msp policies: used wrong path to check existance
  * 7e583e3 use relative option for rsync

 -- trapexit <trapexit@spawn.link>  Sat, 28 Nov 2020 21:49:51 -0500

mergerfs (2.31.0~unknown-unknown) unknown; urgency=medium

  * 8990e24 README.md: add details on per branch minfreespace
  * f6e37c5 README.md: add details about error handling
  * 0484442 wyhash: use safety mode 1
  * 5a31843 rework some function error handling
  * 610c75f properly return const ref from tofrom string wrapper
  * 73e8ed7 Delete issue_template.md
  * 0b1af2b Update bug_report.md
  * 767039c option_parser: return 0 when requesting help or version
  * fc34539 branches: add per branch minfreespace w/ original value as default
  * 27bd39f README.md: fix typos
  * 6311df7 optionally use lchmod depending on if on Linux or not (BSD)
  * 15fb751 README.md: add note indicating only tagged releases are supported
  * 0468440 add {,ep,msp}pfrd policies
  * 8675fce add fedora builds to cirrus-ci
  * 7fd629e add #warning to make it more obvious what versions of functions are used
  * 2fe20b8 clean up and separate out fs_* files
  * 2696079 break fs.hpp up into separate files
  * ec15872 cleanup function signatures and definitions
  * 6cc6524 change category to enum class
  * 7e17310 libfuse cleanup: add more header include guards
  * f488deb libfuse/Makefile: support CXXFLAGS and LDFLAGS passed via environment
  * 678626e Makefile: support CXXFLAGS and LDFLAGS passed via environment
  * 0bc6711 libfuse/Makefile: support $AR
  * a925fbe libfuse cleanup: extern cplusplus cleanup
  * dc1b698 libfuse cleanup: remove single threaded
  * 3c761b7 libfuse cleanup: remove libfuse API compatibility
  * 3bfdd78 libfuse cleanup: remove cuse
  * 5f12fb6 libfuse cleanup: remove unnecessary files
  * f9b831e libfuse cleanup: reindent
  * badf7e1 README.md: add XMR address
  * 3b38262 README.md: update support section with Open Collective and LBC
  * 0371b04 change from fasthash64 to wyhash
  * 1fe32e9 fix: add fakeroot needed for building

 -- trapexit <trapexit@spawn.link>  Tue, 29 Sep 2020 18:51:30 -0400

mergerfs (2.30.0~unknown-unknown) unknown; urgency=medium

  * 30d13b7 inodecalc: add 32bit versions of hashs
  * 5989d41 readdir: use getdents64 for compatibility with ARM64
  * 1d2a1ba README.md: move kernel bugs to wiki
  * e639f3d README.md: update faq regarding Plex and page caching
  * 173193d Update issue templates
  * 0709b2e add missing options to usage
  * 15a0aed cleanup: move some config data structures to separate files
  * 8afe72d README: change back to listing fuse.mergerfs for fstab fstype
  * a93bd9f freebsd: misc cleanups to get freebsd compiling
  * 139e61e nfsopenhack: remove empty file check
  * 93218a3 NFS open/creat hack
  * 3ec137c policy: add "most shared path" policies
  * 3a67384 Fix typos
  * 468d420 Removed duplicated include
  * 08d267f moveonenospc: enhance the feature to allow using a policy
  * c4a85f5 readdir: add dirent index array
  * c099064 remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok
  * 6289956 temporary fix for short readdirs on NFS
  * d699a97 fix rpm spec and chmod in deb
  * 8ed3a1f debian: fix installing of fresh deb
  * b4397f7 add 'inodecalc' option to allow selection of inode calculation algo
  * dbdd3e2 additional readdir refactor cleanup
  * afb07b1 add Cirrus-CI
  * 54c41c4 rework config management
  * a0c1c1a Travis-CI: add installing of deb package
  * add588f README: add terminology section and tweak some things
  * eb78c51 README: update support section
  * c6bce81 fix install location and setuid setting in deb pkgs
  * aad2257 README.md: add human readable versions of some errno references
  * eff15c7 README.md: request users update to latest version before they submit report
  * 7c37a69 add basic setup section
  * 698c414 fix getdent name length calculation
  * 0888ee1 README: update a number of sections and fix typos
  * 8ba1aba README: add note regarding space calculations
  * 3a46ec9 fix filename hashing error
  * 9b2634a fix name length calculation for musc
  * 62873d2 use getdents64 on linux
  * d119807 restructure readdir, add readdir_plus

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 3 Aug 2020 19:42:06 -0400

mergerfs (2.29.0~unknown-unknown) unknown; urgency=medium

  * 5ce428c rework makefiles + install mount tools
  * a646fe0 change inode conversion algo to reduce collision
  * 576ff36 add cache.writeback to xattrs
  * bf4b390 update fuse_kernel.h
  * 4b9f3de add ctime support
  * 903d39f add writeback caching
  * 9952c58 add links to ZFS comparison
  * 66f0d9e add faq entry on files ending up on 1 branch
  * 0f2f78c python 2.6 fix
  * 489ab23 make git2debcl work on Python 2 & 3
  * 3897852 add README segment on benchmarking
  * f4b8efc more FAQs
  * 4625a3c fix typos and update FAQ regarding policy preference
  * 322fa57 update docs: openvz kernel bug and new support links
  * 5eb3c8c add github sponsor and subscribestar to funding
  * 5d82756 Create FUNDING.yml

 -- trapexit <trapexit@spawn.link>  Sat, 22 Feb 2020 17:00:55 -0500

mergerfs (2.28.3~unknown-unknown) unknown; urgency=medium

  * 4d82ed9 fix short writes on >2GB files when cloning file
  * 08e1bef improve nodeid generation
  * 58ab7f7 Fix typo
  * 7a84555 update travis config to include bionic

 -- trapexit <trapexit@spawn.link>  Mon, 14 Oct 2019 23:34:36 -0400

mergerfs (2.28.2~unknown-unknown) unknown; urgency=medium

  * 0fffabf only return 1 branch for rand/eprand policies
  * 50ad648 initialize mutex to fix lockup
  * 752a159 add UPGRADE section
  * f77d1d9 Force symlink creation (don't error if it already exists)
  * e6a6ab9 update how it works
  * 38919ad Update README.md
  * 86bda61 fix some grammar and typos
  * 4c4c27a set uid & gid when calling ioctl

 -- trapexit <trapexit@spawn.link>  Sat, 7 Sep 2019 17:27:56 -0400

mergerfs (2.28.1~unknown-unknown) unknown; urgency=medium

  * 5ca928e accept old arguments for backwards compatibility

 -- trapexit <trapexit@spawn.link>  Mon, 10 Jun 2019 20:24:36 -0400

mergerfs (2.28.0~unknown-unknown) unknown; urgency=medium

  * 7cbd88a allow setting of 'max_pages' (via 'fuse_msg_size')
  * 8cb7195 add copy_file_range support
  * 529a953 add file caching across opens and runtime control
  * ddf6a2f make async_read optional again
  * 2323c16 add readdir caching
  * 1baa706 add symlink caching

 -- trapexit <trapexit@spawn.link>  Mon, 3 Jun 2019 21:16:53 -0400

mergerfs (2.27.1~unknown-unknown) unknown; urgency=medium

  * 61cded5 fix for unlink race condition

 -- trapexit <trapexit@spawn.link>  Tue, 21 May 2019 23:09:13 -0400

mergerfs (2.27.0~unknown-unknown) unknown; urgency=medium

  * 229d851 fix mount.mergerfs generation
  * 5f22211 ensure parallel dirops is enabled if capable
  * 2b019b8 ensure async_aio is enabled if capable
  * 3a66a68 ensure marking open files renamed over as hidden
  * 80d56ac add support for POSIX ACLs
  * 1ca7052 remove 'remote' flock support

 -- trapexit <trapexit@spawn.link>  Mon, 20 May 2019 08:18:21 -0400

mergerfs (2.26.2~unknown-unknown) unknown; urgency=medium

  * c21aa34 fix renaming over open unlinked file
  * 810871d update support section of README

 -- trapexit <trapexit@spawn.link>  Thu, 16 May 2019 14:49:38 -0400

mergerfs (2.26.1~unknown-unknown) unknown; urgency=medium

  * e052446 fix setting of fsname

 -- trapexit <trapexit@spawn.link>  Sun, 12 May 2019 14:30:37 -0400

mergerfs (2.26.0~unknown-unknown) unknown; urgency=medium

  * 5883020 tweak docs
  * 374580a create integration tests
  * 825fcf7 cleanup and rework build system
  * 3288d83 add reference to 32bit mmap kernel bug
  * df0d055 fix outarg size calculation to accomidate newer fuse_kernel.h on older platforms
  * 6ecc618 remove .fuse_hidden file creation
  * 2a075ea fall back to other file copy methods in clonefile
  * b69819e ioctl: don't set outbufsz when not needed
  * 61d764d makefile: remove superclean dependency from tarball
  * b0b265b parallel deb building
  * 1be9900 rework makefiles for better manage parallel builds
  * 38037fe replace {attr,entry,negative}_timeout references
  * 2af0dcd fix building of deb pkg
  * 0918dfd make attr, entry, negative_entry cache timeouts runtime configurable
  * 95c0cc7 replace libfuse's autoconf with makefile
  * 1d48dba add discord server to docs
  * 7bf607b fix FS_IOC_{GET,SET}{FLAGS,VERSION} ioctl calls
  * 940c323 misc fixes for FreeBSD
  * 5ab7d2d remove O_LARGEFILE
  * 65d3bfe remove libfuse modules
  * 9d9ee7b general code cleanup
  * c5b2415 remove `defaults`, hard code atomic_o_trunc, big_writes, and default_permissions
  * f4a06ca fix <> escaping in argument list
  * 5be7e00 add statfs cache
  * 7a057da add policy cache for 'open'
  * a13b822 add mention of noforget argument for NFS exports
  * 9fd3b96 make ioctl on directories use open policy
  * a57c680 clarify descriptions regarding funcitons and those without policies
  * 3a12134 add more info on different caching techniques
  * 87b2795 set direct_io per open/create, now runtime configurable
  * 7eefb58 misc doc updates
  * 0b5a0d1 update README regarding valid ENOSPC errors
  * aa56e12 mention mv quirk in known issues
  * 10f7f8b optimize link_cow eligibility check
  * dfa1c1a check minfreespace on newest policy create
  * 4096940 misc README updates
  * 6de8e44 general cleanup of makefile, add static & lto building
  * 6ae6846 fix building on alpine w/ musl

 -- trapexit <trapexit@spawn.link>  Fri, 10 May 2019 12:03:22 -0400

mergerfs (2.25.1~unknown-unknown) unknown; urgency=medium

  * 7d9458f change xattr setting notsup to nosys
  * 43b676a fix indexing of truncate targets

 -- trapexit <trapexit@spawn.link>  Mon, 19 Nov 2018 23:32:07 -0500

mergerfs (2.25.0~unknown-unknown) unknown; urgency=medium

  * c46134c fix building on platforms without O_PATH
  * 3631ab7 optimize readdir file dedup
  * 680f819 add ability to change statfs behavior
  * 7524e57 rename NW (no write) to NC (no create)
  * b55ebba add tagging branches RW/RO/NW
  * 8eacb00 misc updates to docs
  * 9e0ab1f misc cleanups
  * 8a48b74 policy return cleanup
  * 85026d5 add FICLONE and copy_file_range to clonefile
  * 1885a82 remove libattr dependency
  * 65f482e add ability to turn on/off xattr support at runtime
  * 8d1a156 fix building on certain platforms
  * 93f7d7d add link_cow feature
  * 9afefef keep literal when glob fails
  * 340f3c8 add fuse to debian pkg dependency
  * f856336 add security_capability option
  * 057eafe add comment regarding tar error
  * 587ab62 tweak docs, add FAQ regarding vendoring of libfuse
  * 756d4ff Makefile: option for building with system libfuse
  * ec6adaa options: move "-o threads=" help text to libfuse/
  * fc52f89 add FAQ entry on hard links
  * e987ff4 Makefile: don't touch LDFLAGS
  * 39d5ab8 add details regarding use_ino
  * c005463 change examples to use /mnt rather than /tmp

 -- trapexit <trapexit@spawn.link>  Tue, 6 Nov 2018 08:15:02 -0500

mergerfs (2.24.2~unknown-unknown) unknown; urgency=medium

  * 73e8867 fix version.hpp creation, again

 -- trapexit <trapexit@spawn.link>  Sat, 24 Mar 2018 06:53:35 -0700

mergerfs (2.24.1~unknown-unknown) unknown; urgency=medium

  * 24e690b fix versioning with tarball building

 -- trapexit <trapexit@spawn.link>  Fri, 16 Mar 2018 23:27:04 -0400

mergerfs (2.24.0~unknown-unknown) unknown; urgency=medium

  * e521833 bump change date on readme and rebuild man
  * 737d941 bump builtin libfuse version
  * 9830e29 fix version generation
  * cfe9c28 ignore clonepath metadata errors. fixes #470
  * f48c16d stop clonepath at base directory. fixes #467
  * 906702d add hard_remove details and comment on unionfs
  * b4a003c Remove duplicate word in README
  * b48054f add XRP to support list
  * d8f05ac add BCH, ETH, & LTC donation addresses
  * 7d93d59 add explination in FAQ about what mergerfs is / is not
  * 7207e7f faq answer on epmfs
  * f72bb1e update FAQ and misc tweaks
  * bd14f33 add support info and how mergerfs works section
  * 43d50ca Create issue_template.md

 -- trapexit <trapexit@spawn.link>  Fri, 9 Mar 2018 21:14:44 -0500

mergerfs (2.23.1~unknown-unknown) unknown; urgency=medium

  * 1d6d227 call 32bit versions of set/geteuid on 32bit platforms
  * 821d1b6 rebuild manpage
  * ebe737e fixup makefile
  * 9104f25 misc updates to docs
  * c1d85ef expand support section of readme
  * cc1f07e add info on creating a caching behavior

 -- trapexit <trapexit@spawn.link>  Tue, 17 Oct 2017 22:23:27 -0400

mergerfs (2.23.0~unknown-unknown) unknown; urgency=medium

  * 75ed37a add setting of thread pool size
  * 8043829 fixed threads
  * 0708110 improve khash performance
  * a7b126c use pragma once in headers
  * a2bddec add 'ignore path preserving on rename' feature
  * aea2b40 use temp files (then rename) when moving files for moveonenospc

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 3 Jul 2017 00:02:35 -0400

mergerfs (2.22.1~unknown-unknown) unknown; urgency=medium

  * bfd410d use fusepath from fileinfo. closes #417
  * 7296d3d add time.h to fix compiling on some platforms

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sat, 24 Jun 2017 17:04:37 -0400

mergerfs (2.22.0~unknown-unknown) unknown; urgency=medium

  * de0985c add libfuse 2.9.7 to repo and build against libfuse.a
  * 87c2f2f add nullrw feature to facilitate benchmarking

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 2 Jun 2017 16:14:54 -0400

mergerfs (2.21.0~unknown-unknown) unknown; urgency=medium

  * 6a7675f symlinkify: file -> symlink-to-original-file after timeout
  * 8ba3a08 make dropcacheonclose runtime configurable
  * ccaa458 better handle incomplete reads/writes in copying files
  * 162b99e enable nopath and nullpath_ok
  * f15437c tweak movefile behavior
  * 5f3aa6e add more travis build targets
  * 2fbeb67 hide fs::fadvise as it's not used directly
  * 8b976ab support older libfuse without utime_omit_ok flag
  * 1a1fa06 fadvise cleanup
  * 617195d enable utime_omit_ok flag
  * be3eb7e work around getgrouplist signature difference on osx
  * 0600734 handle 32bit and 64bit inode recalculation
  * 9d0798d restructure fadvise
  * e2acffe restructure fallocate abstraction
  * 42d454a abstract futimesat
  * 0b2bf17 abstract access to highres atime/mtime
  * e20d566 use correct integer types
  * 1539aca use compiler's preprocessor rather than cpp explicitly
  * 9d799ff setup travis-ci
  * c043ef9 make fs::attr return ENOTSUP on EINVAL #381
  * 215f129 explicitly define path preservation, better explain move issues
  * bb4ec91 fix incorrect section header syntax

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 5 May 2017 00:47:24 -0400

mergerfs (2.20.0~unknown-unknown) unknown; urgency=medium

  * cf2cb54 add info on inodes running out to faq on filled drives
  * 94ebccc try to clarify how path preserving policies work and other tweaks to docs
  * 4e7e74d update docs to include dropcacheonclose and warn about directory mtime
  * 6aa62d0 add option to drop file caches before closing files
  * 492d895 check metadata on chown/chmod errors when cloning

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 13 Mar 2017 13:43:22 -0400

mergerfs (2.19.0~unknown-unknown) unknown; urgency=medium

  * 9cc9bb9 misc document updates
  * 16e7c72 update documentation, focus on explaining double caching & direct_io
  * a60d815 add ifndefs to all headers
  * e93c946 limit need to explicitly call .c_str()
  * 7b4e1ea remove clone command
  * 726b88e restructure error calculation
  * d67d5de check for system.posix_acl_default before setting umask
  * 1aa76a5 use different read and write functions when using direct_io

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 31 Jan 2017 19:24:48 -0500

mergerfs (2.18.0~unknown-unknown) unknown; urgency=medium

  * 67b48fc compute inode in readdir
  * b1459c6 only remove src/version.hpp if git repo and git available
  * c8fa51c support setting of inodes (using use_ino option)
  * 822204f replace std::set with klib's khash to increase readdir performance
  * 5f7a168 note that mergerfs should be run as root
  * 35075bb return clonepath errors

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 16 Dec 2016 11:16:59 -0500

mergerfs (2.17.0~unknown-unknown) unknown; urgency=medium

  * 05d81db update manpage
  * 3c5351a ignore filesystems which return zeros for statfs. closes #335
  * 3d2283f clang cpp doesn't like grep exiting early
  * 192bb9c remove usage of -D from install
  * 157dae0 define O_LARGEFILE and O_NOATIME if needed
  * 00c814d consolidate and simplify utime
  * 6d6fb45 check if fdatasync is available and return ENOSYS if not
  * 897f20b minor correction of spelling mistake
  * d0b6cd1 further abstraction of system calls
  * 1dc7bff wrap most posix filesystem functions
  * 8f594e1 add flock
  * cd90193 add some more explination to the FAQ
  * cd71af8 add mergerfs.ctl and scorch to tooling section
  * 3fb7f89 add EDQUOT to errors which trigger moveonenospc

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 15 Nov 2016 23:35:06 -0500

mergerfs (2.16.1~unknown-unknown) unknown; urgency=medium

  * dfa8269 update manpage
  * d9a7906 use SYS_setgroup32 syscall if available. closes #319
  * b1f2e94 add information about page cache kernel panic bug

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 19 Sep 2016 17:07:42 -0400

mergerfs (2.16.0~unknown-unknown) unknown; urgency=medium

  * a8cd9b7 recreate manpage
  * 7e423cd small tweaks to build on Debian kFreeBSD
  * 0395e7c fix futimes version of utimes wrapper
  * 9392317 fix #define typo
  * 1513c92 abstract posix_fadvise
  * 158dda9 Fix minor typo
  * 1a698e5 rename include cpp files to have icpp extension
  * 2ee6b4f include sys/types.h to pick up ssize_t
  * 709dda5 support systems without ENODATA

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Wed, 14 Sep 2016 08:50:51 -0400

mergerfs (2.15.0~unknown-unknown) unknown; urgency=medium

  * 49474f0 make futimes crossplatform
  * 34d38cb split sendfile wrapper into separate files
  * 192a9d5 make fs_attr compile on unsupported platforms
  * 40574bd use dynamic buffer for realpath
  * 064fd55 bump FUSE_USE_VERSION to 29
  * 45f757d add osx version of fallocate
  * 0fceb8e add epall and eprand policies
  * 7634eb1 replace nonstandard eaccess with POSIX.1-2008 faccessat
  * 47f184a fix typo and clarify feature

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sun, 7 Aug 2016 14:46:43 -0400

mergerfs (2.14.0~unknown-unknown) unknown; urgency=medium

  * a93ab6c add existing path first found policy. closes #289
  * 43cbd9c move size calculations to use uint64_t. fixes #287
  * 9f36ead add license title
  * 30cdfa6 reiterate path preserving policies

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 11 Jul 2016 20:50:32 -0400

mergerfs (2.13.1~unknown-unknown) unknown; urgency=medium

  * 3cb2045 update man page
  * 6dc6fde update info on mmap bug and when it was fixed
  * cb35a37 rework fallocate logic
  * 23b8e45 fix ioctl on directories

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 19 May 2016 17:30:07 -0400

mergerfs (2.13.0~unknown-unknown) unknown; urgency=medium

  * 3a50344 update man page
  * be6341e create eplus (existing path, least used space) policy. closes #273
  * f7d3e8b create lus (least used space) policy. closes #273
  * 74ed1b0 faq update on direct writes
  * d0414d7 clean up information regarding fstab
  * ef8d8f3 add fsname to readme
  * cd15b7a further tweak language regarding policies wrt create category
  * 8643d35 make policy descriptions more explicit
  * 1cfe1c3 tweak doc language
  * dbb13ef add details of mmap cache bug
  * 90ca14a add dual mount suggestion to mmap problem
  * cfaf812 add details regarding rtorrent, mmap, and direct_io
  * 0c6c69e update readme to include mergerfs.dedup
  * 309cfee change tar.gz build url

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sat, 7 May 2016 15:19:34 -0400

mergerfs (2.12.3~unknown-unknown) unknown; urgency=medium

  * 382ca87 tweak man page creation
  * 070ed08 properly check errors of xattr. closes #255

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 10 Mar 2016 18:43:12 -0500

mergerfs (2.12.2~unknown-unknown) unknown; urgency=medium

  * 6492fda update precompiled man page
  * 2061211 fix rename failing on non-path preserving policies
  * 4928944 clarify that rename uses the create policy to make decisions

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sun, 6 Mar 2016 02:23:47 -0500

mergerfs (2.12.1~unknown-unknown) unknown; urgency=medium

  * 12cf57d re-add minfreespace check to epmfs policy
  * 59b08a5 change tooling names and add guide link

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 4 Mar 2016 13:56:15 -0500

mergerfs (2.12.0~unknown-unknown) unknown; urgency=medium

  * f4a4cc5 fix building of platform specific deb packages
  * ef4c583 fix printing of versions with no changes
  * 4ecf3c5 clearly separate usage of statvfs from stat for file existance
  * 779143f add minfreespace checks to policy ff's create and remove fwfs
  * 4d7148c update readme with minfreespace and readonly details
  * 14886a2 add readonly and minfreespace filters to all policy for creates. closes #236
  * 9819cf6 fix clonepath being called on wrong source
  * c56b488 fix creation of changelog
  * e593927 normalize error handling in rename policy
  * 7c85cd9 ff policy tweaks
  * 5cf3bb7 override standard libfuse version flag
  * 25a0399 minor tweaks to filesystem utility functions
  * 792c9b9 use stat/2 rather than statvfs/2 to find file drive

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 1 Mar 2016 00:19:59 -0500

mergerfs (2.11.0~unknown-unknown) unknown; urgency=medium

  * a698a8a update / tweak readme
  * d4ec341 remove unnecessary policies
  * 5813d1e ignore drives mounted as readonly from create policies. closes #224
  * a4e60d7 add eplfs info to readme

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sun, 21 Feb 2016 18:31:02 -0500

mergerfs (2.10.0~unknown-unknown) unknown; urgency=medium

  * f3e75a0 use stat.st_dev to uniquely identify mounts for statfs. closes #213
  * b3248a8 simplify policies
  * 7bf1ca4 add existing path, least free space policy. closes #216
  * 6086620 use references to srcmounts rather than copies
  * 3a51ceb add some "why mergerfs instead of X" sections to the FAQ
  * 681f3d7 add section to readme about trash directories
  * 0bac344 add information on fixing libfuse crashes
  * 840f9b8 remove sbin from rpm spec file

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 15 Feb 2016 22:57:35 -0500

mergerfs (2.9.1~unknown-unknown) unknown; urgency=medium

  * f779f82 fix statvfs drive dedup. closes #209

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 22 Jan 2016 10:16:01 -0500

mergerfs (2.9.0~unknown-unknown) unknown; urgency=medium

  * 3e20adb remove clone test tool
  * e285bde update the precompiled man page
  * 853769b general tweaks to readme
  * ea32575 make symlink function like mknod/mkdir. closes #204
  * 1d1694b fix indexing of mknod targets. closes #202
  * 93397ea remove incorrect warning about race condition with mkdir/mknod
  * 25265f4 dedup based on full statvfs struct rather than fsid. closes #183
  * de776b7 remove tooling from repo. closes #198
  * 62f8fc5 have link act similar to rename
  * 242af77 move from MIT to ISC license. closes #194
  * 4c77ac4 all action functions return success should at least one succeed. closes #189
  * b811522 update man page
  * 8a5c524 replace srcpoints with srcmounts
  * a3e6a03 rework rename algo to minimize likelihood of EXDEV being returned. closes #187
  * eb6d1a1 change to using template for policy class
  * 55c4a32 add artifacts to gitignore
  * 51ae7d1 change make to work with non-bash shells
  * c731b70 fix building without xattr
  * 9e24796 add mergerfs pid to xattrs

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 21 Jan 2016 14:55:15 -0500

mergerfs (2.8.0~unknown-unknown) unknown; urgency=medium

  * 5e880bd use SYS_setgroups rather than setgroups
  * 8a651b0 add support section to readme and manpage
  * 93cedab fix misc issues flagged by clang scan-build
  * fd4ce1b include distro and codename in deb package versions

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 29 Oct 2015 23:38:45 -0400

mergerfs (2.7.0~unknown-unknown) unknown; urgency=medium

  * f3a6876 remove pandoc from build requirements
  * 30c29c9 remove manpage from root directory
  * 8ed11a0 if pandoc doesn't exist copy premade version
  * 46c8361 offer prebuilt manpage for platforms without easy access to pandoc
  * 02df441 update info on Samba client EXDEV issue
  * fe79609 fix typo
  * 873c4a9 add link to gvfs-fuse patch
  * 4df9b2e add documentation on SMB client EXDEV / EIO issue
  * 1c7de2d fix minor integer casting issues
  * a10de2a update build dependencies for Fedora
  * 3d7d2cf add sbin directory to rpm spec
  * 5489952 enhance git2debcl to work with older python releases
  * 068fbc0 set rpm dependency to fuse
  * 5a76c41 create mount.mergerfs symlink. closes #149
  * 58446f9 misc fixes to compile on older platforms
  * 40f569b rewrite gid cache system
  * f6d396c audit (and fix) file permissions and ownership. closes #148
  * 53e3284 remove usage of UINT32_MAX macro
  * 09ffc8c provide usage text and version info. closes #146

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sun, 18 Oct 2015 00:15:28 -0400

mergerfs (2.6.0~unknown-unknown) unknown; urgency=medium

  * c289daf swap deb and unsigned-deb make tagets. closes #140
  * 5808ab7 move on enospc when writing feature. closes #141
  * 4e5578d make note about escaping glob tokens more explicit
  * 4b375fa include rpm-build in Fedora dependencies
  * 9542e63 include link to release page in readme
  * de583b7 clean up options listing
  * 8bf0f75 create summary feature section

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sat, 26 Sep 2015 14:14:04 -0400

mergerfs (2.5.0~unknown-unknown) unknown; urgency=medium

  * 5850fbe bump README date
  * a960a7e cleanup controlfile manipulation
  * e0cf972 include default_permissions in default arguments
  * f4e3f28 change README regarding setgroups cache and new rwlock ugid fallback
  * 08c0c2d fix typo in README. closes #134
  * 3163258 make changing credentials opportunistic + per thread setgroups cache
  * b194272 add notes on permissions and errors to readme
  * c131310 include known issues section to readme

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 14 Sep 2015 22:45:45 -0400

mergerfs (2.4.0~unknown-unknown) unknown; urgency=medium

  * ce93529 realpath'ize all source mount points. closes #117
  * 2d89947 fix non-suffixed setxattr of user.mergerfs.minfreespace
  * e98b801 remove version.hpp on clean
  * b22528b add user.mergerfs.version xattr
  * e377d54 add user.mergerfs.policies xattr
  * 08d07b7 add building of rpm
  * 305f190 add basic instructions for building on Fedora
  * 8178bf5 refactor and simplify getxattr for user.mergerfs.\*

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sun, 6 Sep 2015 18:25:21 -0400

mergerfs (2.3.0~unknown-unknown) unknown; urgency=medium

  * aea5e44 use correct variable for finding version
  * bc77b0f add minfreespace check to epmfs create policy
  * 1f1e481 rework rename
  * 7a93198 forgot to add einval to policy
  * bbc75f6 create errno policies for simulating errors. closes #107
  * 126df0f fix epmfs failing to pick the existing path. closes #102
  * ab68ac0 enhance deb building
  * e73ea33 format README better for man pages

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Wed, 2 Sep 2015 08:02:26 -0400

mergerfs (2.2.0~unknown-unknown) unknown; urgency=medium

  * 9519251 update README regarding options
  * 8767db9 remove unused variable
  * 267f2d2 move requesting of FUSE flags to init from cli args
  * f130d07 config get and struct naming cleanup
  * 52d8029 passthrough ioctl args without processing. closes #90
  * c60d038 use gte rather than gt for mtime comparisons. fixes #91

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Wed, 5 Aug 2015 12:30:14 -0400

mergerfs (2.1.2~unknown-unknown) unknown; urgency=medium

  * 80b2c35 add creation of full path for open
  * 983fa91 change fuse functions to use the fuse namespace
  * e5359eb remove unused readdir function
  * f00cd14 use pthread_getugid_np instead of gete{u,g}id on OSX. fixes #84

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 16 Jul 2015 16:58:14 -0400

mergerfs (2.1.1~unknown-unknown) unknown; urgency=medium

  * 4d60538 ignore ENOTSUP errors when cloning paths. fixes #82

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 13 Jul 2015 12:21:48 -0400

mergerfs (2.1.0~unknown-unknown) unknown; urgency=medium

  * aafc1e9 add str to size_t conversion code
  * b3109ac add minfreespace to xattr interface
  * d079856 add info on lfs and fwfs policies and minfreespace option
  * c101430 rework category -> fuse function table
  * b2cd791 stop auto calculating and storing fullpath in policies
  * 0c60701 create different policies based on category of use
  * 51b6d3f add category to policies so as to distinguish between creates and searches
  * 6ca4389 separate policies into individual modules
  * 3c8f122 move policy function type from fs to policy
  * 2bd4456 move Path object to separate file
  * 8e5b796 create lfs policy. closes #73
  * 58167c3 first w/ free space policy. closes #72
  * ccb22c1 create minfreespace option. closes #71

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sun, 5 Jul 2015 21:03:34 -0400

mergerfs (2.0.1~unknown-unknown) unknown; urgency=medium

  * ad7ce48 fix readme typos and misc formatting
  * fe0f442 add Tips and FAQ section to readme
  * 1879c9c update readme with defaults option info
  * 45b73e5 fix calling of lgetxattr. closes #68

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 5 Jun 2015 20:13:24 -0400

mergerfs (2.0.0~unknown-unknown) unknown; urgency=medium

  * 5fb2775 attempt to set priority to -10 on startup. closes #65
  * 4b204b8 restrict who can setxattr the pseudo file. closes #64
  * 33c837a provide 'defaults' option. closes #58
  * 951b22b set FUSE subtype to 'mergerfs'. closes #59
  * 74c334c add default policies for categories and description of `all`
  * 08366a3 match cli options to xattrs
  * 91671d7 remove FileInfo and keep only file descriptor
  * c022741 revert removal of 'all' policy and relevant behavior. closes #54
  * 12f393a per FUSE function policies. closes #52, #53

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 17 Mar 2015 20:40:35 -0400

mergerfs (1.7.1~unknown-unknown) unknown; urgency=medium

  * 283a2b2 Try RLIMIT_INFINITY first, then cur = max, then loop and try to increase till error. closes #50
  * 1a1c9db close file after getting ioc flags. closes #48

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 17 Feb 2015 11:48:55 -0500

mergerfs (1.7.0~unknown-unknown) unknown; urgency=medium

  * d30cae2 add user.mergerfs.allpaths and user.mergerfs.relpath to getxattr
  * 2e95c6e merge action and search category
  * b411c63 Remove 'all' policy and simplify logic
  * 1f90203 use standard platform macros. closes #43
  * c2cbb93 elevate privileges when calling clonepath. closes #41
  * 6276ce9 handle EEXIST while cloning a path. closes #40
  * d1f3bd8 add clonepath tool
  * 031b87f slight refactoring
  * 5dd0729 remove longest common prefix from fsname. closes #38

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sat, 7 Feb 2015 18:49:36 -0500

mergerfs (1.6.0~unknown-unknown) unknown; urgency=medium

  * 6c3ff01 pass const strings by reference. closes #33
  * d7ede20 provide stat to readdir filler. closes #32
  * 613b996 support RHEL6. closes #29

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 10 Nov 2014 21:11:17 -0500

mergerfs (1.5.1~unknown-unknown) unknown; urgency=medium

  * 47522a2 exclude merges in the debian changelog. closes #28

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 29 Sep 2014 19:30:12 -0400

mergerfs (1.5.0~unknown-unknown) unknown; urgency=medium

  * 075d62d add support for ioctl on directories. closes #27

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 26 Sep 2014 18:33:51 -0400

mergerfs (1.4.1~unknown-unknown) unknown; urgency=medium

  * cfe7609 find functions now return errors. closes #24
  * 8f35406 use lstat to confirm file existance instead of eaccess. closes #25
  * 4ea1adb use f_frsize rather than f_bsize for mfs calculations. closes #26
  * 15f8849 add custom git log to debian changelog script

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Sat, 23 Aug 2014 11:44:40 -0400

mergerfs (1.4.0~unknown-unknown) unknown; urgency=medium

  * 7e9ccd0 support runtime setting of srcmounts. closes #12

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Fri, 8 Aug 2014 10:20:27 -0400

mergerfs (1.3.0~unknown-unknown) unknown; urgency=medium

  * 992e05e update docs for xattr features
  * b82db46 getxattr for user.mergerfs.{base,full}path returns the source paths. closes #23
  * 7b0d703 only allow manipulation of runtime settings via xattrs. closes #22

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Thu, 31 Jul 2014 17:27:43 -0400

mergerfs (1.2.4~unknown-unknown) unknown; urgency=medium

  * 45cec2d use int instead of long for ioctl. fixes #21

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 22 Jul 2014 07:07:25 -0400

mergerfs (1.2.3~unknown-unknown) unknown; urgency=medium

  * 2295714 on ENOENT try cloning the dest path to source drive. closes #20

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 7 Jul 2014 21:54:38 -0400

mergerfs (1.2.2~unknown-unknown) unknown; urgency=medium

  * ccb0ac1 generate the controlfile data on the fly. closes #19
  * 15a0416 don't flush if it's the .mergerfs pseudo file. closes #18
  * ec38a9c fix rename'ing to local device

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Wed, 25 Jun 2014 15:17:26 -0400

mergerfs (1.2.1~unknown-unknown) unknown; urgency=medium

  * 3b6c748 use geteuid syscall as well

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 23 Jun 2014 12:17:09 -0400

mergerfs (1.2.0~unknown-unknown) unknown; urgency=medium

  * f385f02 add -O2 to CFLAGS
  * 0e12d79 platform specific code to deal with sete{u,g}id. closes #17
  * 7164535 add flush callback. closes #16
  * dd66607 add {read,write}_buf functions. closes #15
  * 0f8fe47 add man file via markdown -> man conversion with pandoc. closes #14
  * 45a2e09 reverse source and destination mount points to match fstab requirements. closes #13
  * 645c823 source mount paths can contain globing. closes #10
  * 1835826 fsname set to list of src mounts. closes #9
  * 4a0bc4a add debian package building. closes #11
  * e2e0359 fix free space calculations. closes #8
  * 655436f further Makefile enhancements

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Wed, 18 Jun 2014 10:40:54 -0400

mergerfs (1.1.0~unknown-unknown) unknown; urgency=medium

  * a7d9a9b enhance Makefile
  * 36887e4 when readdir's filler returns non-zero return ENOMEM. closes #7
  * 652a299 add fgetattr. closes #5
  * aab90b0 rework policy code
  * 345d0bb use eaccess to determine permissions for ffwp. closes #2
  * 4c7095c remove stat'ing of files in readdir. closes #3

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Wed, 28 May 2014 21:39:07 -0400

mergerfs (1.0.2~unknown-unknown) unknown; urgency=medium

  * bbc4b59 fs::make_path should check for forward slashes, add if missing
  * 16fe0cf remove statfs policy
  * 29ed2bc add FS_IOC_{GET}VERSION to ioctl
  * 243a193 use long instead of int to limit possibility of overflow in switch, closes #1
  * 97ce6f5 use {get,list,set}xattr to modify runtime
  * 428dd8c update build instructions in readme

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Tue, 27 May 2014 07:17:32 -0400

mergerfs (1.0.1~unknown-unknown) unknown; urgency=medium

  * 7f640c4 fix building without libattr

 -- Antonio SJ Musumeci <trapexit@spawn.link>  Mon, 19 May 2014 09:34:31 -0400

