Files
brk/docs/CHANGELOG.md
2025-09-16 16:30:44 +02:00

62 KiB

Changelog

v0.0.107 - 2025-09-13

New Features

  • Comprehensive Mining Analytics: Added extensive Bitcoin mining dataset including hash rate calculations, difficulty analysis, target block metrics, and mining performance indicators, enabling detailed analysis of network security and mining ecosystem health (crates/brk_computer/src/chain.rs)
  • Enhanced Cointime Economics: Expanded cointime analysis with advanced economic metrics, value flow calculations, and temporal Bitcoin analysis, providing deeper insights into HODLing behavior and economic activity patterns (crates/brk_computer/src/cointime.rs)
  • Transaction Volume and Velocity Analysis: Implemented annualized transaction volume calculations, transaction velocity metrics, and sent volume analysis, enabling comprehensive understanding of Bitcoin's economic activity and monetary flow (crates/brk_computer/src/stateful/common.rs)
  • Advanced Chain Metrics: Added block target analysis, hash rate per block calculations, and network difficulty tracking, providing granular insights into Bitcoin's proof-of-work security mechanism

Breaking Changes

  • Data Field Naming Standardization: Renamed all currency denomination fields from verbose forms (_in_usd, _in_btc) to concise forms (_usd, _btc) across all datasets, affecting API field names and database schemas for improved consistency and reduced verbosity
  • Iterator-Based Processing Architecture: Converted vector computation functions from callback-based compute_all patterns to iterator-based processing, fundamentally changing the internal API for stateful computations and improving memory efficiency

Performance Improvements

  • Computation Engine Refactoring: Simplified complex computation functions with iterator-based patterns, reducing memory overhead and improving processing speed for large-scale Bitcoin dataset analysis
  • Vector System Optimization: Removed redundant builder_computed module, streamlining the vector generation pipeline and reducing code complexity while maintaining functionality
  • Stateful Processing Enhancement: Refactored stateful computation system for better scalability and performance when processing cohort-based analytics

Build System

  • Development Profile Optimization: Added optimized development profile with thin LTO, level 3 optimization, and single codegen unit for faster development iterations while maintaining performance (Cargo.toml)
  • Clippy Integration Profile: Created dedicated Clippy profile with optimized settings for fast linting, including no LTO, maximum codegen units, and minimal overhead for improved developer experience
  • Release Profile Enhancement: Enhanced release profile with fat LTO, binary stripping, and panic abort for maximum production performance

Internal Changes

  • Mathematical Operations Expansion: Added comprehensive mathematical operations to OHLC data structures and floating-point types, enabling more sophisticated financial calculations and analysis
  • Group Processing Enhancement: Improved address and UTXO grouping capabilities with better filtering mechanisms and enhanced processing efficiency
  • Data Structure Consistency: Standardized timestamp and date handling across all modules for better temporal data processing and analysis accuracy

View changes

v0.0.106 - 2025-09-09

New Features

  • Fibonacci Mathematical Constants: Added constant_38_2 (38.2) and constant_61_8 (61.8) for Fibonacci retracement level calculations, commonly used in technical analysis and price level identification (crates/brk_computer/src/constants.rs)
  • Advanced Price Analysis Tools: Implemented MinMax bands for 1-week, 2-week, 1-month, and 1-year timeframes, True Range indicator, and Choppiness Index with Fibonacci level markers for comprehensive price action analysis (websites/bitview/scripts/options.js)
  • Enhanced OHLC Data Handling: Added conversion methods for Open, High, and Low dollar values to base Dollars type, enabling more flexible price data manipulation and calculations (crates/brk_structs/src/structs/dollars.rs)

Breaking Changes

  • Percentile Naming Standardization: Renamed all percentile fields from abbreviated forms (p10, p25, p75, p90) to full prefix forms (pct10, pct25, pct75, pct90) across statistical computation systems, affecting database schemas and API field names (crates/brk_computer/src/grouped/builder_eager.rs)
  • Price Data Key Migration: Updated website price data mapping from generic keys (ohlc_in_sats, close_in_sats) to prefixed keys (price_ohlc_in_sats, price_close_in_sats) for better data organization and namespace clarity

Build System

  • Rust Toolchain Standardization: Added explicit Rust toolchain specification to version 1.89.0, ensuring consistent compilation environment across different development setups and CI/CD systems (rust-toolchain.toml)

Internal Changes

  • Data Serialization Improvements: Enhanced table data serialization with explicit null value handling, preventing serialization errors when processing incomplete datasets
  • Price Detection Logic: Expanded price-related data detection to include true_range metrics and improved pattern matching for price analysis features

View changes

v0.0.105 - 2025-09-08

Internal Changes

  • Release Preparation: Maintenance release preparing infrastructure for upcoming feature releases with codebase consistency improvements

View changes

v0.0.104 - 2025-09-08

