Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
721e049
fix: use setup-beam GH action (#222)
polvalente Jul 16, 2022
11a2e05
Fix typos in stub.ex (#164)
nmashton Jul 16, 2022
73ab681
Don't crash on errors from the adapter (#175)
frekw Jul 16, 2022
d1b9dd7
Add support for `request_id` in `GRPC.Server.Stream` (#198)
ilyashuma Jul 17, 2022
d284d36
chore: update Elixir, Erlang and dependencies (#224)
polvalente Jul 18, 2022
e025811
deps: upgrade protobuf to 0.10 (#228)
wingyplus Jul 19, 2022
8988ada
fix: correct typespec in GRPC.Message.Protobuf (#230)
wingyplus Jul 19, 2022
28a6ebe
feat: accept more combos of log level (#227)
polvalente Jul 19, 2022
109bcd3
Provide a mechanism to inject a custom status handler (#171)
carrascoacd Jul 19, 2022
65cab5c
fix: add @impl to logger interceptor callback (#231)
wingyplus Jul 19, 2022
0480473
include some specs on status and format entire project (#210)
rands0n Jul 19, 2022
6ba8dd0
chore: make protobuf optional (#233)
polvalente Jul 19, 2022
63096c3
chore: delete GRPC.Message.Protobuf (#234)
wingyplus Jul 19, 2022
a0ac3b2
fix: return adapter error instead of wrapped string (#235)
polvalente Jul 19, 2022
736c878
Define behaviours for client and server adapters (#200)
avillen Jul 21, 2022
d91104d
ci: run interop test on PR and master branch (#238)
wingyplus Jul 21, 2022
854d475
Update README.md (#240)
polvalente Jul 21, 2022
d6c765b
ci: remove cron_ci.yml and .ci (#243)
wingyplus Jul 22, 2022
2517b7c
refactor: revise helloworld example (#244)
wingyplus Jul 22, 2022
8db5727
refactor: revise route_guide example (#245)
wingyplus Jul 22, 2022
0585e1f
feat(ci): add dialyzer and improve workflows (#248)
polvalente Jul 23, 2022
d15bdb3
chore(ci): upgrade actions/checkout to v3 (#251)
wingyplus Jul 23, 2022
a3e4445
chore: bump to 0.5.0 (#253)
polvalente Jul 27, 2022
3f1a6b6
Allow to use iolists in GRPC.Message.to_data/2 (#195)
bszaf Jul 29, 2022
da37494
chore: resolve some doc warnings (#250)
polvalente Jul 29, 2022
1e0598b
fix: avoid overriding user config if possible (#236)
polvalente Jul 29, 2022
0dda897
refactor: accept keywords for opts instead of maps (#255)
polvalente Jul 29, 2022
ce73826
Adds support for grpc-web (#206)
drowzy Jul 31, 2022
f181e31
fix: rollback timeout opt handling (#256)
polvalente Jul 31, 2022
d172921
refactor: change application config methods (#258)
polvalente Aug 1, 2022
dd6cc87
Feat/timestamp example (#262)
angelo-moreira Aug 5, 2022
c7ee0c1
add test to the example app (#263)
angelo-moreira Aug 5, 2022
4f3c476
Update README.md (#275)
josevalim Sep 28, 2022
4c14873
update action/cache version to v3 (#277)
AdrielBento Oct 12, 2022
8368435
Remove gun-specific code from stub to improve client adapter flexibil…
Oct 12, 2022
f21e2e1
Replace tuple style supervisor child_spec with map on cowboy adapter …
prihandi Oct 12, 2022
b85a393
url encode/decode status-message header (#271)
drowzy Oct 12, 2022
ff166c1
Update README.md (#276)
AdrielBento Oct 12, 2022
f02a498
docs: typo in contributors section (#279)
angelo-moreira Nov 1, 2022
49a1397
doc: add : to Fields section in GRPC.Client.Stream (#280)
thanabodee-c Nov 30, 2022
c1c8446
fix: don't detect :rand.uniform(_real) in retry (#281)
thanabodee-c Nov 30, 2022
2dde2a0
fix: use Bitwise.bsl/2 instead of <<< operator (#283)
thanabodee-c Nov 30, 2022
71e7a59
fix: fix dialyzer in GRPC.Server.Supervisor (#282)
thanabodee-c Nov 30, 2022
24d2384
Upgrade to protobuf 0.11 (#286)
htrefil Dec 2, 2022
52e1715
fix github actions to use a version that contains the required otp ve…
beligante Dec 26, 2022
71012b3
Split client/server interceptors (#289)
avillen Jan 4, 2023
f5f5fab
feat: Add Mint adapter (#272)
beligante Jan 10, 2023
bf2ad0e
fix: restore deprecated interceptor modules (#292)
thanabodee-c Jan 11, 2023
732be5b
chore: remove prometheus (#296)
polvalente Jan 29, 2023
11b7813
ci: add Elixir 1.14 (#294)
thanabodee-c Jan 29, 2023
7bd4069
fix: exclude Elixir 1.14 @ OTP 22 (#297)
polvalente Jan 29, 2023
321fb7f
Add support for ranch_tcp opts: ip, ipv6_v6only, inet, inet6 (#308)
Nezteb Mar 14, 2023
4eaf042
Document newly supported `ranch_tcp` options for Cowboy adapter (#309)
Nezteb Mar 14, 2023
fc0b9bb
Update gun to 2.0 (#301)
carrascoacd May 8, 2023
80a0858
feat: add telemetry (#298)
polvalente Jun 8, 2023
435bfd7
Docs: Improves the module docs for error statuses. (#314)
hackvan Jun 8, 2023
c96cf72
docs: add client events to telemetry livebook (#317)
polvalente Jun 14, 2023
0b0d6c0
prepare for v0.6.0 (#318)
polvalente Jun 14, 2023
3cbd100
Update README.md (#319)
polvalente Jun 14, 2023
691ac21
Upgrade mint to 1.5.0 version (#322)
KoeusIss Jun 19, 2023
d5ad40a
Remove `accepted_comparators` option from logger interceptors (#326)
guisehn Jul 10, 2023
1d51820
chore: prepare for v0.7 release
polvalente Sep 5, 2023
59b984c
Add client request to telemetry metadata (#324)
ssepml Nov 27, 2023
3122296
Add start_server opt on README server example (#320)
avillen Nov 27, 2023
226cec3
Replace deprecated Logger.warn with Logger.warning (#338)
Nezteb Nov 27, 2023
37a31e0
Update minimum Elixir to 12, update ci and tool-versions (#335)
davydog187 Nov 27, 2023
ab18c93
Add result to client telemetry spans (#334)
davydog187 Nov 27, 2023
50cdfaf
Add HTTP/2 connection pooling guide
Nezteb Feb 14, 2024
8aaf3d3
Feat/http transcoding (Continuation) (#351)
sleipnir Mar 25, 2024
c677e75
Pattern match on channel on stub functions (#354)
v0idpwn Mar 25, 2024
f8c8b17
Accept URIs with scheme, add default SSL options for https, deprecate…
v0idpwn Apr 6, 2024
198d270
More didactic documentation (#356)
sleipnir Apr 6, 2024
eda2edc
chore: bump to 0.8.0
polvalente Apr 6, 2024
ac19c03
chore: remove dialyzer (#358)
polvalente Apr 6, 2024
2929448
chore: reduce testing footprint (#359)
polvalente Apr 6, 2024
969f9c1
fix: add priv to package (#360)
fahchen Apr 8, 2024
b3a7ff6
Use persistent_term for cowboy dispatch (#363)
v0idpwn May 4, 2024
4e825db
Fix __call_rpc__ fallback function params (#366)
ZhengQingchen May 28, 2024
0810e42
Remove deprecated functions
sleipnir Jun 3, 2024
84a5b26
Merge branch 'master' into remove-deprecated-functions
sleipnir Jun 3, 2024
b357854
fix: elixir 1.17 warnings
hypno2000 Jun 9, 2024
5836668
chore: ci otp 27, elixir 1.17
hypno2000 Jun 9, 2024
b1ea10e
chore: format
hypno2000 Jun 9, 2024
6b8fe30
chore: ci otp 27, elixir 1.17 remove
hypno2000 Jun 9, 2024
35482a8
Update maintainers list
sleipnir Jun 10, 2024
75012f8
Merge branch 'master' into feat/upate-maintainers
sleipnir Jun 12, 2024
1431fe1
Merge pull request #367 from sleipnir/remove-deprecated-functions
sleipnir Jun 12, 2024
cfb3ffa
Merge branch 'master' into feat/upate-maintainers
sleipnir Jun 12, 2024
c62dafc
Merge pull request #369 from sleipnir/feat/upate-maintainers
sleipnir Jun 12, 2024
e75b566
Merge branch 'master' into master
hypno2000 Jun 14, 2024
4526427
Merge pull request #368 from hypno2000/master
sleipnir Jun 21, 2024
b930c47
Bypass opts to make it work with UTxO RPC server.
caike Jun 7, 2024
7f7dfc6
Allow configurable GRPC.Client.Adapters.Mint opts
caike Jun 24, 2024
9c370fe
Ensure proper adapter is used
caike Jun 24, 2024
da68ede
Add tests
caike Jun 24, 2024
0308701
Nit test code comment
caike Jun 24, 2024
d371ccf
Nit - no newline for better diff.
caike Jun 24, 2024
59d5ec4
Update docs
caike Jun 26, 2024
6bbc6c7
Merge pull request #370 from caike/allow-configurable-mint-adapter
sleipnir Jun 27, 2024
e97a547
Merge branch 'master' into add-pooling-guide
sleipnir Jun 27, 2024
108f250
Merge pull request #350 from Nezteb/add-pooling-guide
sleipnir Jun 27, 2024
3750759
Fix README syntax highlight
caike Jun 27, 2024
a778228
Merge pull request #373 from caike/fix-readme-syntax-highlight
sleipnir Jun 27, 2024
f56f9ec
improve docs and specs for Cowboy.Handler
beligante Jul 1, 2024
66eaf19
Merge branch 'master' into improve-cowboy-handler-specs
beligante Jul 1, 2024
c6cd103
apply code review suggestions
beligante Jul 1, 2024
fa640ab
Merge pull request #374 from beligante/improve-cowboy-handler-specs
sleipnir Jul 1, 2024
5883c4a
gracefully handles server process shutdown
beligante Jul 1, 2024
ca57719
Merge pull request #375 from beligante/gracefully-handle-server-proce…
sleipnir Jul 2, 2024
460c137
allow client settings opt on mint adapter
beligante Jul 7, 2024
1dbd660
Remove outdated statement from README
v0idpwn Jul 8, 2024
1729149
Merge pull request #379 from v0idpwn/patch-1
sleipnir Jul 8, 2024
03bf301
Update badges in readme
kianmeng Jul 8, 2024
2f4623a
updtade Mint.connect docs to mention defaults
beligante Jul 10, 2024
c64630c
Merge branch 'master' into allow-client-settings-opt-mint
beligante Jul 10, 2024
0a316de
Update lib/grpc/client/adapters/mint.ex
sleipnir Jul 10, 2024
5ee86be
Merge pull request #378 from beligante/allow-client-settings-opt-mint
sleipnir Jul 10, 2024
6dbcbd3
Merge branch 'master' into fix-badges-in-readme
sleipnir Jul 10, 2024
56e3126
Merge pull request #380 from kianmeng/fix-badges-in-readme
sleipnir Jul 10, 2024
7c01d4e
add crash report to error log
beligante Jul 10, 2024
e2cfe57
add logger caputres for server tests
beligante Jul 10, 2024
1ebc0c5
update docs for HandlerExcepton and GRPC.Logger
beligante Jul 10, 2024
a3ae39d
Merge branch 'master' into add-crash-report-to-error-log
beligante Jul 10, 2024
4b0583e
repurpose handler_exception for more generic usage
beligante Jul 11, 2024
e8d71fa
Update lib/grpc/server/adapters/adapter_exception.ex
Jul 11, 2024
85a08a9
Update lib/grpc/server/adapters/cowboy/handler.ex
Jul 11, 2024
2f78a25
Update lib/grpc/server/adapters/cowboy/handler.ex
Jul 11, 2024
a43d248
Update lib/grpc/server/adapters/cowboy/handler.ex
Jul 11, 2024
4ecf56b
Update lib/grpc/server/adapters/cowboy/handler.ex
Jul 11, 2024
454ad46
Update lib/grpc/server/adapters/cowboy/handler.ex
Jul 11, 2024
2d36c38
rename adapter_exception to report_exception
beligante Jul 11, 2024
dce082c
Merge pull request #381 from beligante/add-crash-report-to-error-log
sleipnir Jul 11, 2024
7dc28cd
Fix. Integration client tests
sleipnir Jul 12, 2024
87279fe
Merge branch 'master' into fix/integration-tests
sleipnir Jul 12, 2024
55f5d1a
Merge pull request #382 from sleipnir/fix/integration-tests
sleipnir Jul 12, 2024
36344d2
Remove warnings
sleipnir Jul 12, 2024
2cda1e3
Merge branch 'master' into ref/remove-warnings
sleipnir Jul 12, 2024
6ff3635
Merge pull request #383 from sleipnir/ref/remove-warnings
sleipnir Jul 12, 2024
d18d6ed
Fix. Gun server tests
sleipnir Jul 13, 2024
3addc10
Merge pull request #384 from sleipnir/fix/gun-tests
sleipnir Jul 13, 2024
06a43d0
New release tag
sleipnir Jul 13, 2024
731fb1b
Merge pull request #385 from sleipnir/feat/new-release
sleipnir Jul 13, 2024
863f946
Release 0.9.0
sleipnir Jul 17, 2024
987bcce
Merge pull request #386 from elixir-grpc/feat/new-release
sleipnir Jul 17, 2024
c26acb9
Add one-line logs with time (#392)
carrascoacd Oct 8, 2024
5c97c68
[#397]: Preserve the order of the response messages when the stream r…
senconscious Jan 9, 2025
d084c02
if an erlang error escapes it causes ReportException to fail and hide…
jeregrine Feb 28, 2025
4279b5c
add better logging for mint adapter in case of connection error
flaviogrossi Mar 7, 2025
5827e4f
Merge pull request #408 from flaviogrossi/better_logging_on_mint_disc…
sleipnir Mar 10, 2025
158abe7
chore: format
polvalente Mar 17, 2025
585a698
Merge branch 'master' into js/error-wrapping
jeregrine Mar 20, 2025
b65ed41
Merge pull request #407 from jeregrine/js/error-wrapping
sleipnir Mar 21, 2025
5239816
chore: update protobuf library version (#410)
polvalente Mar 21, 2025
93d968b
fix: deprecated s.o base image for github workflows
Apr 23, 2025
4e156b0
fix: deprecated s.o base image for github workflows
Apr 23, 2025
9a9d73a
Merge pull request #413 from sleipnir/fix/ubuntu-deprecated-issue
sleipnir Apr 23, 2025
37fd806
Access mode detection (transcode vs grpcweb vs grpc) (#412)
aseigo Apr 27, 2025
2e8cddb
chore: remove elixir 1.12 from git pipeline
Apr 27, 2025
862697b
Encode protobuf to iodata for better performance (#395)
v0idpwn Apr 27, 2025
1db9d1e
chore: remove elixir 1.12 from git pipeline (#415)
sleipnir Apr 27, 2025
d98fe15
refactor: use Keyword.validate! and bump to v0.10 and elixir 1.15
polvalente Apr 27, 2025
05f29d7
Update lib/grpc/server/interceptors/cors.ex
sleipnir Apr 27, 2025
073d960
Merge remote-tracking branch 'upstream/master'
Apr 27, 2025
fd5fbe4
formatting the code
Apr 27, 2025
66e4fe7
Merge pull request #416 from elixir-grpc/pv-refactor/use-keyword-vali…
sleipnir Apr 27, 2025
17f4e14
Merge remote-tracking branch 'upstream/master'
Apr 27, 2025
538a370
fix: add protobuf_generate as dependency for transcoding example
polvalente May 5, 2025
41cc421
fix: add protobuf_generate as dependency
polvalente May 5, 2025
2cfad8a
Merge remote-tracking branch 'upstream/master'
May 6, 2025
418d284
chore: update version in README.md
May 6, 2025
75cf9a7
Merge pull request #417 from sleipnir/chore/update-readme
sleipnir May 6, 2025
40a0588
Pass nodelay as a TCP option instead of a TLS option
v0idpwn May 9, 2025
fe57cbf
Merge branch 'master' into tls-patch
v0idpwn May 9, 2025
917f3ff
Merge pull request #419 from v0idpwn/tls-patch
sleipnir May 9, 2025
781a7cc
chore: release new version
May 10, 2025
78b8386
[Feat]: Add support for streams pipelines (#418)
sleipnir May 14, 2025
ce286dc
Merge remote-tracking branch 'upstream/master'
May 14, 2025
86736ae
Fix/start server keyword (#422)
sleipnir May 28, 2025
dae7deb
merge
May 28, 2025
d82cd09
Merge upstream v0.10.0 into Fresha fork
radiosilence Nov 27, 2025
98df411
Merge upstream v0.10.2
radiosilence Nov 27, 2025
4e7601c
Fix compatibility issues with upstream v0.10.2
radiosilence Nov 27, 2025
32f03a2
Add migration guide 0.6 -> 0.10
radiosilence Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .ci/build-plt-cache.sh

This file was deleted.

4,504 changes: 4,504 additions & 0 deletions .expert/expert.log

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions .formatter.exs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@

[
inputs: ["mix.exs", "{config,lib,test}/**/*.{ex,exs}", "examples/*/{config,lib,priv}/*.ex"],
inputs: [
"{mix,.formatter}.exs",
"{config,lib,test}/**/*.{ex,exs}",
"examples/*/{config,lib,priv}/*.ex"
],
import_deps: [:protobuf],
locals_without_parens: [rpc: 3, intercept: 1, intercept: 2, run: 1, run: 2],
export: [
Expand Down
61 changes: 34 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ name: Elixir CI Checks
env:
DEBIAN_FRONTEND: noninteractive
DEPENDENCY_FILE: mix.lock
ELIXIR_VERSION: 1.10.4 # Elixir version used during package publishing
ELIXIR_VERSION: 1.16.0
JOB_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
OTP_VERSION: 22.3.4.7 # OTP version used during package publishing
RELEVANT_FILES: "benchmark config examples interop lib priv src test mix.exs mix.lock" # Important, this controls the caching, make sure to keep this right
OTP_VERSION: 26.1
RELEVANT_FILES: "benchmark config examples interop lib priv src test mix.exs mix.lock"
REPOSITORY: grpc
RUNNER_OS: ubuntu20 # Must match Elixir/OTP version in described in action erlef/setup-beam@v1
RUNNER_OS: ubuntu22
SHA: ${{ github.sha }}

concurrency:
Expand All @@ -34,9 +34,9 @@ jobs:
strategy:
fail-fast: false
matrix:
otp: [21.3.8.24, 22.3.4.7]
elixir: [1.10.4]
runner-os: [ubuntu20]
otp: [26.1]
elixir: [1.16.0]
runner-os: [ubuntu22]
steps:
- name: Checkout latest codebase
uses: actions/checkout@v4
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
- uses: runs-on/cache@v4
id: build-cache
with:
path: '**/*'
path: "**/*"
key: ${{ runner.os }}-${{ matrix.elixir }}-${{ matrix.otp }}-compile-dev-${{ steps.hash.outputs.HASH }}
- name: Compile with warning as --warnings-as-errors
if: steps.build-cache.outputs.cache-hit != 'true'
Expand All @@ -97,15 +97,16 @@ jobs:
run: |
echo "Running publish --dry-run"
mix hex.publish --dry-run

test:
name: Unit Tests (Elixir ${{ matrix.elixir }} & OTP ${{ matrix.otp }})
runs-on: runs-on,runner=2cpu-linux-x64
strategy:
fail-fast: false
matrix:
otp: [21.3.8.24, 22.3.4.7]
elixir: [1.10.4]
runner-os: [ubuntu20]
otp: [26.1]
elixir: [1.16.0]
runner-os: [ubuntu22]
steps:
- name: Checkout latest codebase
uses: actions/checkout@v4
Expand Down Expand Up @@ -149,7 +150,7 @@ jobs:
- uses: runs-on/cache@v4
id: build-cache
with:
path: '**/*'
path: "**/*"
key: ${{ runner.os }}-${{ matrix.elixir }}-${{ matrix.otp }}-compile-test-${{ steps.hash.outputs.HASH }}
- name: Compile with MIX_ENV=test
if: steps.build-cache.outputs.cache-hit != 'true'
Expand All @@ -162,6 +163,7 @@ jobs:
run: |
echo "Running tests"
mix test --cover

permit:
name: Permit Package Publishing
needs: [static, test]
Expand Down Expand Up @@ -248,31 +250,36 @@ jobs:
echo "Publishing package"
mix hex.publish --yes


interop-tests:
runs-on: runs-on,runner=2cpu-linux-x64
name: Interop tests
container:
image: elixir:1.10-slim
needs: [static]
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
working-directory: ./interop
- name: Run interop tests
run: mix run script/run.exs
working-directory: ./interop
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: 26.1
elixir-version: 1.16.0
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
working-directory: ./interop
- name: Run interop tests
run: mix run script/run.exs
working-directory: ./interop

check_release:
runs-on: runs-on,runner=2cpu-linux-x64
name: Check release
container:
image: elixir:1.10-slim
needs: [static]
steps:
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: 26.1
elixir-version: 1.16.0
- name: Install Dependencies
run: |
mix local.rebar --force
Expand Down
22 changes: 0 additions & 22 deletions .github/workflows/cron_ci.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
elixir 1.15.7-otp-26
erlang 26.1.2
99 changes: 99 additions & 0 deletions MIGRATION_0.6_to_0.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Migration Guide: grpc_fresha 0.6 → 0.10

## Requirements

- **Elixir**: 1.15+ (was 1.5+)
- **OTP**: 25+ (was 21+)
- **protobuf**: ~> 0.14 (was ~> 0.10)

## Breaking Changes

### Module Renames

```elixir
# Error module
GRPC.Error → GRPC.RPCError

# Client adapters
GRPC.Adapter.Gun → GRPC.Client.Adapters.Gun

# Server adapters
GRPC.Adapter.Cowboy → GRPC.Server.Adapters.Cowboy
```

### RPC Response Tuples

```elixir
# Success - unchanged
{:ok, response}

# Error - now 2-tuple instead of 3-tuple
# Before (0.6):
{:error, %GRPC.RPCError{}, _extra}

# After (0.10):
{:error, %GRPC.RPCError{}}
```

### Protobuf Struct Construction

protobuf 0.14 deprecates `.new/1` - use struct syntax:

```elixir
# Before:
Google.Rpc.Status.new(code: 3, message: "error")

# After:
%Google.Rpc.Status{code: 3, message: "error"}
```

### HTTP2 Server Trailers

```elixir
# Before:
GRPC.Transport.HTTP2.server_trailers(status, message, custom_trailers)

# After (3rd arg removed):
GRPC.Transport.HTTP2.server_trailers(status, message)
```

### Base64 Binary Metadata

Binary metadata (`*-bin` headers) now uses standard base64 with padding:

```elixir
# Before: "woA"
# After: "woA="
```

## New Features (Non-Breaking)

- **HTTP Transcoding**: REST/JSON gateway for gRPC services
- **CORS Support**: Cross-origin request handling
- **Mint Adapter**: Alternative HTTP/2 client (`GRPC.Client.Adapters.Mint`)
- **Flow Dependency**: For stream processing
- **Telemetry**: Built-in instrumentation events

## Quick Migration Checklist

1. Update `mix.exs` deps:
```elixir
{:grpc_fresha, "~> 0.10"}
{:protobuf, "~> 0.14"}
```

2. Find/replace module names:
- `GRPC.Error` → `GRPC.RPCError`
- `GRPC.Adapter.Gun` → `GRPC.Client.Adapters.Gun`
- `GRPC.Adapter.Cowboy` → `GRPC.Server.Adapters.Cowboy`

3. Update error handling patterns from 3-tuple to 2-tuple

4. Replace `.new()` calls with `%Struct{}` syntax

5. Regenerate protobuf files:
```bash
mix protobuf.generate --include-path=./priv/protos ./priv/protos/*.proto
```

6. Run tests to catch remaining issues
6 changes: 0 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,4 @@ test-all:
mix test
cd interop && mix run script/run.exs

# This is heavy
ci-cron:
cd interop && mix deps.get && mix run script/run.exs --rounds 1000 --concurrency 30 && cd -
mix deps.get && bash .ci/build-plt-cache.sh && mix dialyzer


.PHONY: test release test-prepare test-all ci-cron
Loading
Loading