Skip to content

Releases: scorebet/elixir-grpc

v0.9.1

29 Jul 18:26
71f4455
Compare
Choose a tag to compare

What's Changed

  • [SBAPI-547] Add () to remote function call in use macro by @paradox460 in #17

Full Changelog: v0.9.0...v0.9.1

v0.9.0

29 Jan 19:08
v0.9.0
b5b7ffa
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.0...v0.9.0

v0.8.0

30 Jan 19:03
v0.8.0
554a6e4
Compare
Choose a tag to compare

Changes

  • Updates to the recent upstream elixir-grpc that includes Mint support f5f5fab4

Added mint client adapter

Now, when spawning your connections it is possible for developers to choose
which adapter to use.

GRPC.Stub.connect("localhost:5001", adapter: GRPC.Client.Adapters.Mint)
# or (Gun is the current default adapter)
GRPC.Stub.connect("localhost:5001")
# the above is has the same effect as: 
GRPC.Stub.connect("localhost:5001", adapter: GRPC.Client.Adapters.Gun) 

Why choose mint over gun?

Both clients will solve the same problems and recent load tests showed almost no
difference of performance between them.

The reason why the additional Mint adapter is introduced, is because we are
attempting to integrate with LaunchDarkly and their erlang client is
incompatible with the current version of Gun which elixir-grpc is using.
Using an adapter based on Mint resolves the gun version conflict.

Full Changelog: v0.7.0...v0.8.0

v0.7.0

10 Aug 20:29
v0.7.0
e824eec
Compare
Choose a tag to compare
  • Updates to the recent upstream release of elixir-grpc v0.5.0

Breaking Changes

  • Spawn supervisor now expects a Keyword list instead of a tuple.
    • Before:
       def children, do: [
       # ... other supervisors
         {GRPC.Server.Supervisor, {MyCoolEndPoint, @my_grpc_port}}
       ]
    • Now:
        def children, do: [
        # ... other supervisors
          {GRPC.Server.Supervisor, endpoint: MyEndpoint, port: @my_grpc_port, server_enabled: true}
        ]
  • server_enable config is no longer defined in the application config, you should pass is as an option when spawning the supervisor, like in the example above
  • adapter_opts now expects a keyword list instead of a map.
    • Before:
        [adapter_opts: %{http2_opts: %{keepalive: @keep_alive}}]
    • After:
        [adapter_opts: [http2_opts: %{keepalive: @keep_alive}]]