12 Commits

Author SHA1 Message Date
c7a2952419 Merge pull request #273 into master
ad6eb06c CHANGELOG: add 1.1.1 (Aaron Fiore)
9526b1bb client: manifest: bump version to v1.1.1 (Aaron Fiore)
2026-01-15 11:54:17 -08:00
ad6eb06c57 CHANGELOG: add 1.1.1 2026-01-15 11:53:26 -08:00
9526b1bb23 client: manifest: bump version to v1.1.1 2026-01-15 11:09:10 -08:00
e6cb5df286 Merge pull request #272 into master
e9aa72c6 client: dev-tools: lib_linter: php-cs-fixer: add given-file(s) `init`, refactor (Aaron Fiore)
2026-01-15 11:06:58 -08:00
e9aa72c64a client: dev-tools: lib_linter: php-cs-fixer: add given-file(s) init, refactor 2026-01-15 10:57:13 -08:00
b5a1f33159 Merge pull request #271 into master
0c9cfa07 client: dev-tools: lib_linter: refactor with `lib_docker::exec` (Aaron Fiore)
2026-01-15 10:41:23 -08:00
0c9cfa07ba client: dev-tools: lib_linter: refactor with lib_docker::exec 2026-01-15 10:32:14 -08:00
0a972355d7 Merge pull request #270 into master
76755f10 client: dev-tools: lib_linter: php-cs-fixer: add `init` (Aaron Fiore)
2026-01-15 10:24:08 -08:00
76755f1032 client: dev-tools: lib_linter: php-cs-fixer: add init
php-cs-fixer's 3.92 series requires `init` before `fix`ing or `check`ing
2026-01-15 10:19:49 -08:00
d28f7649c4 Merge pull request #269 into master
bf235ee5 container: finance: fetch: prices: add User-Agent (Aaron Fiore)
eb7f97a0 container: finance: fetch: add API_VERSION to env (Aaron Fiore)
2026-01-15 10:17:42 -08:00
bf235ee526 container: finance: fetch: prices: add User-Agent
CoinGecko now returns error 403 without a "descriptive" User-Agent
2026-01-15 10:16:37 -08:00
eb7f97a054 container: finance: fetch: add API_VERSION to env 2026-01-14 16:49:46 -08:00
5 changed files with 42 additions and 13 deletions

View File