Build System

  • Cargo Dist Upgrade: Updated cargo-dist release tooling from v0.29.0 to v0.30.0, providing improved build automation, better cross-platform compilation support, and enhanced release artifact generation (.github/workflows/release.yml)
  • Cross-Platform Build Configuration: Added comprehensive build configuration supporting multiple architectures including aarch64-apple-darwin, aarch64-unknown-linux-gnu, and x86_64-unknown-linux-gnu for broader platform compatibility (Cargo.toml)
  • CI/CD Enhancement: Configured flexible CI builds with allow-dirty option for release workflows and standardized on Rust toolchain version 1.89 for consistent build environments

View changes

v0.0.103 - 2025-09-08

New Features

  • Enhanced Volatility Analytics: Added comprehensive Bitcoin price volatility metrics with 1-week, 1-month, and 1-year volatility calculations based on daily returns standard deviations, providing insights into market stability across different time horizons (crates/brk_computer/src/market.rs)
  • Configurable Standard Deviation System: Implemented flexible StandardDeviationVecsOptions builder pattern allowing selective computation of z-scores, standard deviation bands, and price bands, optimizing memory usage and computation time by only generating requested metrics (crates/brk_computer/src/grouped/sd_from_dateindex.rs)
  • Volatility Visualization Dashboard: Added dedicated volatility indicators section to the web interface featuring color-coded charts for 1-week (red), 1-month (orange), and 1-year (lime) volatility metrics with proper percentage formatting (websites/bitview/scripts/options.js)

Breaking Changes

  • Standard Deviation Architecture Refactor: Converted all standard deviation fields from required to optional types using Option<> wrappers, enabling selective computation and reducing memory footprint for unused statistical measures
  • Z-Score Field Repositioning: Moved zscore field from end of struct to logical position after sd field, improving code organization and data structure coherence

Internal Changes

  • Statistical Computation Optimization: Enhanced standard deviation computation infrastructure with dedicated 1-day returns analysis for multiple time periods (7, 30, 365 days), enabling more granular volatility measurements
  • Option-Based Vector Generation: Refactored statistical vector initialization to use option-based conditional generation, preventing unnecessary computation and storage of unused statistical measures
  • Version Management: Updated build dependencies with brk_rolldown advancement from 0.1.4 to 0.1.5, incorporating latest bundling improvements and optimizations

View changes

v0.0.101 - 2025-09-07

Breaking Changes

  • SOPR Data Type Migration: Migrated Spent Output Profit Ratio (SOPR) metrics from StoredF32 to StoredF64 for increased precision, requiring data recomputation and version increment for affected vectors (crates/brk_computer/src/stateful/common.rs)

New Features

Website Improvements

  • Mining Pool Interface Redesign: Streamlined mining pool rewards visualization by consolidating coinbase, subsidy, and fees into a unified rewards interface with improved color coding and better data organization (websites/bitview/scripts/options.js)
  • Chart Label Enhancement: Updated mining dominance chart title from generic "Dominance" to specific "Mining Dominance" for better clarity

Performance Improvements

  • Parameter Validation Optimization: Enhanced parameter validation limits, increasing maximum vector count from 32 to 64 and adjusting string size limits for better API performance (crates/brk_interface/src/ids.rs)
  • Debug Output Cleanup: Removed debug statements from parameter validation functions for cleaner production behavior

Code Quality

  • Unused Code Removal: Cleaned up commented allocation profiling code in the computer module for better code maintainability

View changes

v0.0.100 - 2025-09-07

New Features

  • Performance Profiling: Added comprehensive profiling capabilities with Inferno flamegraph generation, enabling detailed performance analysis and optimization of Bitcoin data processing workflows (Cargo.lock)
  • Memory Optimization: Integrated Allocative memory profiling tools across core structs and computer modules, providing detailed heap allocation tracking and memory usage analysis for large-scale blockchain processing (crates/brk_computer/Cargo.toml)

Build System

  • Enhanced Git Ignore: Added bridge/ directory to gitignore patterns for cleaner repository management (.gitignore)

Performance Infrastructure

  • Advanced Profiling Stack: Complete profiling infrastructure with flamegraph generation, memory allocation tracking, and performance bottleneck identification tools for production-scale Bitcoin analysis
  • Memory Allocation Tracking: Deep integration of allocative derive macros throughout the codebase enabling precise memory usage monitoring during blockchain data processing

View changes

v0.0.98 - 2025-09-05

New Features

  • Mining Pool Analysis: Added comprehensive mining pool detection and analysis tools with example implementation demonstrating pool identification from coinbase transaction tags (crates/brk_computer/examples/pools.rs)
  • Enhanced Caching: Integrated quick_cache dependency to the interface layer for improved performance of frequently accessed data and search results (Cargo.toml)
  • Advanced Chain Analytics: Added comprehensive block count target metrics for all time intervals (daily, weekly, monthly, quarterly, semester, yearly, decade) enabling analysis of Bitcoin mining performance against expected block production rates (crates/brk_computer/src/chain.rs)

Developer Experience

  • Enum-based Configuration: Added num_enum dependency to the computer module for improved type-safe configuration handling and better API ergonomics (crates/brk_computer/Cargo.toml)

View changes

v0.0.96 - 2025-09-03

New Features

  • Fuzzy Search Integration: Added nucleo-matcher dependency to the interface layer, enabling fast fuzzy string matching capabilities for dataset and vector name searches (crates/brk_interface/Cargo.toml)

Development Environment

  • Zed Editor Support: Added Zed editor configuration with optimized file scan exclusions for better performance when working with the codebase, excluding generated assets and large dependency files (.zed/settings.json)
  • Git Ignore Enhancement: Added /ids.txt to gitignore patterns and removed redundant editor-specific entries for cleaner repository management (.gitignore)

View changes

v0.0.95 - 2025-08-28

New Features

  • Enhanced Profit/Loss Analytics: Added comprehensive unrealized profit plus loss tracking with both height-based and date-indexed vectors, enabling analysis of total unrealized positions regardless of profit or loss status (crates/brk_computer/src/stateful/common.rs)
  • Cohort-Relative Market Cap Metrics: Introduced cohort-specific market cap relative metrics, calculating unrealized profit/loss percentages relative to each cohort's own market capitalization rather than total Bitcoin market cap for more accurate cohort analysis
  • Profit/Loss Proportion Analysis: Added new metrics showing unrealized profit and loss relative to the cohort's own total unrealized profit plus loss, providing insight into the internal composition of unrealized positions

Performance Improvements

  • Computation Optimization: Enhanced computation logic for unrealized metrics with dedicated addition operations between profit and loss vectors, improving calculation accuracy and reducing redundant operations

View changes

v0.0.94 - 2025-08-28

Breaking Changes

  • Website Rebranding: Replaced "Default" website option with "Bitview" option, aligning with the new bitview.space branding and updated default configuration (crates/brk_cli/src/website.rs)

New Features

  • Extended Analytics: Added comprehensive 30-day exponential moving averages (EMA) for key Bitcoin metrics including Spent Output Profit Ratio (SOPR), Adjusted SOPR, and Sell Side Risk Ratio, providing enhanced trend analysis capabilities (crates/brk_computer/src/stateful/common.rs)
  • Market Cap Relative Metrics: Introduced unrealized profit and loss metrics relative to market cap, enabling better understanding of market valuation extremes and profit-taking behavior
  • Enhanced Block Analytics: Added comprehensive statistical analysis options (min/max, averages, percentiles) for block-related datasets including transaction counts and block sizes (crates/brk_computer/src/blocks.rs)

API Changes

Documentation

  • Website Updates: Updated README to reflect new primary website URL bitview.space and streamlined hosting service descriptions (README.md)

View changes

v0.0.93 - 2025-08-26

Website Frontend Enhancements

  • Screenshot Mode: Added comprehensive screenshot mode functionality to the default website, enabling clean chart captures by automatically hiding interactive elements like legends, buttons, and controls when screenshot mode is activated (websites/default/index.html)
  • API Migration: Updated custom website examples to use the new bitview.space API endpoint instead of the deprecated next.bitray.xyz endpoint (websites/custom/index.html)

Development Documentation

  • TODO Cleanup: Streamlined development TODO list by removing completed or outdated items, focusing on current priorities like rollback functionality, cost basis percentiles, and oracle price datasets (TODO.md)

Package Management

  • TypeScript Definitions: Added comprehensive TypeScript definitions for the uFuzzy library, enabling better type safety and development experience for fuzzy search functionality (websites/default/packages/leeoniya-ufuzzy/1.0.18/dist/uFuzzy.d.ts)
  • Enhanced Ignore Patterns: Improved package directory gitignore patterns to exclude additional development files and TypeScript definitions

View changes

v0.0.91 - 2025-08-26

Performance Improvements

  • Constants Module Refactoring: Major refactoring of constants computation from repetitive individual calculations to efficient loop-based processing, significantly reducing code duplication and improving maintainability (crates/brk_computer/src/constants.rs)
  • Additional Constants: Added constant_144 and constant_600 vectors

Documentation Updates

  • TODO Improvements: Updated TODO list with more specific terminology, changing "prices paid by percentile" to "costs basis by percentile" for better accuracy (TODO.md)

View changes

v0.0.90 - 2025-08-24

Documentation

  • Release Preparation: Converted "Unreleased" section in CHANGELOG to proper v0.0.89 release entry, finalizing comprehensive documentation of all major changes including computer module refactoring, enhanced README files, and build system improvements

Build System

  • CI/CD Enhancement: Added allow-dirty = ["ci"] configuration to cargo-dist metadata, enabling more flexible CI builds when repository contains uncommitted changes during release processes (Cargo.toml)

View changes

v0.0.89 - 2025-08-24

