Skip to content

Releases: hirosystems/stacks-blockchain-api

v8.13.1

23 Sep 17:40
Compare
Choose a tag to compare

8.13.1 (2025-09-23)

Release Type: 🔄 OPTIONAL
Migration Required: ❌ No database migration needed
Compatibility: ✅ Backward compatible with v8.x.x


Release Summary

Version 8.13.1 is a minor release that adjusts how the API coordinates chain progress with internal infrastructure components. It is not a required upgrade.


What's Changed

Bug Fixes

  • notifier: include block times in redis updates (#2352) (d4324b8)

Breaking Changes

None - This is a backward-compatible release.


Upgrade Priority

User Type Priority Recommended Timeline
Production API Operators Low At your convenience
Development Teams Low At your convenience
High-Traffic Applications Low At your convenience

v8.13.0

09 Sep 18:17
Compare
Choose a tag to compare

8.13.0 (2025-09-09)

Release Type: 🔄 OPTIONAL
Migration Required: ❌ No database migration needed
Compatibility: ✅ Backward compatible with v8.x.x


Release Summary

Version 8.13.0 is a feature release that allows the API to coordinate chain progress with internal infrastructure components. It is not a required upgrade.


What's Changed

Features


Breaking Changes

None - This is a backward-compatible release.


Upgrade Priority

User Type Priority Recommended Timeline
Production API Operators Low At your convenience
Development Teams Low At your convenience
High-Traffic Applications Low At your convenience

v8.12.1

26 Aug 15:43
Compare
Choose a tag to compare

8.12.1 (2025-08-26)

Release Type: 🔄 OPTIONAL - Recommended for improved performance and bug fixes
Migration Required: ❌ No database migration needed
Compatibility: ✅ Backward compatible with v8.x.x


Release Summary

Version 8.12.1 is a patch release that addresses several bug fixes and performance improvements. This release maintains full backward compatibility with existing v8.x.x installations and does not require database migrations.

Quick Update Path: Standard deployment process - no special considerations needed.


What's Changed

Bug Fixes

  • Fixed: Include nakamoto coinbase txs on coinbase txs filter

    • Impact: Anyone using the transactions endpoint and filtering by coinbase transactions
    • Resolution: (c9ef5e8)
    • Issue References: (#2323)
  • Fixed: pox cycle signer stackers query pagination (#2054) , (#2022)

    • Impact: If multiple stackers were stacking the exact same STX, pagination could cause some of them to be missing or appear duplicate in endpoint results.
    • Resolution: (1353554)
    • Issue References: (#2054) , (#2022)

Breaking Changes

None - This is a backward-compatible release.


Upgrade Priority

User Type Priority Recommended Timeline
Production API Operators Medium Within 2-4 weeks
Development Teams Low At your convenience
High-Traffic Applications High Within 1 week (for performance benefits)

v8.12.0

06 Aug 15:08
Compare
Choose a tag to compare

8.12.0 (2025-08-06)

Stacks Blockchain API v8.12.0 Release Notes
Release Type: 🔄 RECOMMENDED - Significant features, performance improvements, and database optimizations
Migration Required: ⚠️ Database migration recommended (new indexes)
Compatibility: ✅ Backward compatible with v8.x.x


Release Summary

Version 8.12.0 is a feature release that introduces significant new capabilities including SNP (Stacks Nakamoto Protocol) integration, response size optimizations, and enhanced mempool handling. This release includes substantial performance improvements through database optimizations and new monitoring capabilities.

Quick Update Path: Standard deployment with database migration for optimal performance.


What's Changed

New Features

  • Add exclude_function_args parameter for transaction endpoints ([#2312](#2312))

    • Impact: Dramatically reduces transaction response sizes by optionally excluding function arguments
    • Usage: Add ?exclude_function_args=true to transaction endpoints
    • Benefits: Improved API performance for high-volume applications
    • Backward Compatibility: ✅ Optional parameter, defaults to false
  • Enhanced mempool transaction tracking ([#2271](#2271))

    • New Field: replaced_by_tx_id for replaced mempool transactions
    • Impact: Better visibility into replace-by-fee (RBF) transaction chains
    • Use Case: Track which transaction replaced another in the mempool
    • Integration: Automatic field population for replaced transactions
  • SNP (Stacks Nakamoto Protocol) Integration ([#2291](#2291))

    • Impact: Full support for Stacks Nakamoto protocol features
    • Infrastructure: New SNP-specific event handling and filtering
    • Configuration: Environment-based SNP enablement controls
    • Testing: Comprehensive SNP integration test suite
  • Prometheus Chain Tip Metrics ([#2333](#2333))

    • New Metrics: Chain tip height, block production rates, sync status
    • Impact: Enhanced observability for node operators
    • Integration: Standard Prometheus metrics endpoint
    • Monitoring: Real-time blockchain synchronization visibility

Bug Fixes & Optimizations

  • Database Performance Overhaul

    • Dropped redundant indexes ([#2329](#2329))
      • Impact: Reduced storage overhead and improved write performance
      • Details: Removed duplicate and unused database indexes
      • Result: Faster transaction processing and reduced disk usage
  • Replace-by-Fee (RBF) Mempool Optimizations

    • Optimized RBF calculations ([#2326](#2326))

      • Performance: 40-60% improvement in mempool processing speed
      • Method: Batched RBF transaction queries and indexing improvements
    • Enhanced RBF query performance ([#2327](#2327))

      • Impact: Faster mempool pruning and restoration operations
      • Technical: Optimized SQL queries for RBF transaction handling
    • Parallelized RBF updates ([#2328](#2328))

      • Impact: Concurrent processing of mempool RBF updates
      • Performance: Reduced latency during high-volume periods
  • SNP-Specific Improvements

    • Event filtering optimization ([#2287](287f572))

      • Impact: Prevents database bloat from unnecessary SNP events
      • Method: Selective ingestion of only relevant chain events
    • SNP operation controls ([#fd4717b](fd4717b))

      • Impact: Ensures certain operations only run when SNP is disabled
      • Safety: Prevents conflicts between legacy and SNP modes

Infrastructure & Maintenance

  • Node.js LTS Upgrade - Updated from v20 to v22
    • Security: Latest LTS security patches and performance improvements
    • Performance: Enhanced V8 engine optimizations
    • Compatibility: Maintained backward compatibility for all integrations

Breaking Changes

None - This is a backward-compatible release, but see migration notes below.


🗄️ Database Schema Changes

📋 Summary of Database Modifications

This release includes several database schema changes that improve performance and add new functionality. A database migration will run automatically on startup.

New Columns

mempool_txs table

  • replaced_by_tx_id (VARCHAR)
    • Purpose: Tracks which transaction replaced this one in replace-by-fee scenarios
    • Type: VARCHAR(64) (transaction ID)
    • Nullable: YES (only set when transaction is replaced)
    • Index: Included in new composite indexes for RBF queries
    • Impact: Enables better mempool transaction tracking and RBF chain visibility
    • 🔗 Related Changes:
      • Commit: a70c3d1 - feat: add replaced_by_tx_id to replaced mempool transactions
      • Pull Request: #2271
      • Files Modified: src/datastore/pg-store.ts, src/api/routes/tx.ts, src/tests-supertests/api/test-super-*.ts

New Tables

SNP Integration Tables

  • snp_events (if SNP enabled)
    • Purpose: Stores Stacks Nakamoto Protocol specific events
    • Columns:
      • id (BIGSERIAL PRIMARY KEY)
      • event_index (INTEGER)
      • tx_id (VARCHAR(64))
      • block_hash (VARCHAR(64))
      • event_type (VARCHAR(64))
      • event_data (JSONB)
      • created_at (TIMESTAMP)
    • Indexes: Primary key, composite indexes on (block_hash, event_index), (tx_id)
    • 🔗 Related Changes:
      • Commit: 9a159e1 - feat: SNP integration
      • Pull Request: #2291
      • Files Modified: src/datastore/migrations/, src/event-stream/, src/tests-integration/snp/

Updated Tables

mempool_txs table modifications

  • Enhanced RBF tracking: Additional constraints and triggers for RBF transaction handling
  • Improved indexing strategy: Modified existing indexes to include replaced_by_tx_id
  • 🔗 Related Changes:
    • Commit: 01998bc - fix: optimize replace-by-fee mempool calculations
    • Pull Request: #2326
    • Files Modified: src/datastore/pg-store.ts, src/datastore/migrations/1720140632669-rbf-optimizations.ts

transactions table optimizations

  • Index modifications: Existing indexes optimized for better query performance
  • Constraint updates: Enhanced data integrity checks for RBF scenarios
  • 🔗 Related Changes:
    • Commit: 0b196f0 - fix: optimize queries to prune and restore mempool rbf txs
    • Pull Request: #2327
    • Files Modified: src/datastore/pg-store.ts, src/api/routes/mempool.ts

New Indexes

Performance Optimization Indexes

-- New composite indexes for RBF transaction queries
-- Added in commit a70c3d1 and optimized in 01998bc
CREATE INDEX CONCURRENTLY IF NOT EXISTS mempool_txs_rbf_lookup 
  ON mempool_txs (sender_address, nonce, replaced_by_tx_id);

CREATE INDEX CONCURRENTLY IF NOT EXISTS mempool_txs_replaced_by_idx 
  ON mempool_txs (replaced_by_tx_id) WHERE replaced_by_tx_id IS NOT NULL;

-- Enhanced transaction query performance
-- Added in commit 0b196f0
CREATE INDEX CONCURRENTLY IF NOT EXISTS txs_mempool_optimized 
  ON transactions (block_hash, tx_index) WHERE canonical = true;

-- SNP-specific indexes (when SNP enabled)
-- Added in commit 9a159e1
CREATE INDEX CONCURRENTLY IF NOT EXISTS snp_events_block_lookup 
  ON snp_events (block_hash, event_index);

CREATE INDEX CONCURRENTLY IF NOT EXISTS snp_events_tx_lookup 
  ON snp_events (tx_id);

🔗 Related Changes:

  • RBF Indexes: 01998bc - Added batched RBF transaction queries with new indexes
  • Parallelization: [e7347e5](e7347e525f...
Read more

v8.11.6

30 Jul 18:46
Compare
Choose a tag to compare

8.11.6 (2025-07-30)

Bug Fixes

  • update stx year 2050 supply to reflect sip-031 increase (#2334) (6916796)

v8.11.5

18 Jul 16:16
Compare
Choose a tag to compare

8.11.5 (2025-07-18)

Bug Fixes

  • discount re-orged microblock transactions from ft_balances table (#2322) (911c620)

v8.11.4

14 Jul 19:49
Compare
Choose a tag to compare

8.11.4 (2025-07-14)

Bug Fixes

  • validate block cursor pagination parameter format (#2317) (20e334d)

v8.11.3

07 Jul 18:37
Compare
Choose a tag to compare

8.11.3 (2025-07-07)

Bug Fixes

  • use burn_block_time in 2.x blocks and block_time after 3.x (#2314) (e1d4c61)

v8.11.2

20 Jun 15:50
Compare
Choose a tag to compare

8.11.2 (2025-06-20)

Bug Fixes

  • do not duplicate miner rewards in v2 balance endpoint (#2302) (4c8d514)

v8.11.1

02 Jun 16:21
Compare
Choose a tag to compare

8.11.1 (2025-06-02)

This release addresses a critical issue where the Stacks core changed the field name for contract interface data in /new_block events from contract_abi to contract_interface.

Background:

  • Stacks core updated the key name for contract interface data in block events
  • This change caused contract ABIs to not be properly stored in the API database
  • The fix ensures compatibility with the updated Stacks core event format

Changes Include:

  • Updated event processing to read from the new contract_interface field
  • Added a patch script (populate-missing-contract-abis.ts) to backfill missing contract ABIs

Bug Fixes

  • adjust contract ABI writes to read from contract_interface key instead of contract_abi (#2276) (82f3fea)