Releases
v0.2.0
Compare
Sorry, something went wrong.
No results found
0.2.0 (2026-01-04)
⚠ BREAKING CHANGES
Production validators now require the broker by default.
Features
add --no-bootnode flag and improve bootnode reconnection (c1045a6 )
add bridge API to proxy submissions to term-challenge (85c30da )
add challenge custom events for WebSocket broadcast (39b0ccf )
add Custom P2P message type for challenge-specific protocols (00ebeec )
add docker-compose for bootnode deployment (d0f3f1e )
Add dynamic route discovery via /.well-known/routes (106681f )
add infinite retry loop (30s) for platform-server connection in validator-node (d8e28b6 )
add keypair to RpcHandler for webhook P2P broadcast (0f4eb83 )
add P2P message forwarding to challenge containers (8abeda7 )
add periodic cleanup of stale task containers (4b26cf4 )
add periodic validator sync to challenge containers (cff55d7 )
add persistent data volume for challenge containers (1b5463b )
add platform-server (central API) with PostgreSQL, Data API, Claim/Lease (6bd057d )
add secure-container-runtime crate with powerful helpers (38862c4 )
Add Sentry error monitoring (enabled by default) (fdd0f65 )
add verbose logging option to docker-compose.server.yml (57e17e6 )
add WebSocket event listener for distributed evaluation (54057fd )
add WebSocket transport to secure-container-runtime (004f60c )
authenticated WebSocket + validator whitelist endpoint (f18b74b )
auto-convert hotkeys to UIDs in weight submission (319f92d )
auto-create Docker network and connect validator (e8de0ce )
auto-pull docker images and add refresh challenges command (3b9f9f2 )
Auto-retry bootstrap peer connection every 30 seconds (326b8a6 )
auto-start challenge containers from platform-server registry (4362a3c )
centralized LLM review with miner API key (39e72c1 )
challenge-sdk: add P2P chain storage module (8bac6e9 )
consensus: Add stake-based governance with bootstrap period (7dc4e3f )
csudo: complete CLI refactoring with beautiful interactive mode (60b115c )
Derive libp2p peer ID from validator keypair for stable identity (e64b1c6 )
DEVELOPMENT_MODE support for local Docker images (71a8086 )
emission-based weight distribution with UID 0 burn (169ac1b )
generic bridge API for multi-challenge support (686c44f )
Hardcode default bootnode address (9f270af )
immediate stake validation via identify protocol (d38b39b )
implement sr25519 signature verification for agent submissions (6fb3820 )
integrate container broker into validator node (1a0592f )
Major platform improvements and bittensor-rs Subtensor API integration (db6cd10 )
make secure broker the default container backend (e50e1df )
orchestrator: add ContainerBackend abstraction for secure mode (5e729c9 )
orchestrator: use Docker named volume for persistent challenge data (c1db0ed )
pass BROADCAST_SECRET to challenge containers (a5d7505 )
pass VERBOSE env var to challenge containers for debug logging (2c6cb55 )
platform-server: dynamic challenge orchestration (55686f0 )
real sr25519 signatures + binary evaluation in Docker (353aff3 )
sdk: add P2P messages for real-time progress sharing (b524581 )
security: add stake-weighted PBFT, merkle sync verification, and hotkey rate limiting (27353a0 )
security: implement authenticated P2P communication with challenge containers (5e48ea2 )
sentry: improve error tracking with hotkey context (1039741 )
server: add submissions and evaluations API routes (88e9d4a )
sr25519 crypto + Docker image whitelist security (b723820 )
state: add versioned state serialization with automatic migration (1fe787b )
storage: add anti-corruption protections for RocksDB (f45d41c )
sync metagraph at startup for validator stake lookup (c155fe4 )
unified platform binary with server/validator modes (5036425 )
validate miner_hotkey is SS58 format in /submit endpoint (972161d )
validator-node: authenticate WebSocket connection with signature (5934e7d )
validator-node: handle ChallengeStopped WebSocket event (f3d52d0 )
validator: integrate with platform-server for centralized weights (1c5b77a )
validator: sync validators to challenge containers on startup (94f72c5 )
weights: Add CRv4 timelock encryption support (475126d )
weights: add persistence for commit-reveal state (53dd4dd )
Bug Fixes
add 30s delay before crash exit to allow Watchtower updates (1635a16 )
add bootnode retry timer to validator event loop (007b920 )
add bridge routes to unified platform binary (ce04921 )
add cache bind mount for Docker-in-Docker path mapping (107b064 )
add challenge to ChainState when receiving P2P Proposal (0ab4c2e )
add DNS servers to docker-compose.server.yml (ef47913 )
add eval logs bind mount for Docker-in-Docker (1b29e3d )
add events/broadcast route to platform bin + secure with BROADCAST_SECRET (ebb468f )
add logging for P2P outbox message processing (aef5359 )
Add peer ID to bootstrap peer address (2be994d )
add whitelist route and metagraph sync to platform bin server mode (c09cd79 )
allow all ghcr.io/platformnetwork/ images in agent runner whitelist (9ed64b3 )
allow custom DATABASE_URL (Supabase, etc.) (f543705 )
auto-detect validator network for challenge containers (5bf156f )
auto-recover from corrupted distributed-db and state (332f75d )
bittensor: update to bittensor-rs f79759e with DRAND fix (11cfe4a )
broadcast ChallengeStarted event to validators (9047616 )
broadcast ChallengeStopped event to validators in platform bin server (b99e43d )
challenge-sdk: fix consensus test math (8aa071f )
change stale container cleanup to 2 hours (8f4592d )
ci: move -E filter before -- in cargo llvm-cov nextest (c91e830 )
ci: properly use cargo cache across jobs (14bc231 )
ci: separate cache keys for release and debug builds (a2149e4 )
clippy warnings and add mandatory CI hooks (9a9c395 )
clippy: resolve all clippy warnings for CI (e8829bd )
connect validator container to platform-network on startup (41d9d8b )
consensus: correct test expectations for 33% default threshold (d621eb8 )
consensus: improve P2P mesh stability and reduce quorum threshold (34f65a0 )
correct netuid_index calculation and salt serialization (c2ba34b )
correct sled corruption recovery to remove actual db files (00df049 )
db: strip trailing database name from URL (19d4298 )
Derive peer ID from hotkey (public key) not seed (39f578d )
docker: add clang/libclang-dev for zstd-sys bindgen (650d5f7 )
docker: default to validator-node for backward compatibility (4d6f210 )
docker: use ubuntu:24.04 for glibc 2.39 compatibility (af00fac )
don't cleanup challenge containers with different suffixes (f433704 )
force exact network name 'platform-network' (27071de )
gossipsub: resolve empty mesh issue by removing add_explicit_peer calls (375ce2e )
implement targeted P2P send (broadcasts to all) (121d5f0 )
include challenge_configs in chain_getState RPC response (00690e7 )
migrate remaining ed25519 to sr25519 + add mandatory CI hooks (65bd1e8 )
network: add mesh repair mechanism for gossipsub (bad9b34 )
network: add mesh repair mechanism for gossipsub (b171ff4 )
network: handle gossipsub Subscribed event for proper mesh membership (f8efbd6 )
network: improve gossipsub mesh stability for bootnodes (381ae26 )
orchestrator: pass PORT=8080 env var to challenge containers (ab4782e )
Pass bootstrap-peer argument directly in docker-compose (d3ac865 )
pass real challenge config values in ChallengeStarted event (06dc544 )
pass VALIDATOR_SECRET_KEY to challenge containers (44e1dce )
populate registered_hotkeys from metagraph sync (aff29f3 )
remove obsolete version from docker-compose.bootnode.yml (3ba56f2 )
resolve CI lint and clippy warnings (c470b4c )
reveal mechanism weights when internal epoch manager detects reveal phase (3291318 )
skip stake validation in no-bittensor mode for PeerIdentified event (f6ff0a2 )
trigger commit/reveal on Subtensor timing windows in tests (fa85fea )
Update bittensor-rs to 3fc7ab5 and export sync_metagraph (c328831 )
Update bittensor-rs to a1a4558 and fix clippy warnings (b9bc10c )
Update bittensor-rs to db10a19 - fix commit-reveal detection (80f10e5 )
update challenge endpoints for P2P and dev mode containers (9ee7c7a )
update coverage badge generation to use peaceiris/actions-gh-pages (347daba )
update release-please config for workspace (c6ff25c )
use challenge name (not UUID) for CHALLENGE_ID env var (b5bd205 )
use container ID for challenge container naming suffix (39e4724 )
use container name for challenge endpoint instead of 127.0.0.1 (f04d4fa )
use correct salt type for reveal_weights (41e0a05 )
use effective stake (alpha + root) for validator validation (cb30a93 )
use orchestrator endpoint instead of hardcoded URL for challenge containers (bd4c349 )
use PLATFORM_PUBLIC_URL for validator challenge containers (7ce3b24 )
Use proper Substrate SR25519 derivation for peer ID (95321e5 )
use real container endpoints for P2P outbox polling (ae9250d )
use simple release type for workspace (60c3078 )
use simple release type with manifest config (ba79252 )
use stake_weight for validator stake validation (be15cdc )
use stored endpoints for challenge container URLs (2adda1a )
use total_stake from runtime API for validator stake validation (dcb389c )
use u16 for NetUidStorageIndex in hash computation (c8a392e )
use u16 salt directly for reveal_mechanism_weights (72f3806 )
validator uses Subtensor.set_mechanism_weights() for CRv4 (eda164e )
validator uses Subtensor.set_mechanism_weights() for CRv4 (3e0b1e5 )
validator: change default RPC port from 8545 to 8080 (c610dde )
validator: check sudo/owner FIRST before any stake validation (81524af )
validator: use correct container name with validator suffix for challenge endpoints (c6137eb )
warn when validator cannot join platform network (3c1bdde )
Performance Improvements
ci: optimize caching for Rust builds and Docker images (52fb82b )
Code Refactoring
clean dead code in evaluator, increase proxy timeout (cbffb81 )
event-driven commit/reveal from Bittensor timing (4d3f0ff )
migrate from ed25519 to sr25519 for Substrate/Bittensor compatibility (dbf722e )
remove anti-cheat weight manipulation for pure pass-through (63ed510 )
remove P2P networking, centralized architecture only (66477bd )
remove P2P networking, centralized architecture only (9ef71a6 )
Remove redundant weights_v2.rs, use bittensor_rs::Subtensor directly (5317b8d )
remove term-challenge specific code from validator-node (a4713e9 )
Replace WeightSubmitter with bittensor_rs::Subtensor (1b55113 )
simplify WeightAssignment to hotkey + weight only (56ccd21 )
Documentation
add badges and repobeats analytics to README (5c2a3bb )
add banner image to README (2a89445 )
add hardware requirements section (4 vCPU, 16GB RAM minimum) (e1ffadb )
add network requirements (port 9000/tcp) (a0fee78 )
comprehensive README with incentive mechanism and validator guide (b85812f )
improve README formatting and clarify aggregation method (31ab5bc )
improve README formatting and clarify aggregation method (ccc90f0 )
move description before badges (4c6c3fc )
move repobeats after badges, update rust to 1.90+ (491f255 )
remove Validator Utility Maximization section from README (fef431a )
simplify README - remove weight capping, commit-reveal, and agent terminology (8897501 )
update storage requirements (250GB min, 500GB recommended) (43b6805 )
validator: simplify guide - no GPU, no third-party APIs needed (79a1e97 )
Miscellaneous
add git hooks for format and CI checks (b42dfc8 )
add MIT license file (7fd5106 )
update bittensor-rs to 453ce56 (proper SCALE decoding) (56f99f9 )
update Rust to 1.92 (latest stable) (ca22249 )
CI/CD
add automatic versioning with release-please (80070f7 )
add code coverage badge with cargo-llvm-cov (7b22a73 )
docker push only after build/clippy/test pass (616dfac )
optimize CI with nextest, better caching, and parallel jobs (6155af8 )
optimize with fully parallel jobs (360c14c )
optimize workflow with disk cleanup and rust-cache (4bd7164 )
restore parallel jobs with proper cache dependencies (11d25b0 )
round coverage to whole number (35bc17e )
use platform-runner label (7080d56 )
use self-hosted runners (63c1e86 )
You can’t perform that action at this time.