Breaking Changes

  • Changelog Format Overhaul: Complete rewrite of CHANGELOG.md with new format and comprehensive documentation of all changes, replacing previous minimal entries with detailed descriptions of functionality and impact

Development Workflow

  • Git Ignore Updates: Refined git ignore patterns, changing from generic dist to specific websites/dist for better build artifact management, and added .claude and CLAUDE*.md patterns for AI development tools (.gitignore)

Documentation

  • Comprehensive Changelog: Extensively documented all changes from v0.0.88 down to v0.0.31, providing detailed descriptions of features, fixes, and improvements across all BRK components
  • Historical Documentation: Added detailed explanations for vector storage improvements, MCP integration, website enhancements, build system updates, and performance optimizations from previous releases

View changes

v0.0.88 - 2025-08-10

Build System Improvements

  • Rust Version Specification: Added minimum supported Rust version (MSRV) requirement of 1.89 across all workspace crates, ensuring compatibility and enabling use of latest Rust features (Cargo.toml)

Web Interface Enhancements

  • Dynamic Chart Configuration: Improved Spent Output Profit Ratio (SOPR) chart rendering by implementing conditional display logic for Adjusted SOPR (ASOPR) metrics, only showing ASOPR data when available in the dataset (websites/default/scripts/options.js)
  • Chart Performance Optimization: Refactored chart data filtering to reduce unnecessary rendering operations by checking data availability before creating chart series configurations

Code Quality

  • Workspace Standardization: Unified rust-version specification across all crate manifests, improving build consistency and enabling workspace-wide tooling optimizations

View changes

v0.0.87 - 2025-08-10

Breaking Changes

  • Vector Storage Architecture Refactor: Replaced internal brk_vecs crate with externalized vecdb crate, moving vector storage functionality to a separate project while maintaining the same core functionality (Cargo.toml)

Architecture Improvements

  • Crate Externalization: Migrated vector storage implementation from internal brk_vecs and brk_vecs_macros to external vecdb and vecdb_derive crates, enabling independent development and versioning of the vector storage system
  • Sequential Database Foundation: Added seqdb as the underlying sequential data storage engine powering the vector database functionality
  • Workspace Simplification: Removed brk_vecs and brk_vecs_macros from the workspace, reducing codebase complexity and focusing on Bitcoin-specific functionality (crates/brk/Cargo.toml)

API Changes

  • Vector Interface Consistency: Updated all vector references from brk_vecs to vecdb while maintaining identical API surface for seamless transition (crates/brk/src/lib.rs)
  • Documentation Updates: Updated README and project documentation to reflect the new external vector database dependency (README.md)

Development Experience

  • Modular Development: Enables independent development of vector storage functionality separate from Bitcoin analysis logic
  • Local Development Support: Added commented local path configuration for easier development workflow when working on both projects simultaneously

View changes

v0.0.85 - 2025-08-07

Bug Fixes

  • Logging Filter Correction: Fixed typo in logger filter configuration, changing rmcp=off to brk_rmcp=off to properly suppress unwanted logs from the RMCP protocol module (crates/brk_logger/src/lib.rs)

Configuration Changes

  • MCP Server Configuration: Removed stateful mode setting from MCP server configuration, enabling more flexible protocol handling and improved compatibility with different client implementations (crates/brk_mcp/src/route.rs)

View changes

v0.0.84 - 2025-08-07

Breaking Changes

  • Major Architecture Restructuring: Complete reorganization of the codebase with extraction of core functionality into dedicated crates (brk_structs, brk_error) and comprehensive modularization of all components for better maintainability and reusability
  • Struct System Overhaul: Moved all Bitcoin-related structures from brk_core to new brk_structs crate with enhanced grouping capabilities, comprehensive address types, and improved serialization support (crates/brk_structs/src/lib.rs)

New Features

  • Centralized Error Handling: Introduced brk_error crate providing unified error handling across all BRK components with comprehensive error types for different subsystems (crates/brk_error/src/lib.rs)
  • Advanced Address Analytics: Enhanced address grouping system with comprehensive filtering capabilities including by address type, amount ranges, age ranges, epochs, terms, and spendable/unspendable classifications (crates/brk_structs/src/groups/mod.rs)
  • Vector Macro System: Added brk_vecs_macros crate providing procedural macros for automated vector trait implementations and boilerplate reduction (crates/brk_vecs_macros/src/lib.rs)
  • Enhanced Data Types: Comprehensive Bitcoin data type system including transaction IDs, block hashes, raw locktime, version numbers, and specialized index types for all Bitcoin primitives (crates/brk_structs/src/structs/mod.rs)

Architecture Improvements

  • Modular Design: Complete separation of concerns with dedicated crates for different functionality areas, enabling better code organization and independent versioning
  • Build System Enhancement: Added comprehensive build scripts across all crates with cargo-dist integration for automated release management and distribution (.github/workflows/release.yml)
  • Price Analysis: New dedicated price analysis module with enhanced market data processing and price-to-amount state tracking (crates/brk_computer/src/price.rs)

