Compare commits

...

8 Commits

Author SHA1 Message Date
github-actions
f52978e71f Auto commit for release 'v6.1.18' on 2024-06-17 2024-06-17 20:47:03 +02:00
James Cole
3a3358124d Meta data for new release. 2024-06-17 20:43:02 +02:00
github-actions
929808c633 Auto commit for release 'develop' on 2024-06-17 2024-06-17 05:07:03 +02:00
github-actions
a78df574f3 Auto commit for release 'develop' on 2024-06-16 2024-06-16 20:26:04 +02:00
James Cole
875cad16b6 Possible fix for https://github.com/firefly-iii/firefly-iii/issues/8977 2024-06-16 20:21:39 +02:00
James Cole
7bc30192ca Fix https://github.com/firefly-iii/firefly-iii/issues/8978 2024-06-16 19:27:38 +02:00
github-actions
a1a8968e98 Auto commit for release 'develop' on 2024-06-15 2024-06-15 16:16:40 +02:00
James Cole
6abb74a038 Mondays only [skip ci] 2024-06-15 14:26:59 +02:00
16 changed files with 67 additions and 44 deletions

View File

@@ -398,16 +398,16 @@
}, },
{ {
"name": "friendsofphp/php-cs-fixer", "name": "friendsofphp/php-cs-fixer",
"version": "v3.58.1", "version": "v3.59.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
"reference": "04e9424025677a86914b9a4944dbbf4060bb0aff" "reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/04e9424025677a86914b9a4944dbbf4060bb0aff", "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/30ba9ecc2b0e5205e578fe29973c15653d9bfd29",
"reference": "04e9424025677a86914b9a4944dbbf4060bb0aff", "reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -437,16 +437,16 @@
"symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
}, },
"require-dev": { "require-dev": {
"facile-it/paraunit": "^1.3 || ^2.0", "facile-it/paraunit": "^1.3 || ^2.3",
"infection/infection": "^0.27.11", "infection/infection": "^0.29.5",
"justinrainbow/json-schema": "^5.2", "justinrainbow/json-schema": "^5.2",
"keradus/cli-executor": "^2.1", "keradus/cli-executor": "^2.1",
"mikey179/vfsstream": "^1.6.11", "mikey179/vfsstream": "^1.6.11",
"php-coveralls/php-coveralls": "^2.7", "php-coveralls/php-coveralls": "^2.7",
"php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/accessible-object": "^1.1",
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5",
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5",
"phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2", "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2",
"symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
"symfony/yaml": "^5.4 || ^6.0 || ^7.0" "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
}, },
@@ -461,7 +461,10 @@
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"PhpCsFixer\\": "src/" "PhpCsFixer\\": "src/"
} },
"exclude-from-classmap": [
"src/Fixer/Internal/*"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@@ -486,7 +489,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.58.1" "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.59.3"
}, },
"funding": [ "funding": [
{ {
@@ -494,7 +497,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-05-29T16:39:07+00:00" "time": "2024-06-16T14:17:03+00:00"
}, },
{ {
"name": "psr/container", "name": "psr/container",

View File

@@ -8,7 +8,7 @@ on:
required: true required: true
default: 'develop' default: 'develop'
schedule: schedule:
- cron: '0 3 * * MON,THU' - cron: '0 3 * * MON'
jobs: jobs:
build: build:

View File

@@ -58,7 +58,7 @@ class StoreRequest extends FormRequest
$models = config('firefly.valid_attachment_models'); $models = config('firefly.valid_attachment_models');
$models = array_map( $models = array_map(
static function (string $className) { static function (string $className) {
return str_replace('FireflyIII\\Models\\', '', $className); return str_replace('FireflyIII\Models\\', '', $className);
}, },
$models $models
); );

View File

@@ -60,7 +60,7 @@ class UpdateRequest extends FormRequest
$models = config('firefly.valid_attachment_models'); $models = config('firefly.valid_attachment_models');
$models = array_map( $models = array_map(
static function (string $className) { static function (string $className) {
return str_replace('FireflyIII\\Models\\', '', $className); return str_replace('FireflyIII\Models\\', '', $className);
}, },
$models $models
); );

View File

@@ -115,7 +115,7 @@ class UpdateGroupInformation extends Command
return; return;
} }
if (0 !== $result) { if (0 !== $result) {
$this->friendlyPositive(sprintf('User #%d: Moved %d %s objects to the correct group.', $user->id, $result, str_replace('FireflyIII\\Models\\', '', $className))); $this->friendlyPositive(sprintf('User #%d: Moved %d %s objects to the correct group.', $user->id, $result, str_replace('FireflyIII\Models\\', '', $className)));
} }
} }
} }

