github malbeclabs/doublezero client/v0.8.7
v0.8.7

10 hours ago

v0.8.7 – 2026-02-10

Breaking

  • None for this release

Changes

  • Telemetry
    • geoprobe: add LocationOffset type with Ed25519 signing/verification and UDP transport for geolocation verification measurements (#2898)
  • Onchain programs
    • feat(smartcontract): add payment_status, token_account fields and UpdatePaymentStatus instruction (#2880)
    • fix(smartcontract): correctly ser/deser ops_manager_pk (#2887)
    • Serviceability: add metro_route and route_aliveness boolean fields to Tenant for routing configuration
    • Serviceability: add Tenant account type with immutable code-based PDA derivation, VRF ID, administrator management, and reference counting for safe deletion
    • Serviceability: add TenantAddAdministrator and TenantRemoveAdministrator instructions for foundation-managed administrator lists
    • Serviceability: extend UserUpdate instruction to support tenant_pk field updates with automatic reference count management on old and new tenants (backward compatible with old format)
    • Serviceability: extend UserCloseAccount instruction to decrement tenant reference count when closing user with assigned tenant
    • Serviceability: add reference count validation in DeleteMulticastGroup to prevent deletion when active publishers or subscribers exist
    • Serviceability: fix multicast group closeaccount to use InvalidStatus error and remove redundant publisher/subscriber count check
    • Serviceability: add tenant_allowlist field to AccessPass to restrict which tenants can use specific access passes (backward compatible with existing accounts)
  • SDK
    • Add metro_route and route_aliveness fields to CreateTenantCommand and UpdateTenantCommand
    • Add CreateTenant, UpdateTenant (vrf_id only), DeleteTenant, GetTenant, and ListTenant commands with support for code or pubkey lookup
    • Add AddAdministratorTenant and RemoveAdministratorTenant commands for tenant administrator management
    • UpdateUserCommand extended with tenant_pk field and automatic tenant account resolution for reference counting
    • SetAccessPassCommand extended with tenant field to specify allowed tenant for access pass
    • TypeScript SDK updated with tenantAllowlist field in AccessPass interface and deserialization
  • CLI
    • Add --metro-route and --route-aliveness flags to tenant create and update commands
    • Add tenant subcommands (create, update, delete, get, list, add-administrator, remove-administrator) to doublezero and doublezero-admin CLIs
    • Add filtering options and desired_status & metrics_publisher_pk field to device and link list commands
    • Added activation check for existing users before subscribing to new groups (#2782)
    • access-pass set: add --tenant argument to specify tenant code for access pass restriction (converts to tenant PDA onchain)
    • tenant list: improve output formatting with table support and JSON serialization options (--json, --json-compact)
    • default tenant support added to config
  • SDK
    • Add read-only Go SDK (revdist) for the revenue distribution Solana program, with typed deserialization of all onchain accounts and Rust-generated fixture tests for cross-language compatibility
    • Add revdist-cli tool for inspecting onchain revenue distribution state
    • Add Python and TypeScript SDKs for serviceability, telemetry, and revdist programs with typed deserialization, RPC clients, PDA derivation, enum string types, and cross-language fixture tests
    • Add shared borsh-incremental library (Go, Python, TypeScript) for cursor-based Borsh deserialization with backward-compatible trailing field defaults
    • Add npm and PyPI publish workflows for serviceability and telemetry SDKs
    • DeleteUserCommand updated to wait for activator to process multicast user unsubscribe before deleting the user
  • Device controller
    • Record successful GetConfig gRPC calls to ClickHouse for device telemetry tracking
    • Multi-tenancy vrf support added
  • Onchain programs
    • Enforce that CloseAccessPass only closes AccessPass accounts when connection_count == 0, preventing closure while active connections are present.
  • Monitor
    • Add sol-balance watcher to track SOL balances for configured accounts and export Prometheus metrics for alerting
  • E2E tests
    • e2e: add multi-tenancy VRF isolation test (#2891)
    • Add backward compatibility test that validates older CLI versions against the current onchain program by cloning live state from testnet and mainnet-beta

Don't miss a new doublezero release

NewReleases is sending notifications on new releases.