Developer Experience

  • Comprehensive Documentation: Added README files and examples for all major crates, providing clear usage instructions and API documentation
  • Enhanced Examples: Expanded example collection demonstrating various BRK components and usage patterns across all crates
  • Development Tools: Improved development workflow with better build scripts, dependency management, and testing infrastructure

Performance Improvements

  • Vector System: Enhanced vector system with improved compression, better memory management, and optimized I/O operations through the redesigned brk_vecs architecture
  • State Management: Improved state tracking with dedicated modules for block states, realized/unrealized values, supply tracking, and transaction analysis

Infrastructure

  • CI/CD Enhancement: Updated GitHub Actions workflow with improved Ubuntu runner (22.04) and enhanced release automation
  • Docker Improvements: Enhanced Docker configuration with better environment handling and deployment options

Social Media

  • Platform Updates: Updated social media links removing outdated platforms and focusing on active community channels (README.md)

View changes

v0.0.83 - 2025-07-26

New Features

  • Cross-Platform Hole Punching: Added Linux support for file hole punching operations using fallocate system call, expanding platform compatibility beyond macOS for efficient sparse file management (crates/brk_vecs/src/file/mod.rs)

Performance Improvements

  • Platform-Specific Optimization: Implemented platform-specific hole punching strategies with optimized system calls for both macOS (fcntl with F_PUNCHHOLE) and Linux (fallocate), improving storage efficiency and I/O performance on different operating systems

Internal Changes

  • Code Organization: Refactored hole punching implementation with unified punch_hole_impl() method that dispatches to platform-specific implementations, improving code maintainability and reducing duplication
  • Error Handling: Enhanced error handling for unsupported platforms with clear error messages for hole punching operations

View changes

v0.0.82 - 2025-07-26

Breaking Changes

  • Vector System Refactoring: Replaced brk_vec with new brk_vecs crate, introducing a completely redesigned vector storage system with improved file layouts, better compression, and enhanced performance characteristics (crates/brk_vecs/src/lib.rs)

New Features

  • Advanced Vector Architecture: Introduced comprehensive vector system with multiple storage variants including RawVec, CompressedVec, ComputedVec, EagerVec, LazyVec, and StampedVec for different use cases and performance requirements (crates/brk_vecs/src/variants/mod.rs)
  • File-Based Storage: New file-based storage system with dedicated File and Reader implementations, featuring page-based architecture and memory mapping for efficient disk I/O (crates/brk_vecs/src/file/mod.rs)
  • Stamped Vectors: Added timestamped vector support with StampedVec and Stamp structures for versioned data management and temporal analysis (crates/brk_vecs/src/variants/stamped/mod.rs)

Architecture Improvements

Performance Improvements

  • Build Optimization: Updated build scripts to focus on release builds for better performance in production deployments (update.sh)
  • Memory Management: Enhanced memory usage patterns with better file mapping strategies and reduced memory footprint for large-scale Bitcoin data processing

Infrastructure

  • Comprehensive Examples: Added extensive examples demonstrating various vector types and usage patterns for better developer onboarding (crates/brk_vecs/examples/)
  • Documentation: Enhanced documentation with detailed explanations of vector architectures and storage strategies

Internal Changes

  • Address Handling: Improved address byte hash management and height-based indexing for better address analytics performance
  • Group Processing: Enhanced address and UTXO grouping capabilities with better filtering and processing mechanisms
  • Error Handling: Refined error handling throughout the vector system for more robust data operations

View changes

v0.0.81 - 2025-07-17

Breaking Changes

  • Computer Module Restructuring: Major reorganization of the computer module from nested vecs structure to flat module layout, moving vector implementations directly into separate modules (all, blocks, cointime, constants, fetched, grouped, indexes, market, mining, stateful, transactions) for better maintainability (crates/brk_computer/src/lib.rs)

New Features

  • Docker Support: Added comprehensive Docker setup with Dockerfile, docker-compose configuration, environment templates, and detailed documentation for containerized BRK deployment (docker/README.md)
  • Address Index System: Implemented new address indexing architecture with AnyAddressIndex, EmptyAddressIndex, and LoadedAddressIndex structures for more efficient address data management (crates/brk_core/src/structs/anyaddressindex.rs)
  • Enhanced Address Grouping: Added comprehensive address filtering and grouping capabilities with by_address_type, by_any_address, and flexible filter systems (crates/brk_core/src/groups/mod.rs)

Architecture Improvements

  • Stateful Processing: Enhanced stateful vector processing with dedicated traits and improved address data source handling (crates/brk_computer/src/stateful/trait.rs)
  • Address Analytics: Added sophisticated address counting and analysis capabilities with support for different address types and cohort analysis
  • Module Organization: Flattened module hierarchy eliminating nested structures for clearer code organization and easier navigation

Infrastructure

  • Container Deployment: Full Docker containerization support with multi-stage builds, environment configuration, and production-ready setup
  • Build Optimization: Enhanced build scripts and profiling tools for better development workflow

