Files
brk/docs/CHANGELOG.md
2025-09-13 18:32:13 +02:00

49 KiB

Changelog

This changelog was generated by Claude Code.

All notable changes to the Bitcoin Research Kit (BRK) project will be documented in this file.

v0.0.89 - 2025-08-24

Documentation

  • Enhanced: Comprehensive rewrite of all crate README files for improved clarity and developer experience across all workspace crates: brk, brk_bundler, brk_computer, brk_cli, brk_error
  • Updated: Main project README with better structure and comprehensive architecture documentation
  • Standardized: README format across all workspace crates with consistent styling and improved developer experience
  • Added: More detailed descriptions for each crate's purpose and functionality with examples

Computer Module - Major Refactoring

  • Refactored: Converted ComputedFrom pattern to LazyFrom pattern for improved performance and memory efficiency
  • Added: New LazyVecBuilder implementation for on-demand computation with support for first, average, sum, max, min, last, and cumulative operations
  • Restructured: Computer module stateful operations with improved organization and rollback functionality
  • Enhanced: Address type organization into dedicated module structure
  • Improved: Stateful rollback functionality for better error recovery and blockchain reorganization handling

Data Structures

  • Added: New StoredI16 data type for efficient 16-bit signed integer storage with compression support
  • Enhanced: StoredF32 with additional utility methods for mathematical operations

Website Frontend

  • Updated: Upgraded solid-signals from v0.3.2 to solidjs-signals v0.4.1 for improved reactivity and performance
  • Enhanced: Frontend package management and dependency organization
  • Improved: Chart rendering performance with updated signal library

Build System

  • Updated: All crate versions from 0.0.88 to 0.0.89 across the workspace
  • Enhanced: Cargo.toml dependency management and version consistency

View changes

v0.0.88 - 2025-08-10

Website

  • Fixed: Conditional rendering of adjusted SOPR (Adjusted Spent Output Profit Ratio) charts in website options
  • Improved: SOPR chart options now only display adjusted SOPR when the data is available in the vector indexes
  • Enhanced: Better error handling for missing adjusted SOPR datasets

Build System

  • Updated: Added rust-version.workspace = true to all crate Cargo.toml files
  • Updated: Bumped all crate versions from 0.0.87 to 0.0.88
  • Added: Minimum supported Rust version constraint (1.89) to workspace configuration

View changes

v0.0.87 - 2025-08-10

Major Architecture Change

  • BREAKING: Extracted brk_vecs into separate external crate vecdb
  • Moved: Vector storage engine to separate seqdb repository
  • Updated: All crates now use vecdb instead of internal brk_vecs
  • Improved: Better separation of concerns with vector storage as independent library

Storage Engine

  • Renamed: brk_vecsvecdb
  • Renamed: brk_vecs_macrosvecdb_derive
  • Updated: All vector database operations now use vecdb::Database instead of brk_vecs::File
  • Enhanced: Vector storage is now a standalone crate with its own versioning

Dependencies

  • Updated: brk_rmcp from 0.4.1 → 0.5.0
  • Updated: cc from 1.2.31 → 1.2.32
  • Updated: hashbrown from 0.15.4 → 0.15.5
  • Updated: rapidhash from 3.0.0 → 3.1.0
  • Updated: rustversion from 1.0.21 → 1.0.22
  • Updated: slab from 0.4.10 → 0.4.11

Configuration

  • Added: --exchanges flag to control whether to fetch prices from exchange APIs
  • Enhanced: Price fetching now has two levels - BRK API and exchanges
  • Improved: Better RPC authentication error messages with troubleshooting guidance

Build System

  • Updated: All crate versions from 0.0.85 to 0.0.87
  • Added: New dependency on external vecdb crate with derive features

View changes

v0.0.85 - 2025-08-07

MCP (Model Context Protocol)

  • Updated: Upgraded MCP implementation
  • Changed: Made MCP stateless mode the default (was previously stateful to avoid breaking Claude)
  • Improved: Better MCP server configuration with stateless operations

Logging

  • Enhanced: Updated logging utilities in brk_logger

Build System

  • Updated: Bumped version from 0.0.84 to 0.0.85

View changes

v0.0.84 - 2025-08-07

Build System

  • Added: Per-crate build.rs files for better build configuration
  • Improved: Cargo.lock file management and error handling
  • Enhanced: Build process optimization across all crates

