Skip to content

Conversation

@cnwinds
Copy link
Owner

@cnwinds cnwinds commented May 27, 2025

No description provided.

This commit updates several key dependencies to their more recent versions and refactors the codebase to ensure compatibility with the new APIs.

Key changes include:

- Updated Go version in `go.mod` to 1.23.0 and toolchain to 1.23.9.
- Migrated etcd client from `github.com/coreos/etcd v3.3.18+incompatible` to `go.etcd.io/etcd/client/v3 v3.5.21`. This involved significant refactoring of the etcd wrapper (`server/ectdwrap.go`) to use the new v3 client API, including atomic operations (Compare-And-Swap) for critical sections and lease-based TTLs.
- Migrated protobuf library from the deprecated `github.com/golang/protobuf v1.3.4` to `google.golang.org/protobuf v1.36.6`.
- Regenerated protobuf Go files (`api/uuid.pb.go`, `api/uuid_grpc.pb.go`) using the new `protoc-gen-go` and `protoc-gen-go-grpc` plugins. Updated `api/compile.bat` and added `go_package` option to `api/uuid.proto`.
- Updated `github.com/urfave/cli/v2` from `v2.1.1` to `v2.27.6`.
- Updated `golang.org/x/net` from `v0.33.0` to `v0.40.0`.
- Updated `google.golang.org/grpc` from `v1.27.1` to `v1.72.1`.
- Ran `go mod tidy` to update `go.sum` and ensure dependency consistency.
- All existing tests pass with the updated libraries and refactored code.

These changes help modernize the project, improve maintainability, and ensure it uses up-to-date and supported libraries.
…ild changes.

The `README.md` now includes:
- The new Go version requirement (1.23.0+).
- A note about the tools required for regenerating Protocol Buffer code (`protoc`, `protoc-gen-go`, `protoc-gen-go-grpc`) and a reference to `api/compile.bat`.
- Information that key dependencies (etcd, gRPC, Protocol Buffers) have been updated, signaling active maintenance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants