- Added:
grantPromotionalEntitlementsGroup
or granting a promotional entitlements group - all entitlements that are not already granted to a customer, need to be included in the request. - Added:
revokePromotionalEntitlementsGroup
for revoking all of the entitlements of a group, unless they are a part of a different group. - Added:
unlinkPromotionalEntitlementsGroup
for removing the references of the group from promotional entitlements that are a part of it, while keep granting access to those entitlements.
- Added:
CancelSubscription.awaitSubscriptionCancellation
for controlling whether to wait for confirmation from billing solutions that are integrated with Stigg before marking subscription as canceled in Stigg
- Added:
getEntitlement
method - a unified way to check any type of feature entitlement (boolean, numeric, or metered) that automatically returns the appropriate entitlement type based on the feature configuration
- Added:
AccessDeniedReason.Revoked
for determining when an entitlement has been explicitly revoked.
Breaking change: The TLS connection method has been deprecated in favor of non-TLS. Please ensure you are running a compatible Sidecar image version
2.494.0
or later. TLS self-signed certificates will expire on January 26, 2026, so upgrading the Sidecar image is strongly recommended.Migration steps
- Upgrade the Sidecar image to version 2.498.0 or later. The new non-TLS port is set using the
GRPC_PORT
environment variable (default: 80). For backwards compatibility, legacy TLS is still supported and can be configured with thePORT
environment variable (default: 8443). - Upgrade the Sidecar SDK to version 3.0.0 or later and send requests to the new non-TLS port (same as
GRPC_PORT
). This applies to all SDK programming languages.
Backwards compatibility with older Sidecar image versions
For backwards compatibility, you can enable the legacy TLS mode in the SDKs by opt-in the legacy TLS flag.- Added: Support for local evaluation of static entitlements in the Java SDK.
Applications can now evaluate entitlements offline using a static config, without requiring real-time API calls to the Sidecar service.
This is especially useful for air-gapped, on-premise, or secure environments.
- Improved: The Sidecar no longer crashes on startup when encountering initialization issues such as an invalid API key or unreachable Stigg API. It now starts in fallback mode and serves entitlements from Redis or fallback values.
- Added:
/metrics
endpoint exposing service-level and Sidecar-specific metrics in Prometheus format, including:sidecar_initialization_errors_total
sidecar_invalid_api_key_errors_total
sidecar_network_request_errors_total
sidecar_redis_client_errors_total
sidecar_cache_hits_total
sidecar_cache_misses_total
- Added: offline mode
- Added: Edge support for
getActiveSubscriptionsList
- Fixed: when access to entitlement was denied due to the reaching of a budget cap,
getMeteredEntitlements
returnedAccessDeniedReason.UNSPECIFIED
instead ofAccessDeniedReason.BudgetExceeded
.
- Added: ability to more easily determine the usage period of metered entitlements using:
Entitlement.usagePeriodStart
Entitlement.usagePeriodEnd
- Added: ability to set sidecar log level using env var (default:
INFO
)
- Added: ability to configure the “health” and “ready” endpoints by passing
HEALTH_ENDPOINT_URL
andREADY_ENDPOINT_URL
environment variables