diff --git a/pom.xml b/pom.xml
index 9611feb28..ab0d04495 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-parent
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOTpomSpring Data REST
diff --git a/spring-data-rest-core/pom.xml b/spring-data-rest-core/pom.xml
index 9698fd36f..3212872e4 100644
--- a/spring-data-rest-core/pom.xml
+++ b/spring-data-rest-core/pom.xml
@@ -11,7 +11,7 @@
org.springframework.dataspring-data-rest-parent
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
diff --git a/spring-data-rest-distribution/pom.xml b/spring-data-rest-distribution/pom.xml
index 93104d637..0cb18b71c 100644
--- a/spring-data-rest-distribution/pom.xml
+++ b/spring-data-rest-distribution/pom.xml
@@ -13,7 +13,7 @@
org.springframework.dataspring-data-rest-parent
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
diff --git a/spring-data-rest-hal-explorer/pom.xml b/spring-data-rest-hal-explorer/pom.xml
index d95562418..7baf4388c 100644
--- a/spring-data-rest-hal-explorer/pom.xml
+++ b/spring-data-rest-hal-explorer/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-parent
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOTspring-data-rest-hal-explorer
diff --git a/spring-data-rest-tests/pom.xml b/spring-data-rest-tests/pom.xml
index 3c43fc597..a18064c1e 100644
--- a/spring-data-rest-tests/pom.xml
+++ b/spring-data-rest-tests/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-parent
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
diff --git a/spring-data-rest-tests/spring-data-rest-tests-core/pom.xml b/spring-data-rest-tests/spring-data-rest-tests-core/pom.xml
index 45b41e32b..625586e0a 100644
--- a/spring-data-rest-tests/spring-data-rest-tests-core/pom.xml
+++ b/spring-data-rest-tests/spring-data-rest-tests-core/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-tests
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
@@ -21,7 +21,7 @@
org.springframework.dataspring-data-rest-webmvc
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT
diff --git a/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml b/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml
index 5928e0aec..b67ea8fc6 100644
--- a/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml
+++ b/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-tests
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
@@ -21,7 +21,7 @@
org.springframework.dataspring-data-rest-tests-core
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOTtest-jar
diff --git a/spring-data-rest-tests/spring-data-rest-tests-mongodb/pom.xml b/spring-data-rest-tests/spring-data-rest-tests-mongodb/pom.xml
index 88169ef90..3c8e97822 100644
--- a/spring-data-rest-tests/spring-data-rest-tests-mongodb/pom.xml
+++ b/spring-data-rest-tests/spring-data-rest-tests-mongodb/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-tests
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
@@ -33,7 +33,7 @@
org.springframework.dataspring-data-rest-tests-core
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOTtest-jar
diff --git a/spring-data-rest-tests/spring-data-rest-tests-security/pom.xml b/spring-data-rest-tests/spring-data-rest-tests-security/pom.xml
index e7b004aa8..02097c76e 100644
--- a/spring-data-rest-tests/spring-data-rest-tests-security/pom.xml
+++ b/spring-data-rest-tests/spring-data-rest-tests-security/pom.xml
@@ -5,7 +5,7 @@
org.springframework.dataspring-data-rest-tests
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
@@ -22,7 +22,7 @@
org.springframework.dataspring-data-rest-tests-core
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOTtest-jar
diff --git a/spring-data-rest-tests/spring-data-rest-tests-shop/pom.xml b/spring-data-rest-tests/spring-data-rest-tests-shop/pom.xml
index 10a860694..1a79c434c 100644
--- a/spring-data-rest-tests/spring-data-rest-tests-shop/pom.xml
+++ b/spring-data-rest-tests/spring-data-rest-tests-shop/pom.xml
@@ -4,7 +4,7 @@
org.springframework.dataspring-data-rest-tests
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOTSpring Data REST Tests - Shopspring-data-rest-tests-shop
diff --git a/spring-data-rest-webmvc/pom.xml b/spring-data-rest-webmvc/pom.xml
index f789a323e..3d378ef2e 100644
--- a/spring-data-rest-webmvc/pom.xml
+++ b/spring-data-rest-webmvc/pom.xml
@@ -11,7 +11,7 @@
org.springframework.dataspring-data-rest-parent
- 5.2.0-SNAPSHOT
+ 5.2.0-1544-SNAPSHOT../pom.xml
diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/MappingJacksonValueResponseBodyAdvice.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/MappingJacksonValueResponseBodyAdvice.java
new file mode 100644
index 000000000..a08f03f05
--- /dev/null
+++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/MappingJacksonValueResponseBodyAdvice.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2024-present the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.rest.webmvc.config;
+
+import tools.jackson.databind.ser.FilterProvider;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jspecify.annotations.Nullable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.MethodParameter;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
+
+/**
+ * {@link ResponseBodyAdvice} that transparently handles
+ * {@link org.springframework.http.converter.json.MappingJacksonValue} return values from
+ * {@link org.springframework.data.rest.webmvc.RepositoryRestController} methods. In Spring Framework 7,
+ * {@code MappingJacksonValue} is no longer supported as a direct return type by the Jackson message converters
+ * (which now use Jackson 3 / {@code tools.jackson}). This advice unwraps the inner value so that the HAL
+ * message converters can serialize it correctly, producing proper {@code _links} output.
+ *
+ *
Any {@link FilterProvider} set on the {@code MappingJacksonValue} is propagated as a Jackson 3 converter
+ * hint provided it is already an instance of {@link tools.jackson.databind.ser.FilterProvider}. If a legacy
+ * Jackson 2 ({@code com.fasterxml.jackson.databind.ser.FilterProvider}) instance is detected, a warning is
+ * logged and the filter is skipped; callers should migrate to Jackson 3's
+ * {@link tools.jackson.databind.ser.std.SimpleFilterProvider} instead.
+ *
+ *
Serialization views set via {@code MappingJacksonValue#setSerializationView(Class)} are always forwarded
+ * as hints regardless of the Jackson version.
+ *
+ * @author Steve Rutherford
+ * @see ResponseBodyAdvice#determineWriteHints(Object, MethodParameter, MediaType, Class)
+ */
+@SuppressWarnings({ "deprecation", "removal" })
+class MappingJacksonValueResponseBodyAdvice implements ResponseBodyAdvice