/ CHANGELOG.md
CHANGELOG.md
1 <!-- 2 # v0.X.Y | WIP 3  4 --> 5 6 # v0.X.0 | WIP | A new beginning 7 8 Full rewrite 9 10 # [kibo-v0.5.0](https://github.com/kibo-money/kibo/tree/eea56d394bf92c62c81da8b78b8c47ea730683f5) | [873199](https://mempool.space/block/0000000000000000000270925aa6a565be92e13164565a3f7994ca1966e48050) - 2024/12/04 11 12  13 14 ## Datasets 15 16 - Added `Sell Side Risk Ratio` to all entities 17 - Added `Open`, `High` and `Low` datasets 18 - Added `Satoshis Per Dollar` 19 - Added `All Time High` 20 - Added `All Time High Date` 21 - Added `Days Since All Time High` 22 - Added `Max Days Between All Time Highs` 23 - Added `Max Years Between All Time Highs` 24 - Added `Drawdown` 25 - Added `Adjusted Value Created`, `Adjusted Value Destroyed` and `Adjusted Spent Output Profit Ratio` to all entities 26 - Added `Realized Profit To Loss Ratio` to all entities 27 - Added `Hash Price Min` 28 - Added `Hash Price Rebound` 29 - Removed all year datasets (25) in favor for epoch datasets (5), the former was too granular to be really useful 30 - 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 31 - Fixed a lot of values in split by liquidity datasets 32 33 ## Website 34 35 - Updated the design yet again which made the website for something more minimal and easier on the eyes 36 - Added a *Save In Bitcoin* (DCA) simulation page 37 - ~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 38 - Added a library of PDFs 39 - Fixed service worker not passing 304 (not modified) response and instead serving cached responses 40 - Fixed history not being properly registered 41 - Fixed window being moveable on iOS when in standalone mode when it shouldn't be 42 - Added `Compare` section to all groups, to compare all datasets within a group 43 - Updated `Solid Signals` library, which had an important breaking change on the `createEffect` function which might bring some bugs 44 - Fixed some datasets paths 45 - A lot of code reorg and file splits 46 - Adopted a framework like approach to load pages while still being pure JS without a build step 47 - Probably more that was forgotten 48 49 ## Parser 50 51 - Added a `/datasets/last` json file with all the latest values 52 - Added `--rpcconnect` parameter to the config 53 - Added handling of SIGINT and SIGTERM terminal signals which menas you can now safely CTRL+C or kill the parser while it's exporting 54 - Added config print at the start of the program 55 - Compressed `empty_address_data` struct to save space (should shave of between up to 50% of the `address_index_to_empty_address_data` database) 56 - Doubled the number of `txid_to_tx_data` databases from 4096 to 8192 57 - ~Added `--recompute_computed true` argument, to allow recomputation of computed datasets in case of a bug~ Buggy for now 58 - Fixed not saved arguments, not being processed properly 59 - Fixed bug in `generic_map.multi_insert_simple_average` 60 - Added defragmentation option `--first-defragment true` of databases to save space (which can save up to 50%) 61 - Fixed bug in the computation of averages in `GenericMap` 62 - Added support and paramer for cookie files with `--rpccookiefile`, and auto find if the path is `--datadir/.cookie` 63 - Increased number of retries and time between them when fetching price from exchanges APIs 64 65 ## Server 66 67 - Fixed links in several places missing the `/api` part and thus not working 68 - Fixed broken last values routes 69 - Added support for the `/datasets/last` file via the `/api/last` route 70 - Added support for `.json` (won't change anything) and `.csv` (will download a csv file) extension at the end of datasets routes 71 - Added `all=true` query parameter to dataset routes to get to full history 72 73 ## Biter 74 75 - Moved back to this repo 76 77 # [kibo-v0.4.0](https://github.com/kibo-money/kibo/tree/a64c544815d9ef785e2fc1323582f774f16b9200) | [861950](https://mempool.space/block/00000000000000000000530d0e30ccf7deeace122dcc99f2668a06c6dad83629) - 2024/09/19 78 79  80 81 ## Brand 82 83 - **Satonomics** is now **kibo** 🎉 84 85 ## Website 86 87 - Complete redesign of the website 88 - Rewrote the whole application and removed `node`/`npm`/`pnpm` dependencies in favor for pure `HTML`/`CSS`/`Javascript` 89 - Website is now served by the server 90 - Added Trading View attribution link to the settings frame and file in the lightweight charts folder 91 - Many other changes 92 93 ## Parser 94 95 - Changed the block iterator from a custom version of [bitcoin-explorer](https://crates.io/crates/bitcoin-explorer) to the homemade [biter](https://crates.io/crates/biter) which allows the parser to run alongside `bitcoind` 96 - Added datasets compression thanks to [zstd](https://crates.io/crates/zstd) to reduce disk usage 97 - Use the Bitcoin RPC server for various calls instead of running cli commands and then parsing the JSON from the output 98 - **Important database changes that will need a full rescan**: 99 - Changed databases page size from 1MB to 4KB for improved disk usage 100 - Split txid_to_tx_data database in 4096 chunks (from 256) for improved disk usage 101 - Split address_index_to_X databases to chunks of 25_000 instead of 50_000 102 - Removed local Multisig database 103 - Updated the config, run with `-h` to see possible args 104 - Moved outputs from `/target/outputs` to `/out` to allow to run commands like `cargo clean` without side effects 105 - Various first run fixes 106 - Added to `-h` which arguments are saved, which is all of them at the time of writing 107 108 ## Server 109 110 - Updated the code to support compressed binaries 111 - Added serving of the website 112 - Improved `Cache-Control` behavior 113 114 # [kibo-v0.3.0](https://github.com/kibo-money/kibo/tree/b68b016091c45b071218fba01bac5b76e8eaf18c) | [853930](https://mempool.space/block/00000000000000000002eb5e9a7950ca2d5d98bd1ed28fc9098aa630d417985d) - 2024/07/26 115 116  117 118 ## Parser 119 120 - Global 121 - Improved self-hosting by: 122 - 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 123 - Fixing a bug that would crash the program if launched for the first time ever 124 - 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 125 - Merged the core of `HeightMap` and `DateMap` structs into `GenericMap` 126 - Added `Height` struct and many others 127 - Reorganized outputs of both the parser and the server for ease of use and easier sync compatibility 128 - CLI 129 - Added an argument parser for improved UX with several options 130 - Datasets 131 - Added the following datasets for all entities: 132 - Value destroyed 133 - Value created 134 - Spent Output Profit Ratio (SOPR) 135 - Added the following ratio datasets and their variations to all prices {realized, moving average, any cointime, etc}: 136 - Market Price to {X} 137 - Market Price to {X} Ratio 138 - Market Price to {X} Ratio 1 Week SMA 139 - Market Price to {X} Ratio 1 Month SMA 140 - Market Price to {X} Ratio 1 Year SMA 141 - Market Price to {X} Ratio 1 Year SMA Momentum Oscillator 142 - Market Price to {X} Ratio 99th Percentile 143 - Market Price to {X} Ratio 99.5th Percentile 144 - Market Price to {X} Ratio 99.9th Percentile 145 - Market Price to {X} Ratio 1st Percentile 146 - Market Price to {X} Ratio 0.5th Percentile 147 - {X} 1% Top Probability 148 - {X} 0.5% Top Probability 149 - {X} 0.1% Top Probability 150 - {X} 1% Bottom Probability 151 - {X} 0.5% Bottom Probability 152 - {X} 0.1% Bottom Probability 153 - Added block metadatasets and their variants (raw/sum/average/min/max/percentiles): 154 - Block size 155 - Block weight 156 - Block VBytes 157 - Block interval 158 - Price 159 - Improved error message when price cannot be found 160 161 ## App 162 163 - General 164 - Added chart scroll button for nice animations à la Wicked 165 - Added scale mode switch (Linear/Logarithmic) at the bottom right of all charts 166 - Added unit at the top left of all charts 167 - Added a backup API in case the main one fails or is offline 168 - Complete redesign of the datasets object 169 - Removed import of routes in JSON in favor for hardcoded typed routes in string format which resulted in: 170 - \+ A much lighter app 171 - \+ Better Lighthouse score 172 - \- Slower Typescript server 173 - Fixed datasets with null values crashing their fetch function 174 - Added a 'Go to a random chart' button in several places 175 - Chart 176 - Fixed series color being set to default ones after hovering the legend 177 - Fixed chart starting showing candlesticks and quickly switching to a line when it should've started directly with the line 178 - Separated the QRCode generator library from the main chunk and made it imported on click 179 - Fixed timescale changing on small screen after changing charts 180 - Folders 181 - Added the size in the "filename" of address cohorts grouped by size 182 - Favorites 183 - Added a 'favorite' and 'unfavorite' button at the bottom 184 - Settings 185 - Removed the horizontal scroll bar which was unintended 186 187 ## Server 188 189 - Run file 190 - Only run with a watcher if `cargo watch` is available 191 - Removed id_to_path file in favor for only `paths.d.ts` in `app/src/types` 192 193 # [kibo-v0.2.0](https://github.com/kibo-money/kibo/tree/248187889283597c5dbb806292297453c25e97b8) | [851286](https://mempool.space/block/0000000000000000000281ca7f1bf8c50702bfca168c7af1bdc67c977c1ac8ed) - 2024/07/08 194 195  196 197 ## App 198 199 - General 200 - Added the height version of all datasets and many optimizations to make them usable but only available on desktop and tablets for now 201 - Added a light theme 202 - Charts 203 - Added split panes in order to have the vertical axis visible for all datasets 204 - Added min and max values on the charts 205 - Fixed legend hovering on mobile not resetting on touch end 206 - Added "3 months" and yearly time scale setters (from year 2009 to today) 207 - Hide scrollbar of timescale setters and instead added scroll buttons to the legend only visible on desktop 208 - Improved Share/QR Code screen 209 - Changed all Area series to Line series 210 - Fixed horizontal scrollable legend not updating on preset change 211 - Performance 212 - Improved app's reactivity 213 - Added some chunk splitting for a faster initial load 214 - Global improvements that increased the Lighthouse's performance score 215 - Settings 216 - Finally made a proper component where you can chose the app's theme, between a moving or static background and its text opacity 217 - Added donations section with a leaderboard 218 - Added various links that are visible on the bottom side of the strip on desktop to mobile users 219 - Added install instructions when not installed for Apple users 220 - Misc 221 - Support mini window size, could be useful for embedded views 222 - Hopefully made scrollbars a little more subtle on WIndows and Linux, can't test 223 - Generale style updates 224 225 ## Parser 226 227 - Fixed ulimit only being run in Mac OS instead of whenever the program is detected 228 229 # [kibo-v0.1.1](https://github.com/kibo-money/kibo/tree/e55b5195a9de9aea306903c94ed63cb1720fda5f) | [849240](https://mempool.space/block/000000000000000000002b8653988655071c07bb5f7181c038f9326bc86db741) - 2024/06/24 230 231  232 233 ## Parser 234 235 - Fixed overflow in `Price` struct which caused many Realized Caps and Realized Prices to have completely bogus data 236 - Fixed Realized Cap computation which was using rounded prices instead normal ones 237 238 ## Server 239 240 - Added the chunk, date and time of the request to the terminal logs 241 242 ## App 243 244 - Chart 245 - Added double click option on a legend to toggle the visibility of all other series 246 - Added highlight effect to a legend by darkening the color of all the other series on the chart while hovering it with the mouse 247 - Added an API link in the legend for each dataset where applicable (when isn't generated locally) 248 - Save fullscreen preference in local storage and url 249 - Improved resize bar on desktop 250 - Changed resize button logo 251 - Changed the share button to visible on small screen too 252 - Improved share screen 253 - Fixed time range shifting not being the one in url params or saved in local storage 254 - Fixed time range shifting on series toggling via the legend 255 - Fixed time range shifting on fullscreen 256 - Fixed time range shifting on resize of the sidebar 257 - Set default view at first load to last 6 months 258 - Added some padding around the datasets (year 1970 to 2100) 259 - History 260 - Changed background for the sticky dates from blur to a solid color as it didn't appear properly in Firefox 261 - Build 262 - 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 263 - Removed many libraries and did some things manually instead to improve build size 264 - Strip 265 - Temporarily removed the Home button on the strip bar on desktop as there is no landing page yet 266 - Settings 267 - Added version 268 - PWA 269 - Fixed background update 270 - Changed update check frequency to 1 minute (~1kb to fetch every minute which is very reasonable) 271 - Added a nice banner to ask the user to install the update 272 - Misc 273 - Removed tracker even though it was a very privacy friendly as it appeared to not be working properly 274 275 ## Price 276 277 - Deleted old price datasets and their backups 278 279 # [kibo-v0.1.0](https://github.com/kibo-money/kibo/tree/a1a576d088c8f83ed32d48753a7611f70a964574) | [848642](https://mempool.space/block/000000000000000000020be5761d70751252219a9557f55e91ecdfb86c4e026a) - 2024/06/19 280 281  282 283 # kibo-v0.0.1 | [835444](https://mempool.space/block/000000000000000000009f93907a0dd83c080d5585cc7ec82c076d45f6d7c872) - 2024/03/20 284 285 