diff --git a/grpc/CHANGELOG.md b/grpc/CHANGELOG.md index 9b61b4a46..b09f98cf0 100644 --- a/grpc/CHANGELOG.md +++ b/grpc/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## v1.0.4 (2026-0-15) + +### Bug Fixes + + * Remove dangling typespecs + ## v1.0.3 (2026-07-27) ### Enhancements @@ -63,7 +69,7 @@ ### Enhancements * Feat add `exception_log_filter` option to server - + ### Bug fixes * Fix ensure thers is only one `GRPC.Client.Supervisor`. @@ -76,9 +82,9 @@ * Feat added new function to handle side-effects. * Feat added error handler for unary and stream pipelines. * Docs adds a better explanation of the different types of input. - * Docs improvements to module documentation. + * Docs improvements to module documentation. * Docs livebooks added directly to the documentation. - + ### Bug fixes * Fix refresh error spam on direct_state (no lb). diff --git a/grpc/lib/grpc/client/adapter.ex b/grpc/lib/grpc/client/adapter.ex index eb5d212ab..3438b4b2c 100644 --- a/grpc/lib/grpc/client/adapter.ex +++ b/grpc/lib/grpc/client/adapter.ex @@ -4,9 +4,6 @@ defmodule GRPC.Client.Adapter do """ alias GRPC.Client.Stream - @typedoc "Determines if the headers have finished being read." - @type fin :: :fin | :nofin - @callback connect(channel :: struct(), opts :: keyword()) :: {:ok, struct()} | {:error, any()} diff --git a/grpc/lib/grpc/client/adapters/gun/stream_response_process.ex b/grpc/lib/grpc/client/adapters/gun/stream_response_process.ex index 0ff3113e3..5256c6f2b 100644 --- a/grpc/lib/grpc/client/adapters/gun/stream_response_process.ex +++ b/grpc/lib/grpc/client/adapters/gun/stream_response_process.ex @@ -16,12 +16,6 @@ defmodule GRPC.Client.Adapters.Gun.StreamResponseProcess do @terminated_stream_error {:error, {:connection_error, :closed}} - @type state :: %{ - messages: :queue.queue(), - waiter: {GenServer.from(), reference() | nil} | nil, - done: boolean() - } - def start_link do GenServer.start_link(__MODULE__, []) end diff --git a/grpc/lib/grpc/client/adapters/mint/connection_process/state.ex b/grpc/lib/grpc/client/adapters/mint/connection_process/state.ex index 51197507f..6afab3ee9 100644 --- a/grpc/lib/grpc/client/adapters/mint/connection_process/state.ex +++ b/grpc/lib/grpc/client/adapters/mint/connection_process/state.ex @@ -16,19 +16,6 @@ if Code.ensure_loaded?(Mint.HTTP) do retry_attempt: 0 ] - @type t :: %__MODULE__{ - conn: Mint.HTTP.t(), - requests: map(), - parent: pid(), - scheme: Mint.Types.scheme() | nil, - host: Mint.Types.address() | nil, - port: :inet.port_number() | nil, - connect_opts: keyword(), - retry_timeout_ms: non_neg_integer() | nil, - retry: non_neg_integer(), - retry_attempt: non_neg_integer() - } - def new(conn, opts) do %__MODULE__{ conn: conn, diff --git a/grpc/lib/grpc/client/connection.ex b/grpc/lib/grpc/client/connection.ex index 0f4dd7b11..b085b62c9 100644 --- a/grpc/lib/grpc/client/connection.ex +++ b/grpc/lib/grpc/client/connection.ex @@ -166,22 +166,6 @@ defmodule GRPC.Client.Connection do @await_ready_start_event [:grpc, :client, :connection, :await_ready, :start] @await_ready_stop_event [:grpc, :client, :connection, :await_ready, :stop] - @type t :: %__MODULE__{ - virtual_channel: struct(), - real_channels: %{String.t() => {:connected, struct()} | {:failed, any()}}, - lb_mod: module() | nil, - lb_state: term() | nil, - resolver: module() | nil, - adapter: module(), - resolver_target: String.t() | nil, - connect_opts: keyword(), - resolver_state: term() | nil, - established?: boolean(), - last_error: term() | nil, - retry_attempt: non_neg_integer(), - waiters: [{pid(), GenServer.from(), reference(), integer()}] - } - defstruct virtual_channel: nil, real_channels: %{}, lb_mod: nil, diff --git a/grpc/lib/grpc/client/interceptor.ex b/grpc/lib/grpc/client/interceptor.ex index a2d3b7e44..5d623c606 100644 --- a/grpc/lib/grpc/client/interceptor.ex +++ b/grpc/lib/grpc/client/interceptor.ex @@ -7,12 +7,13 @@ defmodule GRPC.ClientInterceptor do alias GRPC.Client.Stream - @type options :: any() - @type req :: struct() | nil - @type next :: (Stream.t(), req -> GRPC.Stub.rpc_return()) - - @callback init(options) :: options - @callback call(stream :: Stream.t(), req, next, options) :: GRPC.Stub.rpc_return() + @callback init(options :: any()) :: options :: any() + @callback call( + stream :: Stream.t(), + req :: struct() | nil, + next :: (Stream.t(), req :: struct() | nil -> GRPC.Stub.rpc_return()), + options :: any() + ) :: GRPC.Stub.rpc_return() end defmodule GRPC.Client.Interceptor do @@ -21,10 +22,11 @@ defmodule GRPC.Client.Interceptor do """ alias GRPC.Client.Stream - @type options :: any() - @type req :: struct() | nil - @type next :: (Stream.t(), req -> GRPC.Stub.rpc_return()) - - @callback init(options) :: options - @callback call(stream :: Stream.t(), req, next, options) :: GRPC.Stub.rpc_return() + @callback init(options :: any()) :: options :: any() + @callback call( + stream :: Stream.t(), + req :: struct() | nil, + next :: (Stream.t(), req :: struct() | nil -> GRPC.Stub.rpc_return()), + options :: any() + ) :: GRPC.Stub.rpc_return() end diff --git a/grpc/lib/grpc/client/resolver.ex b/grpc/lib/grpc/client/resolver.ex index 570a246e7..cd9854e37 100644 --- a/grpc/lib/grpc/client/resolver.ex +++ b/grpc/lib/grpc/client/resolver.ex @@ -66,19 +66,18 @@ defmodule GRPC.Client.Resolver do alias GRPC.Client.Resolver.Unix alias GRPC.Client.Resolver.XDS - @type service_config :: GRPC.Client.ServiceConfig.t() | nil - - @callback resolve(String.t()) :: - {:ok, %{addresses: list(map()), service_config: service_config()}} + @callback resolve(target :: String.t()) :: + {:ok, + %{addresses: list(map()), service_config: GRPC.Client.ServiceConfig.t() | nil}} | {:error, term()} @callback init(target :: String.t(), opts :: keyword()) :: - {:ok, state :: term()} | {:error, term()} + {:ok, state :: any()} | {:error, term()} - @callback update(state :: term(), event :: term()) :: - {:ok, state :: term()} + @callback update(state :: any(), event :: any()) :: + {:ok, state :: any()} - @callback shutdown(state :: term()) :: :ok + @callback shutdown(state :: any()) :: :ok @optional_callbacks [init: 2, update: 2, shutdown: 1] diff --git a/grpc/lib/grpc/client/service_config.ex b/grpc/lib/grpc/client/service_config.ex index 987142ebc..25f79671b 100644 --- a/grpc/lib/grpc/client/service_config.ex +++ b/grpc/lib/grpc/client/service_config.ex @@ -68,12 +68,6 @@ defmodule GRPC.Client.ServiceConfig do method_configs: [], raw: %{} - @type t :: %__MODULE__{ - load_balancing_policy: atom(), - method_configs: list(), - raw: map() - } - def parse(nil), do: {:ok, %__MODULE__{}} def parse(json) when is_binary(json) do diff --git a/grpc/lib/grpc/client/stream.ex b/grpc/lib/grpc/client/stream.ex index 32956b502..4f4387eb4 100644 --- a/grpc/lib/grpc/client/stream.ex +++ b/grpc/lib/grpc/client/stream.ex @@ -14,26 +14,6 @@ defmodule GRPC.Client.Stream do * `:res_stream` - indicates if reply is streaming """ - @typep stream_payload :: any() - @type t :: %__MODULE__{ - channel: struct(), - service_name: String.t(), - method_name: String.t(), - grpc_type: atom(), - rpc: tuple(), - payload: stream_payload, - path: String.t(), - request_mod: atom(), - response_mod: atom(), - codec: atom(), - server_stream: boolean(), - canceled: boolean(), - compressor: module(), - accepted_compressors: [module()], - headers: map(), - __interface__: map() - } - defstruct channel: nil, service_name: nil, method_name: nil, diff --git a/grpc/lib/grpc/stub.ex b/grpc/lib/grpc/stub.ex index f1aeddb32..66c159774 100644 --- a/grpc/lib/grpc/stub.ex +++ b/grpc/lib/grpc/stub.ex @@ -46,17 +46,6 @@ defmodule GRPC.Stub do @canceled_error GRPC.RPCError.exception(GRPC.Status.cancelled(), "The operation was cancelled") - @type receive_data_return :: - {:ok, struct()} - | {:ok, struct(), map()} - | {:ok, Enumerable.t()} - | {:ok, Enumerable.t(), map()} - - @type rpc_return :: - GRPC.Client.Stream.t() - | {:error, GRPC.RPCError.t()} - | receive_data_return - defmacro __using__(opts) do opts = Keyword.validate!(opts, [:service, warn_on_collision: true]) diff --git a/grpc/mix.exs b/grpc/mix.exs index a5672bcce..e6f643a78 100644 --- a/grpc/mix.exs +++ b/grpc/mix.exs @@ -2,7 +2,7 @@ defmodule GRPC.MixProject do use Mix.Project @source_url "https://github.com/elixir-grpc/grpc/tree/master/grpc" - @version "1.0.3" + @version "1.0.4" def project do [ @@ -29,8 +29,8 @@ defmodule GRPC.MixProject do defp deps do [ - # {:grpc_core, path: "../grpc_core"}, - {:grpc_core, "~> 1.0.3"}, + {:grpc_core, path: "../grpc_core"}, + # {:grpc_core, "~> 1.0.3"}, {:gun, "~> 2.4.0", optional: true}, {:mint, "~> 1.9", optional: true}, {:castore, "~> 1.0", optional: true}, diff --git a/grpc_core/lib/grpc/credential.ex b/grpc_core/lib/grpc/credential.ex index 0205d909e..172eed8a6 100644 --- a/grpc_core/lib/grpc/credential.ex +++ b/grpc_core/lib/grpc/credential.ex @@ -16,7 +16,6 @@ defmodule GRPC.Credential do iex> GRPC.Stub.connect("localhost:10000", cred: cred) """ - @type t :: %__MODULE__{ssl: [:ssl.tls_option()]} defstruct ssl: [] @doc """ diff --git a/grpc_core/lib/grpc/rpc_error.ex b/grpc_core/lib/grpc/rpc_error.ex index 89d433333..4aa236be6 100644 --- a/grpc_core/lib/grpc/rpc_error.ex +++ b/grpc_core/lib/grpc/rpc_error.ex @@ -55,12 +55,6 @@ defmodule GRPC.RPCError do defguard is_rpc_error(e, status) when is_struct(e, __MODULE__) and e.status == status - @type t :: %__MODULE__{ - status: GRPC.Status.t(), - message: String.t(), - details: [Google.Protobuf.Any.t()] | nil - } - alias GRPC.Status def new(status) when is_atom(status) do diff --git a/grpc_core/lib/grpc/status.ex b/grpc_core/lib/grpc/status.ex index a0f99541e..d772f9a96 100644 --- a/grpc_core/lib/grpc/status.ex +++ b/grpc_core/lib/grpc/status.ex @@ -25,8 +25,6 @@ defmodule GRPC.Status do For more details, please refer to the [official gRPC docs](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md) """ - @type t :: non_neg_integer - @doc """ Not an error; returned on success. """ diff --git a/grpc_core/mix.exs b/grpc_core/mix.exs index 549f80289..e9be2a759 100644 --- a/grpc_core/mix.exs +++ b/grpc_core/mix.exs @@ -2,7 +2,7 @@ defmodule GRPC.Core.MixProject do use Mix.Project @source_url "https://github.com/elixir-grpc/grpc_core" - @version "1.0.3" + @version "1.0.4" def project do [ diff --git a/grpc_server/CHANGELOG.md b/grpc_server/CHANGELOG.md index b7262a7cf..686e0b26c 100644 --- a/grpc_server/CHANGELOG.md +++ b/grpc_server/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## v1.0.4 (2026-0-15) + +### Bug Fixes + + * Remove dangling typespecs + ## v1.0.0 (2026-06-15) ### Enhancements @@ -43,7 +49,7 @@ ### Enhancements * Feat add `exception_log_filter` option to server - + ### Bug fixes * Fix ensure thers is only one `GRPC.Client.Supervisor`. @@ -56,9 +62,9 @@ * Feat added new function to handle side-effects. * Feat added error handler for unary and stream pipelines. * Docs adds a better explanation of the different types of input. - * Docs improvements to module documentation. + * Docs improvements to module documentation. * Docs livebooks added directly to the documentation. - + ### Bug fixes * Fix refresh error spam on direct_state (no lb). diff --git a/grpc_server/lib/grpc/server.ex b/grpc_server/lib/grpc/server.ex index e34978c3e..30d25281f 100644 --- a/grpc_server/lib/grpc/server.ex +++ b/grpc_server/lib/grpc/server.ex @@ -115,10 +115,6 @@ defmodule GRPC.Server do alias GRPC.Server.Router alias GRPC.Server.Transcode - @type rpc_req :: struct | Enumerable.t() - @type rpc_return :: struct | any - @type rpc :: (GRPC.Server.rpc_req(), GRPC.Server.Stream.t() -> rpc_return) - defmacro __using__(opts) do quote bind_quoted: [opts: opts], location: :keep do opts = diff --git a/grpc_server/lib/grpc/server/adapter.ex b/grpc_server/lib/grpc/server/adapter.ex index 9884ac9ff..de2cc9c85 100644 --- a/grpc_server/lib/grpc/server/adapter.ex +++ b/grpc_server/lib/grpc/server/adapter.ex @@ -3,14 +3,6 @@ defmodule GRPC.Server.Adapter do HTTP server adapter for GRPC. """ - @type state :: %{ - pid: pid, - handling_timer: reference | nil, - resp_trailers: map, - compressor: atom | nil, - pending_reader: nil - } - @callback start( atom(), %{String.t() => [module()]}, @@ -21,7 +13,7 @@ defmodule GRPC.Server.Adapter do @callback stop(atom(), %{String.t() => [module()]}) :: :ok | {:error, :not_found} - @callback send_reply(state, content :: binary(), opts :: keyword()) :: any() + @callback send_reply(state :: map(), content :: binary(), opts :: keyword()) :: any() - @callback send_headers(state, headers :: map()) :: any() + @callback send_headers(state :: map(), headers :: map()) :: any() end diff --git a/grpc_server/lib/grpc/server/adapters/cowboy/handler.ex b/grpc_server/lib/grpc/server/adapters/cowboy/handler.ex index b3f9cfedc..c2a9fccb0 100644 --- a/grpc_server/lib/grpc/server/adapters/cowboy/handler.ex +++ b/grpc_server/lib/grpc/server/adapters/cowboy/handler.ex @@ -18,36 +18,6 @@ defmodule GRPC.Server.Adapters.Cowboy.Handler do # Override per-server with the :max_body_size option (bytes). @default_max_body_size 4 * 1024 * 1024 - @type init_state :: { - endpoint :: atom(), - server :: {name :: String.t(), module()}, - route :: String.t(), - opts :: keyword() - } - - @type pending_reader :: { - cowboy_read_ref :: reference, - server_rpc_pid :: pid, - server_rpc_reader_reference :: reference - } - @type stream_state :: %{ - pid: server_rpc_pid :: pid, - handling_timer: timeout_timer_ref :: reference, - pending_reader: nil | pending_reader, - access_mode: GRPC.Server.Stream.access_mode(), - exception_log_filter: exception_log_filter() - } - @type init_result :: - {:cowboy_loop, :cowboy_req.req(), stream_state} | {:ok, :cowboy_req.req(), init_state} - - @type is_fin :: :fin | :nofin - - @type stream_body_opts :: {:code, module()} | {:compress, boolean()} - - @type headers :: %{binary() => binary()} - - @type exception_log_filter :: {module(), atom()} | nil - @doc """ This function is meant to be called whenever a new request arrives to an existing connection. This handler works mainly with two linked processes. diff --git a/grpc_server/lib/grpc/server/adapters/report_exception.ex b/grpc_server/lib/grpc/server/adapters/report_exception.ex index c2e915c09..47abe6e2b 100644 --- a/grpc_server/lib/grpc/server/adapters/report_exception.ex +++ b/grpc_server/lib/grpc/server/adapters/report_exception.ex @@ -5,13 +5,6 @@ defmodule GRPC.Server.Adapters.ReportException do defexception [:kind, :reason, :stack, :adapter_extra] - @type t :: %__MODULE__{ - kind: :error | :exit | :throw, - reason: GRPC.RPCError.t() | Exception.t() | term(), - stack: Exception.stacktrace(), - adapter_extra: term() - } - def new(adapter_extra, exception, stack \\ [], kind \\ :error) def new(adapter_extra, %{__exception__: _} = exception, stack, kind) do diff --git a/grpc_server/lib/grpc/server/interceptor.ex b/grpc_server/lib/grpc/server/interceptor.ex index 3e460cbdd..894317be2 100644 --- a/grpc_server/lib/grpc/server/interceptor.ex +++ b/grpc_server/lib/grpc/server/interceptor.ex @@ -7,13 +7,13 @@ defmodule GRPC.ServerInterceptor do alias GRPC.Server.Stream - @type options :: any() - @type rpc_return :: - {:ok, Stream.t(), struct()} | {:ok, Stream.t()} | {:error, GRPC.RPCError.t()} - @type next :: (GRPC.Server.rpc_req(), Stream.t() -> rpc_return()) - - @callback init(options) :: options - @callback call(GRPC.Server.rpc_req(), stream :: Stream.t(), next, options) :: rpc_return + @callback init(options :: any()) :: options :: any() + @callback call( + req :: struct() | nil, + stream :: Stream.t(), + next :: (req :: struct() | nil, Stream.t() -> GRPC.Server.rpc_return()), + options :: any() + ) :: GRPC.Server.rpc_return() end defmodule GRPC.Server.Interceptor do @@ -22,11 +22,11 @@ defmodule GRPC.Server.Interceptor do """ alias GRPC.Server.Stream - @type options :: any() - @type rpc_return :: - {:ok, Stream.t(), struct()} | {:ok, Stream.t()} | {:error, GRPC.RPCError.t()} - @type next :: (GRPC.Server.rpc_req(), Stream.t() -> rpc_return()) - - @callback init(options) :: options - @callback call(GRPC.Server.rpc_req(), stream :: Stream.t(), next, options) :: rpc_return + @callback init(options :: any()) :: options :: any() + @callback call( + req :: struct() | nil, + stream :: Stream.t(), + next :: (req :: struct() | nil, Stream.t() -> GRPC.Server.rpc_return()), + options :: any() + ) :: GRPC.Server.rpc_return() end diff --git a/grpc_server/lib/grpc/server/router.ex b/grpc_server/lib/grpc/server/router.ex index bc0458bd4..7f681c341 100644 --- a/grpc_server/lib/grpc/server/router.ex +++ b/grpc_server/lib/grpc/server/router.ex @@ -3,9 +3,6 @@ defmodule GRPC.Server.Router do """ alias __MODULE__.Template - @type http_method :: :get | :put | :post | :patch | :delete - @type route :: {http_method(), String.t(), Template.matchers()} - @wildcards [:_, :__] def build_route(path) when is_binary(path), do: build_route(:post, path) diff --git a/grpc_server/lib/grpc/server/router/template.ex b/grpc_server/lib/grpc/server/router/template.ex index 5d057d8da..4067e33d6 100644 --- a/grpc_server/lib/grpc/server/router/template.ex +++ b/grpc_server/lib/grpc/server/router/template.ex @@ -7,8 +7,6 @@ defmodule GRPC.Server.Router.Template do # Variable = "{" FieldPath [ "=" Segments ] "}" ; # FieldPath = IDENT { "." IDENT } ; # Verb = ":" LITERAL ; - @type segment_match :: String.t() | {atom(), [segment_match]} - @type matchers :: [segment_match] def tokenize(path, tokens \\ []) diff --git a/grpc_server/lib/grpc/server/stream.ex b/grpc_server/lib/grpc/server/stream.ex index c5f83f4da..c0330c5a5 100644 --- a/grpc_server/lib/grpc/server/stream.ex +++ b/grpc_server/lib/grpc/server/stream.ex @@ -18,37 +18,6 @@ defmodule GRPC.Server.Stream do * `:deadline` - absolute monotonic-time (ms) by which the inbound request must complete, or `nil` when the caller set no deadline """ - @type access_mode :: :grpc | :grpcweb | :http_transcoding - - @type t :: %__MODULE__{ - server: atom(), - service_name: String.t(), - method_name: String.t(), - grpc_type: atom(), - endpoint: atom(), - rpc: tuple(), - request_mod: atom(), - request_id: String.t() | nil, - response_mod: atom(), - codec: atom(), - payload: any(), - adapter: atom(), - local: any(), - access_mode: access_mode, - # Absolute monotonic-time (ms) by which the inbound request must complete, - # derived from the inbound `grpc-timeout` header. `nil` when the caller set no deadline. - deadline: integer() | nil, - # compressor mainly is used in client decompressing, responses compressing should be set by - # `GRPC.Server.set_compressor` - compressor: module() | nil, - # notes that this is a preflight request, and not an actual request for data (e.g. in grpcweb) - is_preflight?: boolean(), - # For http transcoding - http_method: GRPC.Server.Router.http_method(), - http_request_headers: map(), - http_transcode: boolean(), - __interface__: map() - } defstruct server: nil, service_name: nil, diff --git a/grpc_server/lib/grpc/server/supervisor.ex b/grpc_server/lib/grpc/server/supervisor.ex index 44a3f9510..914f28ea5 100644 --- a/grpc_server/lib/grpc/server/supervisor.ex +++ b/grpc_server/lib/grpc/server/supervisor.ex @@ -20,14 +20,6 @@ defmodule GRPC.Server.Supervisor do use Supervisor - # TODO: remove this type after support Elixir 1.14 exclusively. - @type sup_flags() :: %{ - strategy: Supervisor.strategy(), - intensity: non_neg_integer(), - period: pos_integer(), - auto_shutdown: Supervisor.auto_shutdown() - } - @default_adapter GRPC.Server.Adapters.Cowboy require Logger diff --git a/grpc_server/lib/grpc/server/transcode.ex b/grpc_server/lib/grpc/server/transcode.ex index 943c7845d..d6efa8c61 100644 --- a/grpc_server/lib/grpc/server/transcode.ex +++ b/grpc_server/lib/grpc/server/transcode.ex @@ -3,7 +3,6 @@ defmodule GRPC.Server.Transcode do alias GRPC.Server.Router.Query alias GRPC.Server.Router.FieldPath - @type t :: map() # The request mapping follow the following rules: # # 1. Fields referred by the path template. They are passed via the URL path. diff --git a/grpc_server/lib/grpc/stream.ex b/grpc_server/lib/grpc/stream.ex index 470afa7e0..5bd4ba5f1 100644 --- a/grpc_server/lib/grpc/stream.ex +++ b/grpc_server/lib/grpc/stream.ex @@ -52,12 +52,6 @@ defmodule GRPC.Stream do defstruct flow: nil, options: [], metadata: %{} - @type t :: %__MODULE__{flow: Flow.t(), options: Keyword.t(), metadata: map()} - - @type item :: any() - - @type reason :: any() - @doc """ Converts a gRPC input into a `Flow` pipeline with backpressure support. diff --git a/grpc_server/lib/grpc/stream/operators.ex b/grpc_server/lib/grpc/stream/operators.ex index 03251c005..91af3da57 100644 --- a/grpc_server/lib/grpc/stream/operators.ex +++ b/grpc_server/lib/grpc/stream/operators.ex @@ -4,10 +4,6 @@ defmodule GRPC.Stream.Operators do """ alias GRPC.Stream, as: GRPCStream - @type item :: any() - - @type reason :: any() - def ask(%GRPCStream{flow: flow} = stream, target, timeout \\ 5000) do mapper = fn item -> safe_invoke(&do_ask(&1, target, timeout, raise_on_error: false), item) end %GRPCStream{stream | flow: Flow.map(flow, mapper)} diff --git a/grpc_server/mix.exs b/grpc_server/mix.exs index 195c7b175..0d64f463e 100644 --- a/grpc_server/mix.exs +++ b/grpc_server/mix.exs @@ -2,7 +2,7 @@ defmodule GRPC.Server.MixProject do use Mix.Project @source_url "https://github.com/elixir-grpc/grpc_server" - @version "1.0.3" + @version "1.0.4" def project do [ @@ -33,8 +33,8 @@ defmodule GRPC.Server.MixProject do defp deps do [ - # {:grpc_core, path: "../grpc_core"}, - {:grpc_core, "~> 1.0.3"}, + {:grpc_core, path: "../grpc_core"}, + # {:grpc_core, "~> 1.0.3"}, {:protobuf, "~> 0.17"}, {:cowboy, "~> 2.14"}, {:cowlib, "~> 2.14"}, diff --git a/mix.lock b/mix.lock index 9f1d8c985..b188ad268 100644 --- a/mix.lock +++ b/mix.lock @@ -4,7 +4,7 @@ "flow": {:hex, :flow, "1.2.4", "1dd58918287eb286656008777cb32714b5123d3855956f29aa141ebae456922d", [:mix], [{:gen_stage, "~> 1.0", [hex: :gen_stage, repo: "hexpm", optional: false]}], "hexpm", "874adde96368e71870f3510b91e35bc31652291858c86c0e75359cbdd35eb211"}, "gen_stage": {:hex, :gen_stage, "1.3.2", "7c77e5d1e97de2c6c2f78f306f463bca64bf2f4c3cdd606affc0100b89743b7b", [:mix], [], "hexpm", "0ffae547fa777b3ed889a6b9e1e64566217413d018cabd825f786e843ffe63e7"}, "googleapis": {:hex, :googleapis, "0.1.0", "13770f3f75f5b863fb9acf41633c7bc71bad788f3f553b66481a096d083ee20e", [:mix], [{:protobuf, "~> 0.12", [hex: :protobuf, repo: "hexpm", optional: false]}], "hexpm", "1989a7244fd17d3eb5f3de311a022b656c3736b39740db46506157c4604bd212"}, - "grpc_core": {:hex, :grpc_core, "1.0.2", "217a0bee1a266dd4f8378629d344f6a555db209011ab37355bfa61a0b9f62eea", [:mix], [{:googleapis, "~> 0.1.0", [hex: :googleapis, repo: "hexpm", optional: false]}, {:jason, ">= 0.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:protobuf, "~> 0.17", [hex: :protobuf, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "73b916dc3f2767bd68f95a35507a9c2b389fb71997fad16558184f40b6fa148a"}, + "grpc_core": {:hex, :grpc_core, "1.0.3", "f638ad846b432c8e1b4c28613001ce5a18cbc95d760b0c662091b37e5ddf97e6", [:mix], [{:googleapis, "~> 0.1.0", [hex: :googleapis, repo: "hexpm", optional: false]}, {:jason, ">= 0.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:protobuf, "~> 0.17", [hex: :protobuf, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8167fa6e06190d229df25b2386173b385add6682f87c27960699439083145f78"}, "gun": {:hex, :gun, "2.2.0", "b8f6b7d417e277d4c2b0dc3c07dfdf892447b087f1cc1caff9c0f556b884e33d", [:make, :rebar3], [{:cowlib, ">= 2.15.0 and < 3.0.0", [hex: :cowlib, repo: "hexpm", optional: false]}], "hexpm", "76022700c64287feb4df93a1795cff6741b83fb37415c40c34c38d2a4645261a"}, "hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"}, "jason": {:hex, :jason, "1.4.5", "2e3a008590b0b8d7388c20293e9dcc9cf3e5d642fd2a114e4cbbb52e595d940a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0 or ~> 3.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b0c823996102bcd0239b3c2444eb00409b72f6a140c1950bc8b457d836b30684"},