Documentation

  • Website Updates: Added brekit.org as primary domain in README alongside existing mirrors (README.md)
  • Docker Guide: Comprehensive Docker setup and deployment documentation with prerequisites, configuration, and usage instructions

View changes

v0.0.80 - 2025-07-13

Performance Improvements

  • Vector Length Caching: Added local length caching in raw vectors with local_stored_len field, reducing atomic operations and improving read performance by storing frequently accessed length values locally (crates/brk_vec/src/variants/raw.rs)

API Enhancements

  • Length Management: Introduced set_stored_len() method for direct length management, providing better control over vector metadata and synchronization between local and shared length values

Documentation

  • README Cleanup: Removed detailed AI example links from main README to streamline content and focus on core functionality, improving readability and reducing maintenance overhead (README.md)
  • MCP Documentation: Added dedicated README for Model Context Protocol integration with comprehensive usage examples and setup instructions (crates/brk_mcp/README.md)

Internal Changes

  • Vector Architecture: Enhanced raw and compressed vector implementations with improved length tracking mechanisms for better performance and consistency

View changes

v0.0.79 - 2025-07-13

Performance Improvements

  • File Handle Optimization: Reduced minimum file handle limit from 250,000 to 10,000, significantly lowering system resource requirements while maintaining adequate file access for most Bitcoin datasets (crates/brk_core/src/utils/rlimit.rs)

Breaking Changes

  • Vector Memory Architecture: Replaced ArcSwap<Mmap> with Arc<AtomicUsize> for stored length tracking in raw vectors, eliminating memory mapping overhead and improving concurrent access patterns while reducing memory usage (crates/brk_vec/src/variants/raw.rs)

Internal Changes

  • Vector Storage Simplification: Removed arc-swap dependency from vector variants, streamlining memory management and reducing complexity in concurrent scenarios
  • Store Integration: Enhanced indexer store integration with better error handling and resource management
  • Header Management: Improved vector header handling for more efficient metadata operations

View changes

v0.0.78 - 2025-07-13

New Features

Architecture Improvements

  • Vector Builder Refactoring: Renamed StorableVecGeneatorOptions to VecBuilderOptions for better naming consistency and enhanced vector generation capabilities
  • Cointime Integration: Enhanced cointime computation with better indexing support and computation parameter handling
  • Profiling Tools: Added dedicated flamegraph and samply profiling scripts for the computer module to aid performance analysis

Development Experience

  • Documentation Updates: Expanded TODO list with additional feature requests including chopiness datasets, reused address analytics, z-score chart improvements, and HTTPS support
  • Profiling Support: Added flamegraph.sh and samply.sh scripts to the computer module for better performance debugging capabilities

View changes

v0.0.76 - 2025-07-09

Build System Updates

  • Rolldown Bundler: Updated brk_rolldown from 0.1.0 to 0.1.1 with improvements across all bundler components including enhanced ECMAScript utilities, better plugin architecture, and improved string manipulation capabilities (crates/brk_bundler/Cargo.toml)

View changes

v0.0.75 - 2025-07-09

Performance Improvements

  • Chunk Size Optimization: Adjusted parallel processing chunk size from length/4 to length/3, increasing parallelization granularity for better performance on high-end storage systems while maintaining external drive protection (crates/brk_computer/src/vecs/stateful/mod.rs)

View changes

v0.0.74 - 2025-07-09

Performance Improvements

  • Parallel Processing Optimization: Refactored stateful vector computation to use chunked parallel processing with controlled chunk sizes (length/4) instead of unbounded parallelization, preventing external drive bottlenecks and improving performance on Thunderbolt 4 SSDs (crates/brk_computer/src/vecs/stateful/mod.rs)
  • Thread Scope Elimination: Replaced complex thread scope management with streamlined Either-based collection processing, reducing threading overhead and improving memory usage patterns during computation

Bug Fixes

  • Memory Table Rotation Logging: Fixed missing log message for memory table rotation operations, improving debugging and monitoring capabilities during store operations (crates/brk_computer/src/stores.rs)

Internal Changes

  • Computation Architecture: Unified UTXO and address vector processing using Either enum for type-safe handling of different vector types while maintaining performance through parallel iteration
  • Chunk-based Processing: Implemented intelligent chunking strategy to prevent overwhelming external storage devices while maintaining parallelization benefits

View changes

v0.0.73 - 2025-07-09

Breaking Changes

  • Architecture Restructuring: Removed brk_state crate entirely, consolidating its functionality into brk_computer with direct store and serialization dependencies, simplifying the overall architecture and reducing module complexity
  • Build System Upgrade: Updated brk_rolldown bundler from 0.0.1 to 0.1.0 with significant API changes including removal of deprecated loader utilities and addition of hot module replacement support

New Features

  • Hot Module Replacement: Added HMR plugin support for improved development experience with live code updates and faster iteration cycles during bundling operations
  • Advanced Hashing: Integrated Blake3 hashing algorithm for improved performance in debug operations and file integrity verification

