Skip to content

Comments

chore(main): release 0.2.0#6

Merged
echobt merged 1 commit intomainfrom
release-please--branches--main--components--platform
Jan 4, 2026
Merged

chore(main): release 0.2.0#6
echobt merged 1 commit intomainfrom
release-please--branches--main--components--platform

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jan 4, 2026

🤖 I have created a release beep boop

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)

This PR was generated with Release Please. See documentation.

@coderabbitai
Copy link

coderabbitai bot commented Jan 4, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@echobt echobt merged commit e662a48 into main Jan 4, 2026
1 check passed
@github-actions
Copy link
Contributor Author

github-actions bot commented Jan 4, 2026

🤖 Created releases:

🌻

echobt added a commit that referenced this pull request Feb 21, 2026
…ucture (#6)

* refactor: complete decentralization - remove all centralized infrastructure

BREAKING CHANGE: Platform is now fully P2P

Removed centralized components:
- crates/platform-server/ (central API server with PostgreSQL)
- bins/platform/ (unified binary with server/validator modes)
- bins/csudo/ (privileged command execution)
- bins/validator-decentralized/ (renamed to validator-node)
- Dockerfile.server, Dockerfile.full, Dockerfile.broker
- docker-compose.server.yml
- .env.server.example
- crates/challenge-sdk/src/platform_client.rs (WebSocket client)

Infrastructure changes:
- Renamed Dockerfile.decentralized to Dockerfile
- Renamed docker-compose.decentralized.yml to docker-compose.yml
- Updated Cargo.toml workspace members
- Fixed Dockerfile permissions (755 instead of 777)
- Added security documentation for privileged mode

Code updates:
- Removed centralized exports from challenge-sdk
- Updated docker.rs comments for decentralized architecture
- Fixed 'centralized' wording in challenge_store.rs

Architecture is now fully decentralized:
- Validators communicate via libp2p gossipsub
- State stored in distributed DHT
- No central server dependency

* docs: update documentation for P2P decentralized architecture

- Update AGENTS.md to reflect fully decentralized P2P network
- Update README.md for validator-only deployment
- Remove references to centralized infrastructure
- Add P2P architecture diagrams and explanations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant