diff --git a/include/fuse.h b/include/fuse.h
index a7182ac..b6ecaef 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -12,9 +12,9 @@
 /* This file defines the library interface of FUSE */
 
 /* IMPORTANT: you should define FUSE_USE_VERSION before including this
-   header.  To use the newest API define it to 25 (recommended for any
-   new application), to use the old API define it to 21 (default) or
-   22, to use the even older 1.X API define it to 11. */
+   header.  To use the newest API define it to 26 (recommended for any
+   new application), to use the old API define it to 21 (default) 22
+   or 25, to use the even older 1.X API define it to 11. */
 
 #ifndef FUSE_USE_VERSION
 #define FUSE_USE_VERSION 21
diff --git a/lib/fuse.c b/lib/fuse.c
index 0ce05a6..ac6a2d5 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -1232,8 +1232,9 @@
     path = get_path(f, ino);
     if (path != NULL) {
         if (f->conf.debug) {
-            printf("READ[%llu] %u bytes from %llu\n",
-                   (unsigned long long) fi->fh, size, off);
+            printf("READ[%llu] %lu bytes from %llu\n",
+                   (unsigned long long) fi->fh, (unsigned long) size,
+                   (unsigned long long) off);
             fflush(stdout);
         }
 
@@ -1271,9 +1272,9 @@
     path = get_path(f, ino);
     if (path != NULL) {
         if (f->conf.debug) {
-            printf("WRITE%s[%llu] %u bytes to %llu\n",
+            printf("WRITE%s[%llu] %lu bytes to %llu\n",
                    fi->writepage ? "PAGE" : "", (unsigned long long) fi->fh,
-                   size, off);
+                   (unsigned long) size, (unsigned long long) off);
             fflush(stdout);
         }
 
