Whenever there's an interface breaking change (a change in the project's major version), required migration instructions will be detailed in this file.
- your code to depend on types from
eredis:
and not (imported)eredis.hrl
(a simpledialyzer
procedure should put into evidence what is mis-specified) - where you're importing the
eredis.hrl
header and using typeX()
, remove the import and useeredis:X()
instead; do this for typesparser_state
,continuation_data
, andpstate
- your code to not depend on
eredis.hrl
macrosNL
,SOCKET_OPTS
,TCP_SOCKET_OPTS
,SSL_SOCKET_OPTS
,RECV_TIMEOUT
orSEND_TIMEOUT
; copy their content fromsrc/eredis.hrl
- your code's import of
eredis.hrl
- your code's import of
eredis_sub.hrl
- calls to
:q_async/2
andq_async/3
and matching of their asynchronous replies:
% where before you had:
eredis:q_async(Client, Command) ->
% [...]
handle_info({response, Reply}, State) ->
% [...]
% now you should have:
{await, ReplyTag} = eredis:q_async(Client, Command),
NewState = State#state{ reply_tag = ReplyTag }.
% [...]
handle_info({ReplyTag, Reply}, State) when ReplyTag =:= State#state.reply_tag ->
% [...]