Use ddoc_cache and new fetch rpc format
diff --git a/src/couch_changes.erl b/src/couch_changes.erl
index 7547aef..0d418e8 100644
--- a/src/couch_changes.erl
+++ b/src/couch_changes.erl
@@ -229,9 +229,12 @@
     FilterNameParts = string:tokens(FilterName, "/"),
     case [?l2b(couch_httpd:unquote(Part)) || Part <- FilterNameParts] of
         [DName, FName] ->
-            {ok, DDoc} = open_ddoc(Db, <<"_design/", DName/binary>>),
+            DesignId = <<"_design/", DName/binary>>,
+            {ok, DDoc} = ddoc_cache:open_doc(fabric:dbname(Db), DesignId),
             check_member_exists(DDoc, [<<"filters">>, FName]),
-            {custom, Style, Req, DDoc, FName};
+            DIR = fabric_util:doc_id_and_rev(DDoc),
+            {fetch, Style, Req, DIR, FName};
+
         [] ->
             {default, Style};
         _Else ->