@@ -18,6 +18,27 @@
# Changelog (`docker-finance`) # Changelog (`docker-finance`)
## 1.1.1 - 2026-01-15
This patch release supports recent CoinGecko and PHP-CS-Fixer changes and also includes minor `dfi` developer enhancements/refactoring.
### 1.1.1 - Fixes
- Since CoinGecko now returns error 403 without a "descriptive" User-Agent, an agent has been added when fetching prices from CoinGecko ([#269](https://gitea.com/EvergreenCrypto/docker-finance/pulls/269))
- PHP-CS-Fixer's 3.92 series now requires `init` before any `fix`ing or `check`ing ([#270](https://gitea.com/EvergreenCrypto/docker-finance/pulls/270)) ([#272](https://gitea.com/EvergreenCrypto/docker-finance/pulls/272))
### 1.1.1 - Enhancements
- Add `API_VERSION` to `fetch`'s PHP environment map ([#269](https://gitea.com/EvergreenCrypto/docker-finance/pulls/269))
### 1.1.1 - Refactoring
- Minor dev-tools' `lib_linter` refactoring ([#271](https://gitea.com/EvergreenCrypto/docker-finance/pulls/271)) ([#272](https://gitea.com/EvergreenCrypto/docker-finance/pulls/272))
### 1.1.1 - Contributors
- Aaron Fiore
## 1.1.0 - 2026-01-12 ## 1.1.0 - 2026-01-12
This release focuses on bringing substantial changes to the `root` system and improving `root` usage. This release focuses on bringing substantial changes to the `root` system and improving `root` usage.

View File

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

View File

@@ -2,7 +2,7 @@
# docker-finance | modern accounting for the power-user # docker-finance | modern accounting for the power-user
# #
# Copyright (C) 2021-2025 Aaron Fiore (Founder, Evergreen Crypto LLC) # Copyright (C) 2021-2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
# #
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@@ -146,7 +146,7 @@ function lib_linter::__lint_bash()
if [ -z "${_path[*]}" ]; then if [ -z "${_path[*]}" ]; then
# Do all # Do all
for _ext in "${_exts[@]}"; do for _ext in "${_exts[@]}"; do
lib_docker::__docker_compose exec -it docker-finance /bin/bash -i -c \ lib_docker::exec \
"find ${DOCKER_FINANCE_CLIENT_REPO}/ ${DOCKER_FINANCE_CLIENT_PLUGINS}/ -type f -name \*.${_ext} \ "find ${DOCKER_FINANCE_CLIENT_REPO}/ ${DOCKER_FINANCE_CLIENT_PLUGINS}/ -type f -name \*.${_ext} \
| while read _file | while read _file
do echo Linting \'\${_file}\' do echo Linting \'\${_file}\'
@@ -159,7 +159,7 @@ function lib_linter::__lint_bash()
local _file local _file
_file="$(dirs +1)/${_p}" _file="$(dirs +1)/${_p}"
lib_utils::print_normal "Linting '${_file}'" lib_utils::print_normal "Linting '${_file}'"
lib_docker::__docker_compose exec -it docker-finance /bin/bash -i -c \ lib_docker::exec \
"$_shfmt $_file $_file && $_shellcheck $_file" "$_shfmt $_file $_file && $_shellcheck $_file"
done done
fi fi
@@ -182,7 +182,7 @@ function lib_linter::__lint_cpp()
if [ -z "${_path[*]}" ]; then if [ -z "${_path[*]}" ]; then
# Do all # Do all
for _ext in "${_exts[@]}"; do for _ext in "${_exts[@]}"; do
lib_docker::__docker_compose exec -it docker-finance /bin/bash -i -c \ lib_docker::exec \
"find ${DOCKER_FINANCE_CLIENT_REPO}/ ${DOCKER_FINANCE_CLIENT_PLUGINS}/ -type f -name \*.${_ext} \ "find ${DOCKER_FINANCE_CLIENT_REPO}/ ${DOCKER_FINANCE_CLIENT_PLUGINS}/ -type f -name \*.${_ext} \
| while read _file | while read _file
do echo Linting \'\${_file}\' do echo Linting \'\${_file}\'
@@ -195,7 +195,7 @@ function lib_linter::__lint_cpp()
local _file local _file
_file="$(dirs +1)/${_p}" _file="$(dirs +1)/${_p}"
lib_utils::print_normal "Linting '${_file}'" lib_utils::print_normal "Linting '${_file}'"
lib_docker::__docker_compose exec -it docker-finance /bin/bash -i -c \ lib_docker::exec \
"$_clang_format $_file && $_cpplint $_file && $_cppcheck $_file" "$_clang_format $_file && $_cpplint $_file && $_cppcheck $_file"
done done
fi fi
@@ -206,13 +206,17 @@ function lib_linter::__lint_php()
local -r _path=("$@") local -r _path=("$@")
local -r _ext="php" local -r _ext="php"
local -r _php_cs_fixer="time php-cs-fixer fix --rules=@PSR12 --verbose" local -r _php_cs_fixer_init="php-cs-fixer -n init"
local -r _php_cs_fixer_fix="time php-cs-fixer fix --rules=@PSR12 --verbose"
local -r _phpstan="time phpstan analyse --debug --autoload-file /usr/local/lib/php/vendor/autoload.php --level 6" # TODO: incrementally increase to 9 local -r _phpstan="time phpstan analyse --debug --autoload-file /usr/local/lib/php/vendor/autoload.php --level 6" # TODO: incrementally increase to 9
if [ -z "${_path[*]}" ]; then if [ -z "${_path[*]}" ]; then
# Do all # Do all
lib_docker::__docker_compose exec -it docker-finance /bin/bash -i -c \ lib_docker::exec \
"$_php_cs_fixer $DOCKER_FINANCE_CLIENT_REPO && $_php_cs_fixer $DOCKER_FINANCE_CLIENT_PLUGINS \ "$_php_cs_fixer_init \
&& $_php_cs_fixer_fix $DOCKER_FINANCE_CLIENT_REPO \
&& $_php_cs_fixer_fix $DOCKER_FINANCE_CLIENT_PLUGINS \
&& $_phpstan $DOCKER_FINANCE_CLIENT_REPO $DOCKER_FINANCE_CLIENT_PLUGINS" && $_phpstan $DOCKER_FINANCE_CLIENT_REPO $DOCKER_FINANCE_CLIENT_PLUGINS"
else else
# Do only given file(s) # Do only given file(s)
@@ -220,8 +224,10 @@ function lib_linter::__lint_php()
local _file local _file
_file="$(dirs +1)/${_p}" _file="$(dirs +1)/${_p}"
lib_utils::print_normal "Linting '${_file}'" lib_utils::print_normal "Linting '${_file}'"
lib_docker::__docker_compose exec -it docker-finance /bin/bash -i -c \ lib_docker::exec \
"$_php_cs_fixer $_file && $_phpstan $_file" "$_php_cs_fixer_init \
&& $_php_cs_fixer_fix $_file \
&& $_phpstan $_file"
done done
fi fi
} }

View File

@@ -2,7 +2,7 @@
// docker-finance | modern accounting for the power-user // docker-finance | modern accounting for the power-user
// //
// Copyright (C) 2021-2025 Aaron Fiore (Founder, Evergreen Crypto LLC) // Copyright (C) 2021-2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
// //
// This program is free software: you can redistribute it and/or modify // 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 // it under the terms of the GNU General Public License as published by
@@ -67,6 +67,7 @@ namespace dfi
$env = new utils\Env(); $env = new utils\Env();
// Fetch (API) // Fetch (API)
$env->set_env('API_VERSION', getenv('DOCKER_FINANCE_VERSION')); // API version
$env->set_env('API_FETCH_TYPE', strtolower($argv[1])); // API type $env->set_env('API_FETCH_TYPE', strtolower($argv[1])); // API type
$env->set_env('API_FETCH_SUBTYPE', strtolower($argv[2])); // API subtype $env->set_env('API_FETCH_SUBTYPE', strtolower($argv[2])); // API subtype
$env->set_env('API_FETCH_YEAR', getenv('API_FETCH_YEAR')); // API year (to fetch) $env->set_env('API_FETCH_YEAR', getenv('API_FETCH_YEAR')); // API year (to fetch)

View File

@@ -2,7 +2,7 @@
// docker-finance | modern accounting for the power-user // docker-finance | modern accounting for the power-user
// //
// Copyright (C) 2021-2025 Aaron Fiore (Founder, Evergreen Crypto LLC) // Copyright (C) 2021-2026 Aaron Fiore (Founder, Evergreen Crypto LLC)
// //
// This program is free software: you can redistribute it and/or modify // 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 // it under the terms of the GNU General Public License as published by
@@ -154,6 +154,7 @@ namespace dfi\prices\internal
protected function request_impl(string $url, array $header): mixed protected function request_impl(string $url, array $header): mixed
{ {
$headers = array( $headers = array(
'User-Agent: docker-finance /' . $this->get_env()->get_env('API_VERSION'),
'Accept: application/json', 'Accept: application/json',
'Content-Type: application/json', 'Content-Type: application/json',
); );