diff --git a/docs/docs/functions/date.md b/docs/docs/functions/date.md
index a37f9d7..88a674d 100644
--- a/docs/docs/functions/date.md
+++ b/docs/docs/functions/date.md
@@ -140,6 +140,58 @@ Date part of ISO 8601,
```
+## DIFF
+
+Calculate the difference between two dates in specified units.
+
+### Usage
+```transformers
+"$$date(DIFF,{units},{end}):{input}"
+```
+### Returns
+`integer`
+### Arguments
+| Argument | Type | Values | Required / Default Value | Description |
+|----------|-----------------------|-----------------------------------|-------------------------------|--------------------------------|
+| `units` | `Enum` (`ChronoUnit`) | `SECONDS`/`MINUTES`/ ... /`DAYS` | Yes | The units of calculated result |
+| `end` | `Date` | | Yes | End date |
+
+### Examples
+
+```mdx-code-block
+
+```
+
+**Input**
+
+**Definition**
+
+**Output**
+
+```json
+"2024-01-01"
+```
+```transformers
+"$$date(DIFF,DAYS,2025-01-01):$"
+```
+```json
+366
+```
+
+```json
+"2025-01-01"
+```
+```transformers
+"$$date(DIFF,DAYS,2026-01-01):$"
+```
+```json
+365
+```
+
+```mdx-code-block
+
+```
+
## EPOCH
Seconds passed since 1970-01-01; unless `type`=`MS` then milliseconds,
diff --git a/java/json-transform/build.gradle b/java/json-transform/build.gradle
index 240a156..36c0c6a 100644
--- a/java/json-transform/build.gradle
+++ b/java/json-transform/build.gradle
@@ -9,7 +9,7 @@ plugins {
}
group 'co.nlighten'
-version = '0.5.2'
+version = '0.6.0'
ext {
gsonVersion = "2.10.1"
diff --git a/java/json-transform/src/main/java/co/nlighten/jsontransform/DebuggableTransformerFunctions.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/DebuggableTransformerFunctions.java
new file mode 100644
index 0000000..01a54b4
--- /dev/null
+++ b/java/json-transform/src/main/java/co/nlighten/jsontransform/DebuggableTransformerFunctions.java
@@ -0,0 +1,44 @@
+package co.nlighten.jsontransform;
+
+import co.nlighten.jsontransform.adapters.JsonAdapter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class DebuggableTransformerFunctions, JO extends JE> extends TransformerFunctions{
+ private final Map debugResults;
+
+ public record TransformerDebugInfo(Object result) {}
+
+ public DebuggableTransformerFunctions(JsonAdapter adapter) {
+ super(adapter);
+ debugResults = new HashMap<>();
+ }
+
+ private TransformerFunctions.FunctionMatchResult