Releases: topfreegames/pitaya
v2.11.3
v2.11.2
Fix issue with noisy logs
v3.0.0-beta.1
Changelog for Pitaya v3
Major Changes
- Upgraded to Go 1.22
- Switched from OpenTracing to OpenTelemetry for tracing
- Updated dependencies to their latest versions
- Changed project structure. The pitaya framework should now be imported like:
import "github.com/topfreegames/pitaya/v3/pkg"
All framework now lives within the pkg package. Project root will build pitaya CLI that now has only the REPL but will soon contain more functionality.
Migration Guide: Pitaya V2 -> Pitaya V3
- Update your imports:
Replace this
import (
"github.com/topfreegames/pitaya/v2/...
)
With
import (
"github.com/topfreegames/pitaya/v3/pkg/...
)
- Update tracing related code:
As a part of pitaya v3 release, we're moving from Opentracing to OpenTelemetry as our distrubuted tracing framework. You should replace your old tracing initialization code with one that's compatible with OT. There's a helper for that in the "tracing" package that can be used like:
import "github.com/topfreegames/pitaya/v3/pkg/tracing"
...
...
err := tracing.InitializeOtel()
if err != nil {
logger.Errorf("Failed to initialize OpenTelemetry: %v", err)
}
- Configure tracing using environment variables:
Instead of programmatically configuring tracing, use standard OpenTelemetry environment variables:export OTEL_SERVICE_NAME=your-service-name export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 export OTEL_EXPORTER_OTLP_PROTOCOL=grpc export OTEL_TRACES_SAMPLER=parentbased_traceidratio export OTEL_TRACES_SAMPLER_ARG=1
v2.11.1
V2.11.0
- It's now possible to configure RPC timeout per request (by @bruce1125)
- New category of modules to do session draining that are guaranteed to be killed before standard modules. (by @paulikaila-wl)
v2.10.1
Fixes proxy protocol implementation to work over TLS TCP Acceptors.
v2.10.0
** BREAKING CHANGES **
Changed cumbersome NewBuilderWithConfigs(...) and NewBuilder(..) to only require 1 configuration argument instead of 10
constLabels and and additionalLabels are now once again on the metrics config scope, instead of being nested inside prometheus/statsd scope, as it was previously on pitaya v1
NewDefaultXXXXConfig methods have been made private with the exception of NewDefaultPitayaConfig, which already populates all the structs inside it with defaults. Use only this method when you want to obtain a default config object which has the defaults for everything.
Other non-breaking changes:
Every config struct is now nested inside PitayaConfig struct, avoiding multiple unmarshal with disconnected paths from env variables format
Config struct from the config package now properly extends Viper, avoiding the need to have proxy functions and being able to pass the object to some other external interfaces which require a subset of methods which Viper implements
Make serializer type configurable via external means (config file or env var)
v2.9.0
Add functions to make migration from pitaya v1 easier
v2.8.1
Fix GRPC dependency problems with ETCD
Fix pitaya-cli installation from this repo
v2.8.0
- Support remote hooks on user RPCs