diff --git a/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java b/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java
index 7be35ec0..3e411ef6 100644
--- a/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java
+++ b/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java
@@ -253,6 +253,14 @@ public enum Feature {
*/
ACCEPT_CASE_INSENSITIVE_PROPERTIES,
+ /**
+ * Override for MapperFeature.ACCEPT_CASE_INSENSITIVE_VALUES
.
+ * Only affects deserialization, has no effect on serialization.
+ *
+ * @since 2.10
+ */
+ ACCEPT_CASE_INSENSITIVE_VALUES,
+
/**
* Override for SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS
,
* similar constraints apply.
diff --git a/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java b/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java
index c1d2ac8a..bfe53893 100644
--- a/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java
+++ b/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java
@@ -186,6 +186,17 @@ public void testLeniency() {
assertFalse(dunno.equals(lenient));
}
+ public void testCaseInsensitiveValues() {
+ JsonFormat.Value empty = JsonFormat.Value.empty();
+ assertNull(empty.getFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES));
+
+ JsonFormat.Value insensitive = empty.withFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES);
+ assertTrue(insensitive.getFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES));
+
+ JsonFormat.Value sensitive = empty.withoutFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES);
+ assertFalse(sensitive.getFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES));
+ }
+
public void testShape() {
assertFalse(JsonFormat.Shape.STRING.isNumeric());
assertFalse(JsonFormat.Shape.STRING.isStructured());