1 Commits

Author SHA1 Message Date
c1a5eed2ef client: Dockerfiles: remote: root: bump to 6.38.04-1 2026-03-13 10:03:23 -07:00
11 changed files with 16 additions and 85 deletions

View File

@@ -23,8 +23,6 @@ run-name: ${{ gitea.actor }} ${{ gitea.event_name }} ${{ gitea.ref }} ${{ gitea.
on:
push:
branches:
- '**'
paths:
- 'client/**'
- 'container/**'

View File

@@ -18,53 +18,6 @@
# Changelog (`docker-finance`)
## 1.4.0 - 2026-03-16
This release brings a minor `dfi` fix (`fetch`), a new `dfi` feature (custom compose merge file functionality), `dfi` enhancements (base image and end-user), and patch releases for `hledger-flow` and a ROOT.cern (`root`).
### 1.4.0 - Fixes
- Fix User-Agent when `fetch`ing prices ([#320](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/320))
### 1.4.0 - Features
- 🚨**Breaking**: Add custom compose merge file functionality ([#309](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/309)) ([#315](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/315))
* Like custom Dockerfile functionality, adds support for custom docker-compose.yml
* ⚠️ Run `gen type=compose` at least once for your respective existing image (e.g., `dfi archlinux/${USER}:default gen type=compose`)
### 1.4.0 - Enhancements
- Print locations of output for `reports` and `taxes` ([#310](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/310))
- Remove defaulting to `/` when using `shell` ([#311](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/311))
- Add 'Related "useful" packages' section to base `finance` (`archlinux`) image ([#312](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/312))
* For consistently useful packages that aren't dependencies
* Moves `calc` package from optional to this section
- If you previously uncommented the `calc` package in the custom build, run `gen type=build` to pickup the latest custom file or manually remove with `edit type=build` (otherwise, you'll simply re-install the package).
- Add man page support to base `finance` (`archlinux`) and `dev-tools` images ([#313](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/313)) ([#314](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/314)) ([#319](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/319))
- Don't run tags with Gitea CI Workflow ([#318](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/318))
- Improve handling of non-200 responses when `fetch`ing prices ([#321](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/321))
### 1.4.0 - Updates
- Bump `root` to 6.38.04-1 ([#317](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/317))
- Bump `hledger-flow` to v0.16.3 ([#324](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/324)) ([#325](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/325))
### 1.4.0 - Refactoring
- Run PHP linter, update fetch (blockchains) comments ([#316](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/316))
- Comment out `"ethereum:0xbcca60bb61934080951369a648fb03df4f96263c/aUSDC"` in default generated `fetch` config ([#322](https://gitea.evergreencrypto.co/EvergreenCrypto/docker-finance/pulls/322))
### 1.4.0 - Contributors
- Aaron Fiore
## 1.3.0 - 2026-02-27
This release focuses on `dfi` code/usage enhancements, a ROOT.cern (`root`) patch release and **breaking** changes to the `dfi` client-side default layout (filesystem).

View File

@@ -1,6 +1,6 @@
# docker-finance | modern accounting for the power-user
#
# Copyright (C) 2021-2024,2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
# Copyright (C) 2021-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
@@ -22,10 +22,6 @@ RUN apt-get update -y
# Add builder user (for `composer` and non-root building)
RUN useradd -m -s /bin/bash -r builder
# Enable man page support
RUN apt-get install man unminimize -y
RUN yes | unminimize
#
# 'dev-tools' linters
#

View File

@@ -27,7 +27,7 @@ RUN apt-get upgrade -y
FROM haskell-build AS hledger-flow
WORKDIR /usr/local/src
RUN git clone --depth=1 https://github.com/apauley/hledger-flow -b v0.16.3
RUN git clone --depth=1 https://github.com/apauley/hledger-flow -b v0.16.2
WORKDIR /usr/local/src/hledger-flow
RUN stack setup

View File

@@ -115,7 +115,7 @@ version: @DOCKER_FINANCE_VERSION@
- "arbitrum:0xff970a61a04b1ca14834a43f5de4533ebddb5cc8/USDC.e"
# Aave V2 USDC
#- "ethereum:0xbcca60bb61934080951369a648fb03df4f96263c/aUSDC" # TODO: 2026-03-13: upstream has started to return 'Time range too large for period "5m". Would generate 10272 candles, max is 10000. Use a larger period or smaller time range.' which appears to be a server-side(?) problem. Commenting out here for now in order to not break CI.
- "ethereum:0xbcca60bb61934080951369a648fb03df4f96263c/aUSDC"
#- "polygon:0x625e7708f30ca75bfd92586e17077590c60eb4cd/aUSDC"
# Gemini USD

View File

@@ -20,7 +20,7 @@
#
# Release version (tag format)
version: "v1.4.0"
version: "v1.3.0"
# Container dependencies (used by `version` command)
# NOTE: this must stay inline with Dockerfiles

View File

@@ -122,10 +122,10 @@ function lib_gen::__parse_args()
\e[37;2m#\e[0m
\e[37;2m# Generate all client related and all flow related for profile/subprofile called 'parent/child'\e[0m
$ $global_usage type${global_arg_delim_2}env${global_arg_delim_3}build${global_arg_delim_3}compose${global_arg_delim_3}superscript${global_arg_delim_3}flow profile${global_arg_delim_2}parent${global_arg_delim_1}child
$ $global_usage type${global_arg_delim_2}env${global_arg_delim_3}build${global_arg_delim_3}superscript${global_arg_delim_3}flow profile${global_arg_delim_2}parent${global_arg_delim_1}child
\e[37;2m# Same command as above but without confirmations and with developer mockups\e[0m
$ $global_usage type${global_arg_delim_2}env${global_arg_delim_3}build${global_arg_delim_3}compose${global_arg_delim_3}superscript${global_arg_delim_3}flow profile${global_arg_delim_2}parent${global_arg_delim_1}child confirm${global_arg_delim_2}false dev${global_arg_delim_2}true
$ $global_usage type${global_arg_delim_2}env${global_arg_delim_3}build${global_arg_delim_3}superscript${global_arg_delim_3}flow profile${global_arg_delim_2}parent${global_arg_delim_1}child confirm${global_arg_delim_2}false dev${global_arg_delim_2}true
\e[37;2m# Generate only the given configurations for 'parent/child'\e[0m
$ $global_usage type${global_arg_delim_2}flow profile${global_arg_delim_2}parent${global_arg_delim_1}child config${global_arg_delim_2}fetch${global_arg_delim_3}hledger${global_arg_delim_3}meta${global_arg_delim_3}subscript

View File

@@ -2,7 +2,7 @@
// docker-finance | modern accounting for the power-user
//
// Copyright (C) 2021-2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
// Copyright (C) 2021-2025 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
@@ -77,11 +77,9 @@ namespace dfi\blockchains
$metadata->set_year($this->get_env()->get_env('API_FETCH_YEAR'));
// Reconstruct subaccount directory for out directory
// API_OUT_DIR format: flow/profiles/parent_profile/child_profile/import/child_profile/account/subaccount/1-in/year
// API_OUT_DIR format: hledger-flow/profiles/parent_profile/child_profile/import/child_profile/account/subaccount/1-in/year
$path = explode('/', $this->get_env()->get_env('API_OUT_DIR'));
$path = array_filter($path, function ($element) {
return $element !== '';
}); // Clear out extra '/' that get turned into nulls
$path = array_filter($path, function ($element) { return $element !== '';}); // Clear out extra / that get turned into nulls
$head_end = $path;
$tail_end = $path;

View File

@@ -153,9 +153,8 @@ namespace dfi\prices\internal
*/
protected function request_impl(string $url, array $header): mixed
{
$version = preg_replace('/^v/', '', $this->get_env()->get_env('API_VERSION'));
$headers = array(
'User-Agent: docker-finance/' . $version,
'User-Agent: docker-finance /' . $this->get_env()->get_env('API_VERSION'),
'Accept: application/json',
'Content-Type: application/json',
);
@@ -361,17 +360,16 @@ namespace dfi\prices\internal
$code = $e->getCode();
$message = $e->getMessage();
$print = "server sent error '{$message}' with code '{$code}' for '{$asset['id']}'";
$print = "server sent error '{$message}' with code '{$code}' for '{$asset['id']}'"
. " - retrying in '{$timer}' seconds";
switch ($code) {
case 400:
utils\CLI::throw_fatal($print);
break;
case 10012: // CoinGecko's unrecoverable error (paid plan needed)
// CoinGecko's unrecoverable error (paid plan needed)
case 10012:
utils\CLI::throw_fatal($print);
break;
default:
utils\CLI::print_warning($print . " - retrying in '{$timer}' seconds");
utils\CLI::print_warning($print);
break;
}

View File

@@ -2,7 +2,7 @@
// docker-finance | modern accounting for the power-user
//
// Copyright (C) 2021-2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
// Copyright (C) 2021-2025 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
@@ -182,14 +182,6 @@ namespace dfi\prices\internal\prices\crypto
}
$response = $this->request_impl($url, $header);
if (array_key_exists('statusCode', $response)) {
switch ($response['statusCode']) {
case 200:
break;
default:
throw new \Exception($response['message'], $response['statusCode']);
}
}
if (array_key_exists('error', $response)) {
throw new \Exception($response['error']);
}

View File

@@ -142,10 +142,6 @@ function lib_hledger::__hledger-import()
{
lib_hledger::__parse_hledger-import "$@"
# TODO: v0.16.3+: add `--new-files-only` only if hledger-flow adds support for
# tracking changes to rules and preprocess files. The tracking *must* apply to
# all repo files and any/all custom files. Currently, only *modified* time of
# source files compared to *modified* time of target files are tracked.
time hledger-flow import \
"$(dirname $global_child_profile_journal)" \
--start-year "$global_arg_year"