Vector Storage

  • Fixed: Compressed vector functionality restored
  • Fixed: Race condition in vector operations
  • Improved: Vector storage stability and performance

View changes

v0.0.83 - 2025-07-26

Vector Storage

  • Added: Linux punch hole implementation for better disk space management
  • Enhanced: Memory-mapped file handling improvements

View changes

v0.0.82 - 2025-07-26

Dependencies

  • Updated: Cleaned up Cargo dependencies
  • Removed: Temporarily removed rayon parallelization from computer module
  • Enhanced: Dependency management and build optimization

Computer Module

  • Fixed: File initialization with minimum length and regions
  • Improved: Memory management and performance optimizations
  • Added: Flush and punch operations for better disk usage

View changes

v0.0.81 - 2025-07-17

Vector Storage

  • Fixed: Holes export functionality in vector storage
  • Enhanced: Vector storage reliability

MCP Integration

  • Updated: Now uses rust-rmcp instead of brk-rmcp for better compatibility

Computer Module

  • Improved: Performance optimizations
  • Fixed: Stateful operations
  • Enhanced: Vector-to-store conversion process (parts 1 & 2)

View changes

v0.0.80 - 2025-07-13

MCP (Model Context Protocol)

  • Removed: Claude results examples due to dead links
  • Cleaned: MCP example documentation

Vector Storage

  • Added: Local and shared stored_len tracking to raw vector variant
  • Enhanced: Vector storage metadata management

Dependencies

  • Updated: Multiple crate upgrades for better compatibility

View changes

v0.0.79 - 2025-07-13

Dependencies

  • Updated: Upgraded multiple crates for better compatibility and performance

Website

  • Applied: Dataset changes to chart configurations
  • Enhanced: Chart display with updated dataset handling

Vector Storage

  • Fixed: Header reading functionality for existing vector files
  • Improved: Memory management by removing mmap storage from struct
  • Enhanced: Vector file handling reliability

Store Operations

  • Reverted: Bloom filters back to default settings due to slow read performance
  • Optimized: Memory usage for future v3 improvements
  • Fixed: Missing store-related files

View changes

v0.0.78 - 2025-07-13

Build System

  • Updated: All crate versions bumped for version consistency across workspace
  • Enhanced: Version consistency across workspace

Computer Module

  • Optimized: Reduced number of ratio datasets for some cohorts to improve performance
  • Enhanced: Performance optimizations across computation modules
  • Improved: Resource utilization and memory management
  • Fixed: Coarse lazy indexes functionality
  • Removed: Debug statements for cleaner production builds

Global Improvements

  • Added: Semester-based time intervals
  • Changed: Coarser intervals now computed instead of eager evaluation
  • Fixed: Various global module issues
  • Enhanced: Performance and resource improvements

View changes

v0.0.76 - 2025-07-09

Bundler

  • Updated: Upgraded Rolldown dependency for better bundling performance

View changes

v0.0.75 - 2025-07-09

Computer Module

  • Fixed: Reduced parallel thread count for compute_rest_part2 to prevent external drive crashes
  • Improved: Better handling of external storage devices during computation

View changes

v0.0.74 - 2025-07-09

Computer Module

  • Fixed: Parallel computation crashes on external drives
  • Enhanced: Storage device compatibility improvements

View changes

v0.0.73 - 2025-07-09

Website

  • Fixed: Chart panes now maintain equal sizes
  • Removed: Automatic saving of pane heights preference
  • Updated: Lightweight Charts to v5.0.8
  • Added: TODO functionality initialization
  • Enhanced: Website development snapshots

Dependencies

  • Updated: Global dependency upgrades across all crates
  • Enhanced: System-wide dependency management

Computer Module

  • Added: More up-to and from datasets for enhanced analysis
  • Implemented: Store functionality (parts 2-10)
  • Enhanced: Data storage architecture with store-based approach
  • Replaced: Value enum with Cow for better memory efficiency

Global System

  • Moved: addressindex_to_outputindex stores from computer to indexer module
  • Renamed: Various stores for better organization
  • Enhanced: Global module fixes and improvements

Indexer

  • Renamed: Store organization for better clarity
  • Enhanced: Store management improvements

Documentation

  • Added: MCP (Model Context Protocol) README documentation
  • Enhanced: Developer documentation

View changes

v0.0.71 - 2025-06-25

MCP (Model Context Protocol)

  • Enhanced: Small improvements to MCP functionality
  • Updated: MCP integration refinements

View changes

v0.0.70 - 2025-06-25

Fetcher Module

  • Fixed: BRK API URL endpoints
  • Enhanced: Price fetching reliability

View changes

v0.0.69 - 2025-06-24

Vector Storage

  • Reverted: Storing file in struct (was overwhelming system resources)
  • Improved: Memory management for vector operations

View changes

v0.0.68 - 2025-06-24

Core System

  • Increased: Maximum open files limit for better file handling
  • Enhanced: System resource management

View changes

v0.0.67 - 2025-06-24

Server Module

  • Changed: Now uses ETag for vectors instead of date modified for better caching
  • Enhanced: HTTP caching strategy improvements

Vector Storage

  • Unified: Single file with header approach for vector storage
  • Improved: Vector file organization and management

MCP Integration

  • Added: MCP part 2 implementation
  • Refactored: Server MCP integration
  • Enhanced: MCP functionality expansion

Global Improvements

  • Renamed: Various indexes for better clarity
  • Updated: Index naming conventions
  • Fixed: Web index type imports

CLI

  • Removed: Duplicate 'h' short index in query functionality

Documentation

  • Updated: README improvements
  • Updated: MCP documentation
  • Updated: Changelog titles

View changes

v0.0.66 - 2025-06-19

Cointime Implementation

  • Added: Cointime functionality part 1
  • Implemented: Cumulative destroyed coinblocks and cointime calculations
  • Enhanced: Bitcoin time-based analytics

Website

  • Fixed: Options cumulative possible vecids type issue
  • Enhanced: Chart options handling

Documentation

  • Merged: Pull request #18 with typo fixes from StevenBlack
  • Improved: Code quality and documentation accuracy

View changes

v0.0.65 - 2025-06-17

Website

  • Fixed: Hang issue when candles fetched are slightly different than before
  • Enhanced: Chart data fetching reliability

Documentation

  • Improved: Minor refinements to brk_cli README
  • Enhanced: CLI documentation clarity

View changes

v0.0.64 - 2025-06-17

Datasets

  • Added: Multiple new realized datasets and charts
  • Added: 4-year Z-score calculations
  • Added: 200-day Simple Moving Average (SMA)
  • Added: Mayer's Multiple indicator
  • Enhanced: Financial analysis capabilities

View changes

v0.0.63 - 2025-06-16

Website

  • Fixed: Web interface stutter issue (follow-up fix)
  • Added: PWA (Progressive Web App) assets
  • Enhanced: User experience improvements

View changes

v0.0.62 - 2025-06-16

Website

  • Fixed: Stutter on update and save default chart settings to URL parameters
  • Enhanced: Chart settings persistence

View changes

v0.0.61 - 2025-06-15

Website

  • Fixed: Error in Safari lockdown mode
  • Improved: Charts now update instead of setData when possible for better performance

Computer Module

  • Fixed: OHLC data opening when fetched from different API than previous OHLC (preparation fix)
  • Enhanced: API data source consistency

View changes

v0.0.59 - 2025-06-15

Computer Module

  • Fixed: Open of OHLC data when fetched from different API than previous OHLC
  • Enhanced: API data consistency handling

View changes

v0.0.58 - 2025-06-15

Bundler

  • Fixed: BRK bundler usage
  • Removed: HTML minify crate for improved bundling
  • Deployed: brk_rolldown bundler with edge case fixes
  • Initialized: Working bundler version
  • Added: Basic bundling functionality

Server

  • Updated: Cache control for bundled websites (continued improvements)
  • Enhanced: Website serving performance
  • Enhanced: Static file serving performance

View changes

v0.0.56 - 2025-06-13

Computer Module

  • Enhanced: Stateful operations now reset when blockchain reorganization detected
  • Improved: Blockchain state management reliability

View changes

v0.0.55 - 2025-06-13

Global

  • Fixed: Multiple system-wide fixes and improvements
  • Enhanced: Overall system stability

View changes

v0.0.54 - 2025-06-12

Website

  • Enhanced: Filter possible index choices in charts (initial implementation)
  • Enhanced: Filter possible index choices in charts
  • Fixed: CSS styling issues
  • Added: Auto price series type for default website
  • Added: Live price functionality
  • Removed: ScrollToSelected functionality

Vector Storage

  • Fixed: Compressed vector functionality (ongoing improvements)
  • Fixed: Compressed vector functionality (still has slow parallel read performance)
  • Changed: CLI defaults to raw format for performance
  • Changed: CLI now defaults to raw format for better performance

Indexer

  • Enhanced: Raw format only support
  • Limited: Now only supports raw format
  • Fixed: Global system fixes
  • Fixed: Various global fixes

View changes

v0.0.52 - 2025-06-11

Website

  • Fixed: Service worker and related components
  • Enhanced: Progressive Web App functionality

View changes

v0.0.51 - 2025-06-11

Website

  • Enhanced: Default website improvements and fixes

View changes

v0.0.50 - 2025-06-11

Website

  • Fixed: Minimum bar spacing for charts
  • Enhanced: Chart display improvements

View changes

v0.0.49 - 2025-06-11

Build System

  • Updated: Set full version of all crates for better versioning consistency
  • Enhanced: Cargo workspace version management

Website

  • Updated: Multiple default website snapshots and improvements

Documentation

  • Updated: README improvements

View changes

v0.0.48 - 2025-06-09

Website

  • Enhanced: Default website snapshots and continued development

View changes

v0.0.47 - 2025-06-08

Server

  • Added: Documentation for index-t-value functionality
  • Added: Support for /api/X-to-Y endpoints
  • Fixed: Query CLI functionality
  • Added: Meta API endpoints for better API discoverability

CLI

  • Added: Count parameter to query functionality

View changes

v0.0.46 - 2025-06-08

Server

  • Added: DDoS protection for better server security
  • Enhanced: Request rate limiting and protection

View changes

v0.0.45 - 2025-06-08

Website

  • Moved: Service worker to root directory
  • Updated: Service worker functionality
  • Enhanced: PWA capabilities

View changes

v0.0.44 - 2025-06-07

Server

  • Fixed: Existing folder endpoints functionality
  • Enhanced: File serving reliability

View changes

v0.0.43 - 2025-06-07

Website

  • Updated: Dependencies and fixed CSS issues
  • Enhanced: Styling and layout improvements

View changes

v0.0.42 - 2025-06-07

Global System

  • Fixed: Multiple system fixes and improvements
  • Enhanced: System-wide stability improvements
  • Resolved: Data accuracy issues that were causing incorrect results

Fetcher

  • Added: Support for new API endpoints
  • Enhanced: Data fetching capabilities

Computer Module

  • Fixed: Coinblocks overflow issue
  • Enhanced: Calculation accuracy and stability
  • Increased: Flush frequency for better data persistence
  • Fixed: Eager mode functionality
  • Enhanced: Performance and reliability

Documentation

  • Reset: Changelog for clean organization

View changes

v0.0.40 - 2025-05-25

Global System

  • Fixed: Multiple system-wide issues
  • Enhanced: Overall stability and performance
  • Resolved: Data accuracy issues in global computations

View changes

v0.0.39 - 2025-05-25

UTXO System

  • Implemented: UTXO dataset functionality (initial part 1)
  • Implemented: UTXO dataset functionality (part 1)
  • Added: Foundation for unspent transaction output analysis
  • Added: Unspent transaction output tracking and analysis

View changes

v0.0.37 - 2025-05-14

DCA Analysis

  • Added: Dollar-Cost Averaging (DCA) classes and analysis
  • Enhanced: Investment strategy analytics

View changes

v0.0.36 - 2025-05-13

Website

  • Added: Price line functionality to charts
  • Enhanced: Chart visualization capabilities

View changes

v0.0.35 - 2025-05-12

Financial Analytics

  • Added: Investment return analysis (lump sum vs DCA)
  • Added: Average and ratio datasets
  • Added: Market Simple Moving Averages (SMAs)
  • Enhanced: Financial analysis tools

View changes

v0.0.34 - 2025-05-09

Website

  • Added: Market charts functionality
  • Enhanced: Chart display and interaction

View changes

v0.0.33 - 2025-05-08

Vector Storage

  • Fixed: Computed vector eager path functionality
  • Enhanced: Path deletion for lazy vectors
  • Improved: Vector storage reliability

View changes

v0.0.32 - 2025-05-08

Vector Storage - Lazy Computation

  • Completed: Lazy computation implementation
  • Enhanced: On-demand vector calculation
  • Improved: Memory efficiency for large datasets

