v1.42.0
🚀 Features
1. CockroachDB Support
GoFr now supports CockroachDB, a distributed cloud-native SQL database.
Developers can now configure GoFr services to connect to CockroachDB using simple environment variables.
🔧 Configuration:
DB_DIALECT=cockroachdb
DB_HOST=localhost
DB_PORT=26257
DB_USER=root
DB_PASSWORD=your-password
DB_NAME=defaultdb
DB_SSL_MODE=require
For more details, refer to the SQL usage guide.
🛠️ Improvements
1. gRPC Reflection Toggle via Config
GoFr now supports enabling/disabling gRPC server reflection using a simple config flag:
GRPC_ENABLE_REFLECTION=true
🔍 When to enable:
-
Development & Debugging: Use with tools like grpcurl, Postman, or Evans.
-
Internal Networks: Safe in private, trusted environments.
-
CI/CD Pipelines: Ideal for service discovery in automated setups.
This allows dynamic inspection of gRPC services while maintaining control over exposure.
🛠️ Fixes
1. Supabase Healthcheck Issue Resolved
Resolved an issue where Supabase-backed services were not responding properly to health checks due to incorrect handling of internal pings.
2. Fixed Data Race in Metrics Gauges
Addressed a concurrency bug where the internal float64Gauge map was accessed without synchronization. Proper locking is now in place around map access to avoid data races during concurrent SetGauge and metric reads.
3. App Name & Version Initialization Bug
Fixed a configuration issue where AppName and AppVersion were incorrectly defaulting to gofr-app and dev, even when explicitly provided by the user. These values now correctly reflect user-specified configuration during startup.