View File

@@ -111,7 +111,7 @@ class ForceDecimalSize extends Command
{ {
// switch stuff based on database connection: // switch stuff based on database connection:
$this->operator = 'REGEXP'; $this->operator = 'REGEXP';
$this->regularExpression = '\'\\\\.[\\\\d]{%d}[1-9]+\''; $this->regularExpression = '\'\\\.[\\\d]{%d}[1-9]+\'';
$this->cast = 'CHAR'; $this->cast = 'CHAR';
if ('pgsql' === config('database.default')) { if ('pgsql' === config('database.default')) {
$this->operator = 'SIMILAR TO'; $this->operator = 'SIMILAR TO';
@@ -119,7 +119,7 @@ class ForceDecimalSize extends Command
$this->cast = 'TEXT'; $this->cast = 'TEXT';
} }
if ('sqlite' === config('database.default')) { if ('sqlite' === config('database.default')) {
$this->regularExpression = '"\\.[\d]{%d}[1-9]+"'; $this->regularExpression = '"\.[\d]{%d}[1-9]+"';
} }
} }

View File

@@ -43,7 +43,7 @@ class AttachmentFactory
public function create(array $data): ?Attachment public function create(array $data): ?Attachment
{ {
// append if necessary. // append if necessary.
$model = !str_contains($data['attachable_type'], 'FireflyIII') ? sprintf('FireflyIII\\Models\\%s', $data['attachable_type']) $model = !str_contains($data['attachable_type'], 'FireflyIII') ? sprintf('FireflyIII\Models\%s', $data['attachable_type'])
: $data['attachable_type']; : $data['attachable_type'];
// get journal instead of transaction. // get journal instead of transaction.

View File

@@ -28,4 +28,9 @@ use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
/** /**
* Class VerifyCsrfToken. * Class VerifyCsrfToken.
*/ */
class VerifyCsrfToken extends Middleware {} class VerifyCsrfToken extends Middleware
{
protected $except = [
'oauth/token',
];
}

View File

@@ -146,7 +146,7 @@ class AttachmentRepository implements AttachmentRepositoryInterface
// should be validated already: // should be validated already:
if (array_key_exists('attachable_type', $data) && array_key_exists('attachable_id', $data)) { if (array_key_exists('attachable_type', $data) && array_key_exists('attachable_id', $data)) {
$attachment->attachable_id = (int)$data['attachable_id']; $attachment->attachable_id = (int)$data['attachable_id'];
$attachment->attachable_type = sprintf('FireflyIII\\Models\\%s', $data['attachable_type']); $attachment->attachable_type = sprintf('FireflyIII\Models\%s', $data['attachable_type']);
} }
$attachment->save(); $attachment->save();

View File

@@ -171,6 +171,8 @@ trait AugumentData
/** @var BudgetLimitRepositoryInterface $blRepository */ /** @var BudgetLimitRepositoryInterface $blRepository */
$blRepository = app(BudgetLimitRepositoryInterface::class); $blRepository = app(BudgetLimitRepositoryInterface::class);
$end->endOfMonth();
// properties for cache // properties for cache
$cache = new CacheProperties(); $cache = new CacheProperties();
$cache->addProperty($start); $cache->addProperty($start);

View File

@@ -117,6 +117,8 @@ class AccountBalanceCalculator
$foreignCurrency = (int) $row->foreign_currency_id; $foreignCurrency = (int) $row->foreign_currency_id;
$sumAmount = (string) $row->sum_amount; $sumAmount = (string) $row->sum_amount;
$sumForeignAmount = (string) $row->sum_foreign_amount; $sumForeignAmount = (string) $row->sum_foreign_amount;
$sumAmount = '' === $sumAmount ? '0' : $sumAmount;
$sumForeignAmount = '' === $sumForeignAmount ? '0' : $sumForeignAmount;
// first create for normal currency: // first create for normal currency:
$entry = $this->getAccountBalanceByAccount($account, $transactionCurrency); $entry = $this->getAccountBalanceByAccount($account, $transactionCurrency);

View File

@@ -53,7 +53,7 @@ class AttachmentTransformer extends AbstractTransformer
'created_at' => $attachment->created_at->toAtomString(), 'created_at' => $attachment->created_at->toAtomString(),
'updated_at' => $attachment->updated_at->toAtomString(), 'updated_at' => $attachment->updated_at->toAtomString(),
'attachable_id' => (string)$attachment->attachable_id, 'attachable_id' => (string)$attachment->attachable_id,
'attachable_type' => str_replace('FireflyIII\\Models\\', '', $attachment->attachable_type), 'attachable_type' => str_replace('FireflyIII\Models\\', '', $attachment->attachable_type),
'md5' => $attachment->md5, 'md5' => $attachment->md5,
'filename' => $attachment->filename, 'filename' => $attachment->filename,
'download_url' => route('api.v1.attachments.download', [$attachment->id]), 'download_url' => route('api.v1.attachments.download', [$attachment->id]),

View File

@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
## 6.1.18 - 2024-06-19
### Fixed
- [Issue 8978](https://github.com/firefly-iii/firefly-iii/issues/8978) (Error! Internal Firefly III Exception: bcadd(): Argument #2 ($num2) is not well-formed) reported by @el-rhazi
- [Issue 8977](https://github.com/firefly-iii/firefly-iii/issues/8977) (Data Importer: "500 Server Error" with Firefly III v6.1.17) reported by @qtdzz
### Security
- [CVE-2024-37893](https://www.cve.org/CVERecord?id=CVE-2024-37893)
## 6.1.17 - 2024-06-16 ## 6.1.17 - 2024-06-16
### Added ### Added

24
composer.lock generated
View File

@@ -4674,20 +4674,20 @@
}, },
{ {
"name": "phpseclib/phpseclib", "name": "phpseclib/phpseclib",
"version": "3.0.37", "version": "3.0.38",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpseclib/phpseclib.git", "url": "https://github.com/phpseclib/phpseclib.git",
"reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8" "reference": "b18b8788e51156c4dd97b7f220a31149a0052067"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cfa2013d0f68c062055180dd4328cc8b9d1f30b8", "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/b18b8788e51156c4dd97b7f220a31149a0052067",
"reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8", "reference": "b18b8788e51156c4dd97b7f220a31149a0052067",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"paragonie/constant_time_encoding": "^1|^2", "paragonie/constant_time_encoding": "^1|^2|^3",
"paragonie/random_compat": "^1.4|^2.0|^9.99.99", "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
"php": ">=5.6.1" "php": ">=5.6.1"
}, },
@@ -4764,7 +4764,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/phpseclib/phpseclib/issues", "issues": "https://github.com/phpseclib/phpseclib/issues",
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.37" "source": "https://github.com/phpseclib/phpseclib/tree/3.0.38"
}, },
"funding": [ "funding": [
{ {
@@ -4780,7 +4780,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-03-03T02:14:58+00:00" "time": "2024-06-17T10:11:32+00:00"
}, },
{ {
"name": "pragmarx/google2fa", "name": "pragmarx/google2fa",
@@ -11093,16 +11093,16 @@
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.11.4", "version": "1.11.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "9100a76ce8015b9aa7125b9171ae3a76887b6c82" "reference": "490f0ae1c92b082f154681d7849aee776a7c1443"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9100a76ce8015b9aa7125b9171ae3a76887b6c82", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/490f0ae1c92b082f154681d7849aee776a7c1443",
"reference": "9100a76ce8015b9aa7125b9171ae3a76887b6c82", "reference": "490f0ae1c92b082f154681d7849aee776a7c1443",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -11147,7 +11147,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-06-06T12:19:22+00:00" "time": "2024-06-17T15:10:54+00:00"
}, },
{ {
"name": "phpstan/phpstan-deprecation-rules", "name": "phpstan/phpstan-deprecation-rules",

View File

@@ -117,7 +117,7 @@ return [
'expression_engine' => false, 'expression_engine' => false,
// see cer.php for exchange rates feature flag. // see cer.php for exchange rates feature flag.
], ],
'version' => '6.1.17', 'version' => '6.1.18',
'api_version' => '2.1.0', 'api_version' => '2.1.0',
'db_version' => 24, 'db_version' => 24,

18
package-lock.json generated
View File

@@ -4028,9 +4028,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001634", "version": "1.0.30001636",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz",
"integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==", "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -6974,9 +6974,9 @@
} }
}, },
"node_modules/launch-editor": { "node_modules/launch-editor": {
"version": "2.6.1", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.7.0.tgz",
"integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", "integrity": "sha512-KAc66u6LxWL8MifQ94oG3YGKYWDwz/Gi0T15lN//GaQoZe08vQGFJxrXkPAeu50UXgvJPPaRKVGuP1TRUm/aHQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
@@ -10819,9 +10819,9 @@
"dev": true "dev": true
}, },
"node_modules/ws": { "node_modules/ws": {
"version": "8.17.0", "version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"