View changes

v0.0.31 - 2025-04-30

Global System

  • Fixed: Multiple system fixes and improvements
  • Updated: Fixed old X (Twitter) links that directed to impersonator accounts
  • Enhanced: Link security and accuracy

Computer Module

  • Removed: Last indexes in favor of count-based approach
  • Enhanced: Index management efficiency

Vector Storage

  • Improved: Vector iteration with into_iter for range collection
  • Enhanced: Iterator performance and memory usage

View changes

v0.0.30 - 2025-04-23

Website

  • Fixed: Chart data fetching issues
  • Enhanced: Data loading reliability

Global System

  • Added: Pay-to-Anchor (P2A) support
  • Enhanced: Bitcoin script type support
  • Improved: Transaction parsing capabilities

Storage System

  • Unified: Single keyspace for all stores using fjall
  • Enhanced: Storage efficiency and organization

Vector Storage

  • Implemented: Lazy/eager computation model
  • Enhanced: Flexible computation strategies

View changes

v0.0.29 - 2025-04-22

Website (Kibo)

  • Fixed: TypeScript ignore additions for better compilation
  • Enhanced: Database functionality (part 2)
  • Improved: Database integration and management

View changes

v0.0.28 - 2025-04-19

Website (Kibo)

  • Implemented: Database functionality (part 1)
  • Added: Initial database integration for kibo website

Computer Module

  • Enhanced: Computer + kibo integration (part 14) with fixes
  • Improved: Cross-module functionality

View changes

v0.0.27 - 2025-04-18

Distribution

  • Fixed: Tag version formatting issues
  • Enhanced: Release packaging improvements

View changes

v0.0.26 - 2025-04-18

Distribution

  • Fixed: Ubuntu version compatibility
  • Enhanced: Linux distribution support

View changes

v0.0.25 - 2025-04-18

Distribution

  • Updated: Ubuntu version for better compatibility
  • Added: Manual trigger for GitHub Actions
  • Enhanced: CI/CD pipeline flexibility

View changes

v0.0.24 - 2025-04-18

Dependencies

  • Updated: Upgraded multiple crates for better performance
  • Enhanced: Dependency management

Computer Module

  • Enhanced: Computer + kibo integration (part 13)
  • Cleanup: Kibo-related code organization
  • Continued: Computer module development (part 12)

Documentation

  • Updated: Parser README documentation
  • Enhanced: Documentation clarity and completeness
  • Updated: Discord community links

View changes

v0.0.23 - 2025-04-14

Dependencies

  • Updated: Dependency upgrades across the workspace
  • Enhanced: Compatibility and performance
  • Enhanced: System compatibility

Computer Module

  • Enhanced: Computer + kibo integration (parts 10-11)
  • Improved: Cross-component functionality
  • Improved: Cross-module functionality

View changes

v0.0.21 - 2025-04-11

Computer Module

  • Enhanced: Computer + kibo integration (part 9)
  • Continued: Ongoing computer module development

View changes

v0.0.20 - 2025-04-10

Global Cleanup

  • Cleaned: Old files and legacy code
  • Enhanced: Codebase organization

Vector Storage

  • Reworked: Vector storage implementation (parts 1-4)
  • Optimized: Performance improvements
  • Enhanced: Memory efficiency

View changes

v0.0.19 - 2025-04-07

Computer Module

  • Enhanced: Computer functionality (parts 5-7)
  • Improved: Data processing capabilities

View changes

v0.0.18 - 2025-04-05

Computer Module

  • Enhanced: Computer functionality (part 4)
  • Continued: Core computer development

View changes

v0.0.17 - 2025-04-05

Distribution

  • Moved: Configuration to config.toml format
  • Enhanced: Configuration management

Storage

  • Initialized: Disk-based storage functionality
  • Enhanced: Data persistence capabilities

View changes

v0.0.16 - 2025-04-04

Server

  • Fixed: Repository version path issues
  • Enhanced: Static file serving

View changes

v0.0.15 - 2025-04-04

Server

  • Fixed: Missing 'v' in version handling
  • Enhanced: Version management

View changes

v0.0.14 - 2025-04-04

Server

  • Fixed: Downloaded repository version path
  • Enhanced: File path resolution

View changes

v0.0.13 - 2025-04-04

