diff --git a/payload_consumer/payload_constants.cc b/payload_consumer/payload_constants.cc
index f25bd4c..4719be8 100644
--- a/payload_consumer/payload_constants.cc
+++ b/payload_consumer/payload_constants.cc
@@ -37,7 +37,7 @@
 const uint32_t kZucchiniMinorPayloadVersion = 8;
 
 const uint32_t kMinSupportedMinorPayloadVersion = kSourceMinorPayloadVersion;
-const uint32_t kMaxSupportedMinorPayloadVersion = kZucchiniMinorPayloadVersion;
+const uint32_t kMaxSupportedMinorPayloadVersion = kLZ4DIFFMinorPayloadVersion;
 
 const uint64_t kMaxPayloadHeaderSize = 24;
 
@@ -68,6 +68,10 @@
       return "BROTLI_BSDIFF";
     case InstallOperation::ZUCCHINI:
       return "ZUCCHINI";
+    case InstallOperation::LZ4DIFF_BSDIFF:
+      return "LZ4DIFF_BSDIFF";
+    case InstallOperation::LZ4DIFF_PUFFDIFF:
+      return "LZ4DIFF_PUFFIDFF";
     case InstallOperation::BSDIFF:
     case InstallOperation::MOVE:
       NOTREACHED();
diff --git a/payload_consumer/payload_constants.h b/payload_consumer/payload_constants.h
index 28edf4e..31e24f7 100644
--- a/payload_consumer/payload_constants.h
+++ b/payload_consumer/payload_constants.h
@@ -62,6 +62,9 @@
 // The minor version that allows ZUCCHINI operation.
 extern const uint32_t kZucchiniMinorPayloadVersion;
 
+// THe minor version that allows LZ4DIFF operation
+constexpr uint32_t kLZ4DIFFMinorPayloadVersion = 9;
+
 // The minimum and maximum supported minor version.
 extern const uint32_t kMinSupportedMinorPayloadVersion;
 extern const uint32_t kMaxSupportedMinorPayloadVersion;
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index 178261e..cbdecef 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -26,6 +26,7 @@
 #include <libsnapshot/cow_format.h>
 
 #include "bsdiff/constants.h"
+#include "payload_consumer/payload_constants.h"
 #include "update_engine/common/utils.h"
 #include "update_engine/payload_consumer/delta_performer.h"
 #include "update_engine/payload_generator/boot_img_filesystem.h"
@@ -240,7 +241,8 @@
                         minor == kPuffdiffMinorPayloadVersion ||
                         minor == kVerityMinorPayloadVersion ||
                         minor == kPartialUpdateMinorPayloadVersion ||
-                        minor == kZucchiniMinorPayloadVersion);
+                        minor == kZucchiniMinorPayloadVersion ||
+                        minor == kLZ4DIFFMinorPayloadVersion);
   return true;
 }
 
@@ -274,6 +276,9 @@
 
     case InstallOperation::ZUCCHINI:
       return minor >= kZucchiniMinorPayloadVersion;
+    case InstallOperation::LZ4DIFF_BSDIFF:
+    case InstallOperation::LZ4DIFF_PUFFDIFF:
+      return minor >= kLZ4DIFFMinorPayloadVersion;
 
     case InstallOperation::MOVE:
     case InstallOperation::BSDIFF:
diff --git a/update_metadata.proto b/update_metadata.proto
index 6164a4d..d318a62 100644
--- a/update_metadata.proto
+++ b/update_metadata.proto
@@ -190,6 +190,10 @@
 
     // On minor version 8 or newer, these operations are supported:
     ZUCCHINI = 11;
+
+    // On minor version 9 or newer, these operations are supported:
+    LZ4DIFF_BSDIFF = 12;
+    LZ4DIFF_PUFFDIFF = 13;
   }
   required Type type = 1;
 