Internal Changes

  • Computer Module Enhancement: Added bincode serialization, zerocopy optimizations, and derive_deref functionality directly to the computer module for better performance
  • Store Integration: Enhanced store module with logging capabilities for better debugging and monitoring
  • Plugin Architecture: Expanded bundler plugin system with data URI support and improved ECMAScript utilities

View changes

v0.0.71 - 2025-06-25

New Features

API Changes

  • MCP Tool Modernization: Upgraded Model Context Protocol implementation to use new tool_router and Parameters wrapper for better type safety and parameter handling, replacing legacy tool_box approach (crates/brk_mcp/src/lib.rs)
  • Endpoint Renaming: Renamed get_variant_count to get_vec_count for better consistency with API terminology

Internal Changes

  • Development Flexibility: Added commented local development path for brk_rmcp to facilitate easier testing and development workflows

View changes

v0.0.70 - 2025-06-24

New Features

  • Model Context Protocol Default: Enabled MCP (Model Context Protocol) by default for LLM integration, changing from opt-in to opt-out behavior to make AI-powered Bitcoin data analysis more accessible (crates/brk_cli/src/config.rs)

API Changes

  • Simplified Endpoints: Streamlined API endpoints by replacing complex query parameters with dedicated paths (/height-to-ohlc and /dateindex-to-ohlc) for cleaner and more intuitive data access (crates/brk_fetcher/src/brk.rs)

Internal Changes

  • Module Restructuring: Flattened fetcher module structure by moving fetcher implementations directly into the main crate, eliminating nested module hierarchy for better maintainability
  • Documentation: Updated API badge URL to reflect new vec-count endpoint and improved MCP tool description clarity (README.md)
  • Code Cleanup: Removed commented debug code and unused file handle references from raw vector implementation

View changes

v0.0.69 - 2025-06-24

Performance Improvements

  • Vector Initialization Optimization: Removed thread-based parallel initialization of indexes and fetched vectors, replacing with sequential initialization to reduce overhead and improve memory usage patterns during startup (crates/brk_computer/src/vecs/mod.rs)
  • File Handle Management: Refactored vector file handling architecture to use on-demand file opening instead of persistent file handles, reducing memory footprint and file descriptor usage (crates/brk_vec/src/variants/raw.rs)

Internal Changes

  • Resource Limit Adjustment: Reverted file handle limit back to 210,000 from 420,000, optimizing for more conservative resource usage
  • Header Write Logic: Simplified vector header writing by removing conditional logic and always performing write operations when needed, improving code clarity and reducing potential race conditions (crates/brk_vec/src/structs/header.rs)
  • Memory Map Updates: Refactored memory map update logic to accept file references directly, eliminating need for persistent file handle storage and improving resource management
  • Code Cleanup: Removed unused imports and simplified vector trait implementations for better maintainability

View changes

v0.0.68 - 2025-06-24

New Features

  • CLI Version Information: Added version command support to CLI configuration, enabling users to check the current version of BRK directly from the command line (crates/brk_cli/src/config.rs)

Performance Improvements

  • File Handle Limits: Doubled the minimum file handle limit from 210,000 to 420,000 to accommodate larger Bitcoin datasets and prevent resource exhaustion during intensive blockchain processing operations (crates/brk_core/src/utils/rlimit.rs)

View changes

v0.0.67 - 2025-06-24

New Features

  • Data Interface Layer: Added brk_interface crate providing a comprehensive data interface layer with serialization, schema generation, and tabular formatting capabilities for exporting datasets in multiple formats (JSON, CSV, TSV, Markdown)
  • Model Context Protocol Support: Introduced brk_mcp crate implementing Model Context Protocol (MCP) for seamless integration with Large Language Models, enabling AI-powered Bitcoin data analysis and querying
  • External MCP Integration: Added brk_rmcp external dependency for robust MCP client/server communication capabilities

Breaking Changes

  • Dependency Restructuring: Removed direct brk_query dependency from CLI, replaced with modular brk_interface and brk_mcp architecture for better separation of concerns
  • Storage Simplification: Removed arc-swap and fjall dependencies from brk_state, streamlining state management architecture

Internal Changes

  • Build System: Added auto-generated vecid-to-indexes.js file to gitignore to prevent version control conflicts
  • Documentation Updates: Updated historical changelog entries to reflect correct repository URLs and asset paths, migrating from kibo-money references to bitcoinresearchkit organization
  • Dependency Updates: Updated multiple core dependencies including async-compression, autocfg, errno, and syn to their latest versions for improved performance and compatibility

View changes

v0.0.66 - 2025-06-19