Global System

  • Enhanced: System-wide improvements and snapshots
  • Fixed: Various stability issues

Documentation

  • Added: Warning notices in README
  • Enhanced: User guidance and safety information

Website (Kibo)

  • Fixed: Simulation functionality
  • Enhanced: User interface improvements
  • Converted: TypeScript types to JSDoc for better compatibility
  • Upgraded: Signals library to tresshaked v0.2.4

Server

  • Added: API documentation
  • Enhanced: Development experience

View changes

v0.0.12 - 2025-04-02

Server

  • Enhanced: API documentation and functionality
  • Improved: Developer experience

Website (Kibo)

  • Enhanced: Various improvements (parts 1-5)
  • Changed: Font from Satoshi to Geist
  • Improved: Typography and design

Documentation

  • Updated: README files with badges and shields
  • Enhanced: Project presentation

Dependencies

  • Updated: Crate updates across workspace
  • Enhanced: Compatibility and performance

View changes

v0.0 - 2025-02-23

Major Project Rewrite

  • BREAKING: Complete rewrite from legacy "kibo" to modern "BRK" (Bitcoin Research Kit)
  • New: Modular Rust workspace architecture with separate crates
  • Added: Modern build system with Cargo workspace
  • Created: New vector storage engine (brk_vecs, later became vecdb)
  • Established: Clear separation between parser, indexer, computer, and server modules
  • Added: MCP (Model Context Protocol) integration
  • Added: RESTful API server with multiple output formats
  • Added: Comprehensive CLI interface
  • Enhanced: Performance and scalability improvements

Previous Releases (Legacy from kibo project)

v0.X.0 | WIP | A new beginning

Image of BRK's Web App version 0.1.0

Full rewrite

kibo-v0.5.0 | 873199 - 2024/12/04

Image of the kibo Web App version 0.5.0

Datasets

  • Added Sell Side Risk Ratio to all entities
  • Added Open, High and Low datasets
  • Added Satoshis Per Dollar
  • Added All Time High
  • Added All Time High Date
  • Added Days Since All Time High
  • Added Max Days Between All Time Highs
  • Added Max Years Between All Time Highs
  • Added Drawdown
  • Added Adjusted Value Created, Adjusted Value Destroyed and Adjusted Spent Output Profit Ratio to all entities
  • Added Realized Profit To Loss Ratio to all entities
  • Added Hash Price Min
  • Added Hash Price Rebound
  • Removed all year datasets (25) in favor for epoch datasets (5), the former was too granular to be really useful
  • Removed datasets split by liquidity for all datasets already split by any address kind, while fun to have, they took time to compute, ram, and space to store and no one was actually checking them
  • Fixed a lot of values in split by liquidity datasets

Website

  • Updated the design yet again which made the website for something more minimal and easier on the eyes
  • Added a Save In Bitcoin (DCA) simulation page
  • Added a dashboard Added the latest values to the tree next to each option instead, while less values are visible at a time, it's much more readable and organised
  • Added a library of PDFs
  • Fixed service worker not passing 304 (not modified) response and instead serving cached responses
  • Fixed history not being properly registered
  • Fixed window being moveable on iOS when in standalone mode when it shouldn't be
  • Added Compare section to all groups, to compare all datasets within a group
  • Updated Solid Signals library, which had an important breaking change on the createEffect function which might bring some bugs
  • Fixed some datasets paths
  • A lot of code reorg and file splits
  • Adopted a framework like approach to load pages while still being pure JS without a build step
  • Probably more that was forgotten

Parser

  • Added a /datasets/last json file with all the latest values
  • Added --rpcconnect parameter to the config
  • Added handling of SIGINT and SIGTERM terminal signals which menas you can now safely CTRL+C or kill the parser while it's exporting
  • Added config print at the start of the program
  • Compressed empty_address_data struct to save space (should shave of between up to 50% of the address_index_to_empty_address_data database)
  • Doubled the number of txid_to_tx_data databases from 4096 to 8192
  • Added --recompute_computed true argument, to allow recomputation of computed datasets in case of a bug Buggy for now
  • Fixed not saved arguments, not being processed properly
  • Fixed bug in generic_map.multi_insert_simple_average
  • Added defragmentation option --first-defragment true of databases to save space (which can save up to 50%)
  • Fixed bug in the computation of averages in GenericMap
  • Added support and paramer for cookie files with --rpccookiefile, and auto find if the path is --datadir/.cookie
  • Increased number of retries and time between them when fetching price from exchanges APIs

