[//]: # (docker-finance | modern accounting for the power-user) [//]: # () [//]: # (Copyright [C] 2024 Aaron Fiore [Founder, Evergreen Crypto LLC]) [//]: # () [//]: # (This program is free software: you can redistribute it and/or modify) [//]: # (it under the terms of the GNU General Public License as published by) [//]: # (the Free Software Foundation, either version 3 of the License, or) [//]: # ([at your option] any later version.) [//]: # () [//]: # (This program is distributed in the hope that it will be useful,) [//]: # (but WITHOUT ANY WARRANTY; without even the implied warranty of) [//]: # (MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) [//]: # (GNU General Public License for more details.) [//]: # () [//]: # (You should have received a copy of the GNU General Public License) [//]: # (along with this program. If not, see .) # Changelog (`docker-finance`) ## 1.0.0-beta.3 - 2024-08-20 ⚠️ **Breaking changes for this pre-release** ⚠️ #### Repo ❗ For installation: - 🚨 **MUST** re-run the installation procedure in [README.md](README.md#installation) #### Client ❗ For client-side environment: - 🚨 **MUST** re-run `gen` command * Regenerate client env and Dockerfile (select 'Y' to all): ``` ├─ Client-side environment found, backup then generate new one? [Y/n] │ └─ Edit (new) environment now? [Y/n] │ ├─ Custom (optional) Dockerfile found, backup then generate new one? [Y/n] │ └─ Edit (new) custom Dockerfile now? [Y/n] ``` * Regenerate client/container (select 'Y' to all): - Superscript: ``` │ ├─ Generate (or update) joint client/container shell script (superscript)? [Y/n] │ │ └─ Edit (new) superscript now? [Y/n] ``` - Subprofile shell script: ``` │ ├─ Generate (or update) container flow configs and/or accounts? [Y/n] │ │ │ │ │ ├─ Generate (or update) subprofile's shell script? [Y/n] ``` * Take note of the updated default environment - Default directory 'hledger-flow' is now 'finance-flow' - Your client-side 'hledger-flow' directory can also be renamed - 🚨 **MUST** re-run `build` command 1. Remove (`rm`) previous images 2. Clean build cache (`docker system prune`) 3. Re-run a fresh `build` of your docker-finance > Tip: when in doubt, regenerate your entire setup. Your environment and accounts will be backed up in the process. #### Container Aside from changes above, there are no breaking changes for container. ❗ For accounts: - 🚨 **SHOULD** re-run `import` command * Applicable only to Capital One (bank) account ([#124](https://gitea.com/EvergreenCrypto/docker-finance/pulls/124)) --- ### 🧠 Contributors - Aaron Fiore ### 🛠️ Fixes / Updates #### Repo - CHANGELOG.md ([#126](https://gitea.com/EvergreenCrypto/docker-finance/pulls/126)) * Add v1.0.0-beta.3 - README.md ([`cab7551`](https://gitea.com/EvergreenCrypto/docker-finance/commit/cab7551cbb343e1b46eaba7e76c6321e1061baf0)) ([`d86da4b`](https://gitea.com/EvergreenCrypto/docker-finance/commit/d86da4b4d5e3734a9685a29e9e94893b457d5b1a)) ([`3bfa39d`](https://gitea.com/EvergreenCrypto/docker-finance/commit/3bfa39de87eebc6c7fa9dca7d80a0f5095eba0ca)) ([#119](https://gitea.com/EvergreenCrypto/docker-finance/pulls/119)) * Update to reflect latest impl #### Client - Bump manifest version to v1.0.0-beta.3 ([#127](https://gitea.com/EvergreenCrypto/docker-finance/pulls/127)) - Change environment defaults for `DOCKER_FINANCE_*_FLOW` ([#114](https://gitea.com/EvergreenCrypto/docker-finance/pulls/114)) - Dockerfiles updates ([#121](https://gitea.com/EvergreenCrypto/docker-finance/pulls/121)) ([#123](https://gitea.com/EvergreenCrypto/docker-finance/pulls/123)) * Add package `yq` (kislyuk's), remove `shyaml` * Remove `pipx` from Dockerfiles, replace with packaged `csvkit` * Comment all optional userspace packages - `lib_gen` ([#108](https://gitea.com/EvergreenCrypto/docker-finance/pulls/108)) * Refactor flow generation * Fix missing copy of default custom Dockerfile - Miscellaneous fixes ([#106](https://gitea.com/EvergreenCrypto/docker-finance/pulls/106)) ([#107](https://gitea.com/EvergreenCrypto/docker-finance/pulls/107)) ([#115](https://gitea.com/EvergreenCrypto/docker-finance/pulls/115)) ([#117](https://gitea.com/EvergreenCrypto/docker-finance/pulls/117)) * Fix usage typo * Remove share.d from $PATH * Clarify `hledger` (not `ledger`), update usage help / completion * Disable shellcheck warning for `DOCKER_FINANCE_DEBUG` - New installation method ([#104](https://gitea.com/EvergreenCrypto/docker-finance/pulls/104)) ([#105](https://gitea.com/EvergreenCrypto/docker-finance/pulls/105)) * Add `install.bash` * Add `dfi` alias to [Mostly-Unified CLI](README.md#mostly-unified-cli) - Update Doxygen ([#113](https://gitea.com/EvergreenCrypto/docker-finance/pulls/113)) * Bump to 1.9.8 - Change 'modules' to 'topics' #### Container - Capital One (bank) ([#124](https://gitea.com/EvergreenCrypto/docker-finance/pulls/124)) * Add interest income - `fetch` fixes ([#102](https://gitea.com/EvergreenCrypto/docker-finance/pulls/102)) - Throw errors with nested status - Catch unrecoverable CoinGecko error * Fix for when 'all' years are requested without paid-plan API key ### ☀️ Features / Enhancements #### Client / Container - Add bash completion ([#103](https://gitea.com/EvergreenCrypto/docker-finance/pulls/103)) ([#112](https://gitea.com/EvergreenCrypto/docker-finance/pulls/112)) - Add plugins support ([#109](https://gitea.com/EvergreenCrypto/docker-finance/pulls/109)) ([#111](https://gitea.com/EvergreenCrypto/docker-finance/pulls/111)) ([#118](https://gitea.com/EvergreenCrypto/docker-finance/pulls/118)) ([#120](https://gitea.com/EvergreenCrypto/docker-finance/pulls/120)) ([#122](https://gitea.com/EvergreenCrypto/docker-finance/pulls/122)) * Add `plugins` command * Add documentation, examples * Add proxychains-ng / [Tor](https://www.torproject.org/) plugin * Add [`timewarrior`](https://timewarrior.net/) to hledger timeclock plugin - Add `times` command (timewarrior) ([#110](https://gitea.com/EvergreenCrypto/docker-finance/pulls/110)) ### 🌴 Misc / Other #### Client - `lib_docker` ([#125](https://gitea.com/EvergreenCrypto/docker-finance/pulls/125)) * Add tag to container name * Remove platform from network name #### Client / Container - Refactor to use `yq` (kislyuk's), remove `shyaml` ([#121](https://gitea.com/EvergreenCrypto/docker-finance/pulls/121)) - Set xtrace if debug is enabled ([#116](https://gitea.com/EvergreenCrypto/docker-finance/pulls/116)) ## 1.0.0-beta.2 - 2024-07-30 ⚠️ **Breaking changes for this pre-release** ⚠️ #### Client ❗ For all environments and applicable configurations: - 🚨 **MUST** re-run `gen` command #### Container ❗ For all applicable accounts and subaccounts: - 🚨 **MUST** re-run `fetch` command - Remove your previously fetched `1-in` files prior to re-fetching - Run `fetch` for all applicable years - 🚨 **MUST** re-run `import` command - Prior to re-importing, remove your previously imported `2-preprocessed` and `3-journal` directories - Run `import` starting from oldest applicable year - 🚨 **MUST** re-run `taxes` command - Run `taxes` for all applicable years > Tip: when in doubt, regenerate your entire setup. Your environment and accounts will be backed up in the process. --- ### 🧠 Contributors - Aaron Fiore ### 🛠️ Fixes / Updates #### Repo - README.md - Update keyserver for repo verification ([#57](https://gitea.com/EvergreenCrypto/docker-finance/pulls/57)) - Various updates/fixes ([#98](https://gitea.com/EvergreenCrypto/docker-finance/pulls/98)) #### Client - Dockerfiles fixes related to `import` (coinbase/coinbase-pro) and Ubuntu-based `build` ([#58](https://gitea.com/EvergreenCrypto/docker-finance/pulls/58)) - Resolve Dockerfiles `apt` CLI warning ([#82](https://gitea.com/EvergreenCrypto/docker-finance/pulls/82)) - Append subprofile source to superscript before generating ([#87](https://gitea.com/EvergreenCrypto/docker-finance/pulls/87)) - Rewrite/fix global env gen, optimize/refactor repository path, usage update ([#90](https://gitea.com/EvergreenCrypto/docker-finance/pulls/90)) ([#92](https://gitea.com/EvergreenCrypto/docker-finance/pulls/92)) ([#97](https://gitea.com/EvergreenCrypto/docker-finance/pulls/97)) #### Container - Algorand - Add more income (Governance Rewards and spam) to `rules` ([#46](https://gitea.com/EvergreenCrypto/docker-finance/pulls/46)) ([#54](https://gitea.com/EvergreenCrypto/docker-finance/pulls/54)) - Ally - 'Description' fixes (`preprocess`) ([#53](https://gitea.com/EvergreenCrypto/docker-finance/pulls/53)) - Various additions to `rules` ([#53](https://gitea.com/EvergreenCrypto/docker-finance/pulls/53)) - Capital One - **Breaking:** Upstream column-order changes ([#80](https://gitea.com/EvergreenCrypto/docker-finance/pulls/80)) ([#93](https://gitea.com/EvergreenCrypto/docker-finance/pulls/93)) - Coinbase - **Breaking:** SIWC API (V2) compliance ([#49](https://gitea.com/EvergreenCrypto/docker-finance/pulls/49)) ([#50](https://gitea.com/EvergreenCrypto/docker-finance/pulls/50)) ([#63](https://gitea.com/EvergreenCrypto/docker-finance/pulls/63)) - **Breaking:** Full migration to CCXT ([#75](https://gitea.com/EvergreenCrypto/docker-finance/pulls/75)) - Add 1INCH support ([#56](https://gitea.com/EvergreenCrypto/docker-finance/pulls/56)) - Electrum - Various additions to `rules` ([#43](https://gitea.com/EvergreenCrypto/docker-finance/pulls/43)) - Ethereum-based - Add Aave V2 -> V3 Migration Helper support ([#45](https://gitea.com/EvergreenCrypto/docker-finance/pulls/45)) - Add spam to `rules` ([#45](https://gitea.com/EvergreenCrypto/docker-finance/pulls/45)) ([#55](https://gitea.com/EvergreenCrypto/docker-finance/pulls/55)) ([#91](https://gitea.com/EvergreenCrypto/docker-finance/pulls/91)) - Gemini (Exchange) - Allow optional on-chain transfers ([#52](https://gitea.com/EvergreenCrypto/docker-finance/pulls/52)) - Add 1INCH support ([#56](https://gitea.com/EvergreenCrypto/docker-finance/pulls/56)) - Ledger (Live) - **Breaking:** Upstream column addition ([#73](https://gitea.com/EvergreenCrypto/docker-finance/pulls/73)) ([#93](https://gitea.com/EvergreenCrypto/docker-finance/pulls/93)) - `lib_edit` - Fix returns, clearer fatal errors ([#81](https://gitea.com/EvergreenCrypto/docker-finance/pulls/81)) - `lib_taxes` / `hledger-flow` - **Breaking:** Cost-basis work-arounds for Bitcoin.tax ([#96](https://gitea.com/EvergreenCrypto/docker-finance/pulls/96)) ### ☀️ Features / Enhancements #### Repo - Add Gitea templates ([#65](https://gitea.com/EvergreenCrypto/docker-finance/pulls/65)) ([#69](https://gitea.com/EvergreenCrypto/docker-finance/pulls/69)) - Add [CHANGELOG.md](https://gitea.com/EvergreenCrypto/docker-finance/src/branch/master/CHANGELOG.md) ([#99](https://gitea.com/EvergreenCrypto/docker-finance/pulls/99)) #### Client - Add `build` option types and build-specific features ([#68](https://gitea.com/EvergreenCrypto/docker-finance/pulls/68)) ([#70](https://gitea.com/EvergreenCrypto/docker-finance/pulls/70)) ([#79](https://gitea.com/EvergreenCrypto/docker-finance/pulls/79)) ([#85](https://gitea.com/EvergreenCrypto/docker-finance/pulls/85)) ([#86](https://gitea.com/EvergreenCrypto/docker-finance/pulls/86)) - Types: `default` | `slim` | `tiny` | `micro` | `experimental` - Separation of concerns for build types - Support ROOT.cern for Ubuntu - Support `hledger` source build - Support `hledger-flow` binary download - Optimize image sizes - Add `version` command for all platforms ([#61](https://gitea.com/EvergreenCrypto/docker-finance/pulls/61)) ([#83](https://gitea.com/EvergreenCrypto/docker-finance/pulls/83)) - **Breaking:** Add custom Dockerfile support ([#67](https://gitea.com/EvergreenCrypto/docker-finance/pulls/67)) ([#97](https://gitea.com/EvergreenCrypto/docker-finance/pulls/97)) - **Breaking:** New internal versioning implementation ([#84](https://gitea.com/EvergreenCrypto/docker-finance/pulls/84)) ([#88](https://gitea.com/EvergreenCrypto/docker-finance/pulls/88)) ([#100](https://gitea.com/EvergreenCrypto/docker-finance/pulls/100)) #### Client / Container - `hledger` related enhancements, add alternative terminal UI (visidata) ([#64](https://gitea.com/EvergreenCrypto/docker-finance/pulls/64)) - Add `hledger --conf` support, future-proofing for `hledger` features ([#78](https://gitea.com/EvergreenCrypto/docker-finance/pulls/78)) #### Container - `hledger-flow` - Add support for AdaLite ([#40](https://gitea.com/EvergreenCrypto/docker-finance/pulls/40)) - PayPal Business: catch 'Account Hold' ([#47](https://gitea.com/EvergreenCrypto/docker-finance/pulls/47)) - `price` - **Breaking:** Add support for multiple crypto aggregator-APIs ([#60](https://gitea.com/EvergreenCrypto/docker-finance/pulls/60)) - **Breaking:** Add API keys/blockchains to `fetch` configuration - Add support for Mobula - Add support for CoinGecko Pro - `root` - Add internal throw/exception handler / unit test ([#89](https://gitea.com/EvergreenCrypto/docker-finance/pulls/89)) - Macro reorg, refactor ([#94](https://gitea.com/EvergreenCrypto/docker-finance/pulls/94)) - Add crypto macros (`Hash`, `Random`) ([#95](https://gitea.com/EvergreenCrypto/docker-finance/pulls/95)) - Add support for multiple random number types (`Random`), update tests ([#95](https://gitea.com/EvergreenCrypto/docker-finance/pulls/95)) ### 🌴 Misc / Other #### Client - Dockerfiles: remove obsolete 'version' element ([#42](https://gitea.com/EvergreenCrypto/docker-finance/pulls/42)) - `lib_docker`: factor out args parsers ([#71](https://gitea.com/EvergreenCrypto/docker-finance/pulls/71)) - `lib_gen`: return success on client generation ([#76](https://gitea.com/EvergreenCrypto/docker-finance/pulls/76)) #### Container - `hledger-flow`: btcpayserver: preprocess: fix YYY comment typo ([#44](https://gitea.com/EvergreenCrypto/docker-finance/pulls/44)) - bash: `lib_fetch`: create prices dir if nonexistent ([#101](https://gitea.com/EvergreenCrypto/docker-finance/pulls/101)) - php: `fetch`: gemini: update to ccxt's latest request() signature | run linter ([#62](https://gitea.com/EvergreenCrypto/docker-finance/pulls/62)) ## 1.0.0-beta - 2024-03-04 Initial pre-release