Skip to content

v2.0.0

Latest

Choose a tag to compare

@JulianVennen JulianVennen released this 20 Oct 11:41
5b26c1b

⚠️ Breaking changes

  • PHP 8.5+ is required.
  • Dependencies: google/protobuf ^5.36 (was ^3.21), grpc/grpc ^1.82, flexihash/flexihash ^3.0.
  • Generated gRPC classes moved from the global namespace to Aternos\Etcd\Proto\…, e.g. \Etcdserverpb\Compare\CompareResult → \Aternos\Etcd\Proto\Etcdserverpb\Compare\CompareResult. The legacy underscore aliases (Compare_CompareResult etc.) were removed.
  • get() returns null instead of false for missing keys. The same applies to putIf()/deleteIf() with $returnNewValueOnFail when the key does not exist. Checks like === false must be updated.
  • Client constructor: $username/$password are now ?string and default to null (was false).
  • Native parameter, return and property types throughout src/. Classes extending the clients or implementing ClientInterface must match the new signatures, and put() now requires a string value.

Fixes

  • put() with $prevKv = true no longer crashes when the key didn't exist before.
  • getLeaseID(), revokeLeaseID() and refreshLease() now respect the client timeout, so FailoverClient fails over instead of hanging on unresponsive nodes.
  • Fixed PHP 8.4 deprecation warnings.

Other changes

  • Regenerated the gRPC classes with protoc 36.2.

Full Changelog: v1.5.0...v2.0.0