Server

  • Fixed links in several places missing the /api part and thus not working
  • Fixed broken last values routes
  • Added support for the /datasets/last file via the /api/last route
  • Added support for .json (won't change anything) and .csv (will download a csv file) extension at the end of datasets routes
  • Added all=true query parameter to dataset routes to get to full history

Biter

  • Moved back to this repo

kibo-v0.4.0 | 861950 - 2024/09/19

Image of the kibo Web App version 0.4.0

Brand

  • Satonomics is now kibo 🎉

Website

  • Complete redesign of the website
  • Rewrote the whole application and removed node/npm/pnpm dependencies in favor for pure HTML/CSS/Javascript
  • Website is now served by the server
  • Added Trading View attribution link to the settings frame and file in the lightweight charts folder
  • Many other changes

Parser

  • Changed the block iterator from a custom version of bitcoin-explorer to the homemade biter which allows the parser to run alongside bitcoind
  • Added datasets compression thanks to zstd to reduce disk usage
  • Use the Bitcoin RPC server for various calls instead of running cli commands and then parsing the JSON from the output
  • Important database changes that will need a full rescan:
    • Changed databases page size from 1MB to 4KB for improved disk usage
    • Split txid_to_tx_data database in 4096 chunks (from 256) for improved disk usage
    • Split address_index_to_X databases to chunks of 25_000 instead of 50_000
    • Removed local Multisig database
  • Updated the config, run with -h to see possible args
  • Moved outputs from /target/outputs to /out to allow to run commands like cargo clean without side effects
  • Various first run fixes
  • Added to -h which arguments are saved, which is all of them at the time of writing

Server

  • Updated the code to support compressed binaries
  • Added serving of the website
  • Improved Cache-Control behavior

satonomics-v0.3.0 | 853930 - 2024/07/26

Image of the Satonomics Web App version 0.3.0

Parser

  • Global
    • Improved self-hosting by:
      • Fixing an incredibly annoying bug that made the program panic because of a wrong utxo/address durable state after a or many new datasets were added/changed after a first successful parse of the chain
      • Fixing a bug that would crash the program if launched for the first time ever
      • Auto fetch prices from the main Satonomics instance if missing instead of only trying Kraken's and Binance's API which are limited to the last 16 hours
    • Merged the core of HeightMap and DateMap structs into GenericMap
    • Added Height struct and many others
    • Reorganized outputs of both the parser and the server for ease of use and easier sync compatibility
  • CLI
    • Added an argument parser for improved UX with several options
  • Datasets
    • Added the following datasets for all entities:
      • Value destroyed
      • Value created
      • Spent Output Profit Ratio (SOPR)
    • Added the following ratio datasets and their variations to all prices {realized, moving average, any cointime, etc}:
      • Market Price to {X}
      • Market Price to {X} Ratio
      • Market Price to {X} Ratio 1 Week SMA
      • Market Price to {X} Ratio 1 Month SMA
      • Market Price to {X} Ratio 1 Year SMA
      • Market Price to {X} Ratio 1 Year SMA Momentum Oscillator
      • Market Price to {X} Ratio 99th Percentile
      • Market Price to {X} Ratio 99.5th Percentile
      • Market Price to {X} Ratio 99.9th Percentile
      • Market Price to {X} Ratio 1st Percentile
      • Market Price to {X} Ratio 0.5th Percentile
      • {X} 1% Top Probability
      • {X} 0.5% Top Probability
      • {X} 0.1% Top Probability
      • {X} 1% Bottom Probability
      • {X} 0.5% Bottom Probability
      • {X} 0.1% Bottom Probability
    • Added block metadatasets and their variants (raw/sum/average/min/max/percentiles):
      • Block size
      • Block weight
      • Block VBytes
      • Block interval
  • Price
    • Improved error message when price cannot be found

App

  • General
    • Added chart scroll button for nice animations à la Wicked
    • Added scale mode switch (Linear/Logarithmic) at the bottom right of all charts
    • Added unit at the top left of all charts
    • Added a backup API in case the main one fails or is offline
    • Complete redesign of the datasets object
    • Removed import of routes in JSON in favor for hardcoded typed routes in string format which resulted in:
      • + A much lighter app
      • + Better Lighthouse score
      • - Slower Typescript server
    • Fixed datasets with null values crashing their fetch function
    • Added a 'Go to a random chart' button in several places
  • Chart
    • Fixed series color being set to default ones after hovering the legend
    • Fixed chart starting showing candlesticks and quickly switching to a line when it should've started directly with the line
    • Separated the QRCode generator library from the main chunk and made it imported on click
    • Fixed timescale changing on small screen after changing charts
  • Folders
    • Added the size in the "filename" of address cohorts grouped by size
  • Favorites
    • Added a 'favorite' and 'unfavorite' button at the bottom
  • Settings
    • Removed the horizontal scroll bar which was unintended

Server

  • Run file
    • Only run with a watcher if cargo watch is available
    • Removed id_to_path file in favor for only paths.d.ts in app/src/types

satonomics-v0.2.0 | 851286 - 2024/07/08

Image of the Satonomics Web App version 0.2.0

App

  • General
    • Added the height version of all datasets and many optimizations to make them usable but only available on desktop and tablets for now
    • Added a light theme
  • Charts
    • Added split panes in order to have the vertical axis visible for all datasets
    • Added min and max values on the charts
    • Fixed legend hovering on mobile not resetting on touch end
    • Added "3 months" and yearly time scale setters (from year 2009 to today)
    • Hide scrollbar of timescale setters and instead added scroll buttons to the legend only visible on desktop
    • Improved Share/QR Code screen
    • Changed all Area series to Line series
    • Fixed horizontal scrollable legend not updating on preset change
  • Performance
    • Improved app's reactivity
    • Added some chunk splitting for a faster initial load
    • Global improvements that increased the Lighthouse's performance score
  • Settings
    • Finally made a proper component where you can chose the app's theme, between a moving or static background and its text opacity
    • Added donations section with a leaderboard
    • Added various links that are visible on the bottom side of the strip on desktop to mobile users
    • Added install instructions when not installed for Apple users
  • Misc
    • Support mini window size, could be useful for embedded views
    • Hopefully made scrollbars a little more subtle on WIndows and Linux, can't test
    • Generale style updates

Parser

  • Fixed ulimit only being run in Mac OS instead of whenever the program is detected

satonomics-v0.1.1 | 849240 - 2024/06/24

Image of the Satonomics Web App version 0.1.1

Parser

  • Fixed overflow in Price struct which caused many Realized Caps and Realized Prices to have completely bogus data
  • Fixed Realized Cap computation which was using rounded prices instead normal ones

Server

  • Added the chunk, date and time of the request to the terminal logs

App

  • Chart
    • Added double click option on a legend to toggle the visibility of all other series
    • Added highlight effect to a legend by darkening the color of all the other series on the chart while hovering it with the mouse
    • Added an API link in the legend for each dataset where applicable (when isn't generated locally)
    • Save fullscreen preference in local storage and url
    • Improved resize bar on desktop
    • Changed resize button logo
    • Changed the share button to visible on small screen too
    • Improved share screen
    • Fixed time range shifting not being the one in url params or saved in local storage
    • Fixed time range shifting on series toggling via the legend
    • Fixed time range shifting on fullscreen
    • Fixed time range shifting on resize of the sidebar
    • Set default view at first load to last 6 months
    • Added some padding around the datasets (year 1970 to 2100)
  • History
    • Changed background for the sticky dates from blur to a solid color as it didn't appear properly in Firefox
  • Build
    • Tried to add lazy loads to have split chunks after build, to have much faster load times and they worked great ! But they completely broke Safari on iOS, we can't have nice things
    • Removed many libraries and did some things manually instead to improve build size
  • Strip
    • Temporarily removed the Home button on the strip bar on desktop as there is no landing page yet
  • Settings
    • Added version
  • PWA
    • Fixed background update
    • Changed update check frequency to 1 minute (~1kb to fetch every minute which is very reasonable)
    • Added a nice banner to ask the user to install the update
  • Misc
    • Removed tracker even though it was a very privacy friendly as it appeared to not be working properly

Price

  • Deleted old price datasets and their backups

satonomics-v0.1.0 | 848642 - 2024/06/19

Image of the Satonomics Web App version 0.1.0

satonomics-v0.0.1 | 835444 - 2024/03/20

Image of the Satonomics Web App version 0.0.X