anchor.diff:  %%    | include_docs | {since, integer()}
   %%    | {timeout, integer()}
   %%    | heartbeat | {heartbeat, integer()}
  -%%    | {filter, string()} | {filter, string(), list({string(), string() | integer()}</pre>
  +%%    | {filter, string()} | {filter, string(), list({string(), string() | integer()})}
  +%%    | {view, string()}]</pre>
   %%
   %%   <ul>
   %%      <li><code>continuous | longpoll | normal</code>: set the type of changes
   %%          feed to get</li>
   %%      <li><code>include_doc</code>: if you want to include the doc in the line of
   %%          change</li>
  -%%      <li><code>{timeout, Timeout::integer()}</code>:: timeout</li>
  +%%      <li><code>{timeout, Timeout::integer()}</code>: timeout</li>
   %%      <li><code>heartbeat | {heartbeat, Heartbeat::integer()}</code>: set couchdb
   %%          to send a heartbeat to maintain connection open</li>
   %%      <li><code>{filter, FilterName} | {filter, FilterName, Args::list({key,
  -%%          value})</code>: set the filter to use with optional arguments</li>
  +%%          value})}</code>: set the filter to use with optional arguments</li>
  +%%      <li><code>{view, ViewName}</code>: use a view function as filter. Note
  +%%          that it requires to set filter special value <code>"_view"</code>
  +%%          to enable this feature.</li>
   %%   </ul></p>
   %%
   %% <p> Return {ok, StartRef, ChangesPid} or {error, Error}. Ref can be
  
positive.code: %%    | include_docs | {since, integer()}
  %%    | {timeout, integer()}
  %%    | heartbeat | {heartbeat, integer()}
  %%    | {filter, string()} | {filter, string(), list({string(), string() | integer()}</pre>
  %%
  %%   <ul>
  %%      <li><code>longpoll | normal</code>: set the type of changes
  
negative.code:     parse_changes_options(Rest, Args#changes_args{http_options=Opts1});
  parse_changes_options([heartbeat|Rest], #changes_args{http_options=Opts} = Args) ->
      Opts1 = [{"heartbeat", "true"}|Opts],
      parse_changes_options(Rest, Args#changes_args{http_options=Opts1});
  parse_changes_options([{view, ViewName}|Rest], #changes_args{http_options=Opts} = Args) ->
      Opts1 = [{"view", ViewName}|Opts],
      parse_changes_options(Rest, Args#changes_args{http_options=Opts1});
  parse_changes_options([{filter, FilterName}|Rest], #changes_args{http_options=Opts} = Args) ->
      Opts1 = [{"filter", FilterName}|Opts],
  