Releases: thesis-php/grpc
Releases · thesis-php/grpc
0.1.5
Full Changelog: 0.1.4...0.1.5
0.1.4
0.1.3
Full Changelog: 0.1.2...0.1.3
0.1.2
What's Changed
- Implement buffered grpc parser by @kafkiansky in #15
- Implement grpc naming and load-balancing rfc by @kafkiansky in #16
- TLS and mTLS implementations by @kafkiansky in #18
Repository update: moved to a monorepo
This project now uses a monorepo model.
Why we made this change
Client, server, and protocol code are highly coupled and often evolve together. Developing them in separate repos made cross-package changes slower and harder to keep consistent.
The monorepo solves this by keeping all related changes in one place, with one CI flow and one release process.
What changed
The codebase is now organized into package directories:
packages/grpc-> published asthesis/grpc-protocolpackages/client-> published asthesis/grpc-clientpackages/server-> published asthesis/grpc-server
Split repositories are now read-only subtree splits from this monorepo. Issues and pull requests should be opened in this repository.
Release and versioning model
- Versions are lockstep across all three packages.
- Pushing release branch/tag updates all split repos automatically.
- Packagist packages are published from the split repos.
What this means for users
- You can install only what you need:
composer require thesis/grpc-clientcomposer require thesis/grpc-server
- Shared runtime is pulled automatically via
thesis/grpc-protocol. - Namespaces remain
Thesis\Grpc, so runtime API usage stays familiar.
Full Changelog: 0.1.1...0.1.2
0.1.1
What's Changed
- Change client stream server API by @kafkiansky in #8
- Made client/server abstract by @kafkiansky in #9
- Fix
ClientStream::close()behaviour by @kafkiansky in #10 - Graceful shutdown implemented by @kafkiansky in #11
- Use protoc docker version to build test dependencies by @kafkiansky in #12
- Change server stream server api by @kafkiansky in #13
- Server as service registry by @kafkiansky in #14
New Contributors
- @kafkiansky made their first contribution in #8
Full Changelog: 0.1.0...0.1.1
Initial gRPC implementation
Features
- Unary requests
- Client streaming
- Server streaming
- Bidirectional streaming
- Interceptors
- Compression
grpc-timeout- Error handling
Known problems
- Handle
Connection closed unexpectedlyon the server - How to prevent message loss when working with streaming if the server returns an error immediately (e.g., an authorization error)?