Upgrading to absinthe 1.5, Issues with nil being turning into ""

Here are my old deps:

{:absinthe_plug, "~> 1.4"},
{:absinthe_relay, "~> 1.4"},

And the new ones:

{:absinthe, "~> 1.5"},
{:absinthe_plug, "~> 1.5"},
{:absinthe_relay, "~> 1.5"},

With the old deps, I could do something like this

variables = %{something: nil}
|> get("/graphql", query: query, variables: variables)

And in my resolver

def some_resolver(%{something: nil}, _), do: handle_nil
def some_resolver(%{something: something}, _), do: handle_something(something) 

A lot of tests failed when I upgraded, and I noticed that now something is "" instead of nil. Is there are a reason that nil is now converting to ""? It’s quite a large project and I’m concerned the tests don’t adequately cover all the cases, and I’m worried there’s a lot of places checking for is_nil(val) that now need to check for not in [nil, ""]. Is there a way to force absinthe to treat nil as nil, and not ""?


Can you provide a reproduceable example?