New Features

  • Cointime Analysis: Added comprehensive cointime economic metrics including coinblocks creation/storage tracking, liveliness and vaultedness calculations, activity ratios, and specialized price metrics (vaulted price, active price, true market mean, cointime price) with corresponding market cap calculations (crates/brk_computer/src/vecs/cointime.rs)
  • Advanced Supply Analysis: Implemented vaulted and active supply tracking with dollar value computations, enabling analysis of Bitcoin storage behavior and economic activity patterns

Documentation

  • CLI Documentation: Improved CLI README with better formatting, clearer installation instructions, enhanced usage examples, and restructured content with proper markdown syntax and information blocks (crates/brk_cli/README.md)
  • Installation Guidance: Added prominent installation notes for Ubuntu users and improved download section formatting with better link formatting and structure

Internal Changes

  • Ratio Analysis Integration: Connected cointime price metrics with ratio analysis system for comprehensive trend analysis across vaulted price, active price, true market mean, and cointime price ratios

View changes

v0.0.65 - 2025-06-17

Bug Fixes

  • Chart Data Update Logic: Simplified chart data update algorithm by removing complex comparison logic and replacing it with a streamlined approach that updates all data points at or after the last known time, significantly reducing complexity and potential update conflicts (websites/default/packages/lightweight-charts/wrapper.js)

Internal Changes

  • Cohort Analysis Versioning: Incremented version numbers for cumulative net realized profit/loss metrics from VERSION::TWO to VERSION::new(3), ensuring proper cache invalidation and data consistency for cohort analysis computations (crates/brk_computer/src/vecs/stateful/cohort.rs)

View changes

v0.0.64 - 2025-06-17

New Features

  • 4-Year Statistical Analysis: Added comprehensive 4-year moving averages and standard deviation calculations for ratio analysis, enabling long-term trend analysis with ratio_4y_sma, ratio_4y_sd, and ratio_4y_zscore metrics (crates/brk_computer/src/vecs/grouped/ratio_from_dateindex.rs)
  • Z-Score Computation Optimization: Refactored z-score calculations to use a dedicated compute_zscore() method, improving code maintainability and performance by centralizing statistical computations

Internal Changes

  • Vector Naming Convention: Renamed ratio_standard_deviation to ratio_sd for consistency with other abbreviated metric names
  • Statistical Method Extraction: Extracted z-score computation logic into reusable methods, reducing code duplication and improving mathematical accuracy
  • Vector Builder Enhancement: Added conditional naming logic in grouped vector builder for better handling of sum operations with optional suffixes

View changes

v0.0.63 - 2025-06-16

New Features

  • Static File Caching: Implemented intelligent HTTP caching strategy for static assets, setting immutable cache headers for long-term assets (images, fonts, JavaScript, map files) and must-revalidate headers for HTML and service worker files to ensure optimal performance and cache invalidation (crates/brk_server/src/files/file.rs)
  • Progressive Web App Assets: Added comprehensive PWA assets including Apple Touch icons, splash screens for all iOS device sizes and orientations, and maskable icons for Android, enabling native app-like experience across all mobile platforms

Internal Changes

  • File Extension Detection: Refactored file extension checking from string-based ends_with() pattern matching to more robust Path::extension() method for better accuracy and maintainability
  • Cache Logic Simplification: Consolidated cache control logic by removing redundant file path checks and grouping related file types for cleaner code organization

View changes

v0.0.62 - 2025-06-16

Bug Fixes

  • TypeScript Bridge Generation: Fixed JavaScript/TypeScript bridge generation by properly handling optional return values when reading hashed main.js entry files, preventing crashes when entry files don't exist (crates/brk_bundler/src/lib.rs)
  • TypeScript Type Generation: Restructured TypeScript type definitions for VecIdToIndexes, moving typedef comments outside function declaration for proper type recognition (crates/brk_server/src/api/query/bridge.rs)

New Features

  • Chart Time Scale Optimization: Improved time scale spacing for different chart time periods with more balanced bar spacing (quarters: 3→2, years: 12→6, decades: 120→60) for better visual density (websites/default/packages/lightweight-charts/wrapper.js)
  • Progressive Web App Support: Added service worker scope configuration and improved PWA manifest handling for better standalone app experience

Internal Changes

  • Chart Data Processing: Refactored chart data handling to use object destructuring instead of arrays, improving code clarity and type safety in effect callbacks
  • HTML Standards: Updated HTML5 DOCTYPE declaration and improved syntax consistency
  • Error Handling: Added try-catch protection for localStorage operations to prevent crashes in restricted environments

View changes

v0.0.61 - 2025-06-15

New Features

  • OHLC Price Continuity: Added logic to maintain price continuity between days in OHLC data computation by setting today's opening price to the previous day's closing price, ensuring no gaps in price series when computing daily OHLC from fetched data (crates/brk_computer/src/vecs/fetched.rs)

Internal Changes

  • Struct Mutability: Added DerefMut trait to all OHLC struct variants (OhlcF64, OhlcBtc, OhlcSats, OhlcUsd) enabling mutable access to underlying values
  • Error Handling: Improved file creation error handling in block recap export with more descriptive panic messages

View changes