diff --git a/VERSION.txt b/VERSION.txt index 9647c2c0f76e..6af1ed16172e 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.10.3 \ No newline at end of file +5.10.4 \ No newline at end of file diff --git a/app/Console/Commands/PostUpdate.php b/app/Console/Commands/PostUpdate.php index 648ebb2d6966..bd590710ff8d 100644 --- a/app/Console/Commands/PostUpdate.php +++ b/app/Console/Commands/PostUpdate.php @@ -54,13 +54,6 @@ class PostUpdate extends Command info('finished migrating'); - $output = []; - - // exec('vendor/bin/composer install --no-dev -o', $output); - - info(print_r($output, 1)); - info('finished running composer install '); - try { // Artisan::call('optimize'); Artisan::call('config:clear'); diff --git a/app/DataMapper/Analytics/AccountPlatform.php b/app/DataMapper/Analytics/AccountPlatform.php index 461553cfc588..141c3f279db2 100644 --- a/app/DataMapper/Analytics/AccountPlatform.php +++ b/app/DataMapper/Analytics/AccountPlatform.php @@ -54,8 +54,8 @@ class AccountPlatform extends GenericMixedMetric public function __construct($string_metric5, $string_metric6, $string_metric7) { - $this->string_metric5 = $string_metric5; - $this->string_metric6 = $string_metric6; + $this->string_metric5 = mb_convert_encoding($string_metric5, 'UTF-8'); + $this->string_metric6 = mb_convert_encoding($string_metric6, 'UTF-8'); $this->string_metric7 = $string_metric7; } } diff --git a/app/DataMapper/Analytics/DbQuery.php b/app/DataMapper/Analytics/DbQuery.php index 5b8dfeea9f7e..092313a12522 100644 --- a/app/DataMapper/Analytics/DbQuery.php +++ b/app/DataMapper/Analytics/DbQuery.php @@ -73,7 +73,7 @@ class DbQuery extends GenericMixedMetric $this->string_metric6 = $string_metric6; $this->double_metric2 = $double_metric2; $this->string_metric7 = $string_metric7; - $this->string_metric8 = $string_metric8; - $this->string_metric9 = $string_metric9; + $this->string_metric8 = mb_convert_encoding($string_metric8, "UTF-8"); + $this->string_metric9 = mb_convert_encoding($string_metric9, "UTF-8"); } } diff --git a/app/Models/Company.php b/app/Models/Company.php index d1e402ece50b..cdfde34fe883 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -112,12 +112,12 @@ use Laracasts\Presenter\PresentableTrait; * @property int $notify_vendor_when_paid * @property int $invoice_task_hours * @property int $deleted_at - * @property string $smtp_username - * @property string $smtp_password - * @property string $smtp_host - * @property string $smtp_port - * @property string $smtp_encryption - * @property string $smtp_local_domain + * @property string|null $smtp_username + * @property string|null $smtp_password + * @property string|null $smtp_host + * @property string|null $smtp_port + * @property string|null $smtp_encryption + * @property string|null $smtp_local_domain * @property boolean $smtp_verify_peer * @property-read \App\Models\Account $account * @property-read \Illuminate\Database\Eloquent\Collection $activities diff --git a/app/PaymentDrivers/BTCPayPaymentDriver.php b/app/PaymentDrivers/BTCPayPaymentDriver.php index 6d4d7ec3dd51..b0cd695155b6 100644 --- a/app/PaymentDrivers/BTCPayPaymentDriver.php +++ b/app/PaymentDrivers/BTCPayPaymentDriver.php @@ -131,9 +131,11 @@ class BTCPayPaymentDriver extends BaseDriver $this->payment_hash = PaymentHash::whereRaw('BINARY `hash`= ?', [$btcpayRep->metadata->InvoiceNinjaPaymentHash])->firstOrFail(); $StatusId = Payment::STATUS_PENDING; if ($this->payment_hash->payment_id == null) { - //$_invoice = collect($this->payment_hash->data->invoices)->first(); - $_invoice = Invoice::query()->where('number', $btcpayRep->metadata->orderId)->first(); - $this->client = Client::find($_invoice->client_id); + + $_invoice = Invoice::with('client')->withTrashed()->find($this->payment_hash->fee_invoice_id); + + $this->client = $_invoice->client; + $dataPayment = [ 'payment_method' => $this->payment_method, 'payment_type' => PaymentType::CRYPTO, @@ -144,7 +146,7 @@ class BTCPayPaymentDriver extends BaseDriver $payment = $this->createPayment($dataPayment, $StatusId); } else { /** @var \App\Models\Payment $payment */ - $payment = Payment::find($this->payment_hash->payment_id); + $payment = Payment::withTrashed()->find($this->payment_hash->payment_id); $StatusId = $payment->status_id; } switch ($btcpayRep->type) { diff --git a/app/Services/Client/PaymentMethod.php b/app/Services/Client/PaymentMethod.php index d4e788fcc39a..492f907e13b9 100644 --- a/app/Services/Client/PaymentMethod.php +++ b/app/Services/Client/PaymentMethod.php @@ -180,6 +180,21 @@ class PaymentMethod } } + if (($this->client->getSetting('use_credits_payment') == 'option' || $this->client->getSetting('use_credits_payment') == 'always') && $this->client->service()->getCreditBalance() > 0) { + // Show credits as only payment option if both statements are true. + if ( + $this->client->service()->getCreditBalance() > $this->amount + && $this->client->getSetting('use_credits_payment') == 'always') { + $payment_urls = []; + } + + $this->payment_urls[] = [ + 'label' => ctrans('texts.apply_credit'), + 'company_gateway_id' => CompanyGateway::GATEWAY_CREDIT, + 'gateway_type_id' => GatewayType::CREDIT, + ]; + } + return $this; } diff --git a/app/Services/Payment/UpdateInvoicePayment.php b/app/Services/Payment/UpdateInvoicePayment.php index 1000086b6985..84cc49b8aba8 100644 --- a/app/Services/Payment/UpdateInvoicePayment.php +++ b/app/Services/Payment/UpdateInvoicePayment.php @@ -127,8 +127,6 @@ class UpdateInvoicePayment return; } - - if (strlen($invoice->number) > 1 && str_starts_with($invoice->number, "####")) { $invoice->number = ''; } @@ -140,7 +138,6 @@ class UpdateInvoicePayment ->save(); } - /* Updates the company ledger */ $this->payment ->ledger() diff --git a/app/Services/Subscription/SubscriptionService.php b/app/Services/Subscription/SubscriptionService.php index 50f2aa792f89..1cc177b68573 100644 --- a/app/Services/Subscription/SubscriptionService.php +++ b/app/Services/Subscription/SubscriptionService.php @@ -1118,7 +1118,7 @@ class SubscriptionService */ public function triggerWebhook($context) { - if (empty($this->subscription->webhook_configuration['post_purchase_url']) || is_null($this->subscription->webhook_configuration['post_purchase_url']) || strlen($this->subscription->webhook_configuration['post_purchase_url']) < 1) { + if (empty($this->subscription->webhook_configuration['post_purchase_url']) || is_null($this->subscription->webhook_configuration['post_purchase_url']) || strlen($this->subscription->webhook_configuration['post_purchase_url']) < 1) { //@phpstan-ignore-line return ["message" => "Success", "status_code" => 200]; } diff --git a/app/Services/Subscription/SubscriptionStatus.php b/app/Services/Subscription/SubscriptionStatus.php index e4252a8dd3bd..baa974be547b 100644 --- a/app/Services/Subscription/SubscriptionStatus.php +++ b/app/Services/Subscription/SubscriptionStatus.php @@ -174,7 +174,7 @@ class SubscriptionStatus extends AbstractService */ private function checkRefundable(): self { - if(!$this->recurring_invoice->subscription->refund_period || (int)$this->recurring_invoice->subscription->refund_period == 0) { + if(!$this->recurring_invoice->subscription->refund_period || (int)$this->recurring_invoice->subscription->refund_period == 0) {//@phpstan-ignore-line return $this->setRefundable(false); } diff --git a/app/Services/Template/TemplateService.php b/app/Services/Template/TemplateService.php index 44f02d9b82a0..2a7149d6af61 100644 --- a/app/Services/Template/TemplateService.php +++ b/app/Services/Template/TemplateService.php @@ -436,11 +436,11 @@ class TemplateService } match ($key) { - 'variables' => $processed = $value->first() ?? [], + 'variables' => $processed = $value->first() ?? [], //@phpstan-ignore-line 'invoices' => $processed = (new HtmlEngine($value->first()->invitations()->first()))->setSettings($this->getSettings())->generateLabelsAndValues() ?? [], 'quotes' => $processed = (new HtmlEngine($value->first()->invitations()->first()))->setSettings($this->getSettings())->generateLabelsAndValues() ?? [], 'credits' => $processed = (new HtmlEngine($value->first()->invitations()->first()))->setSettings($this->getSettings())->generateLabelsAndValues() ?? [], - 'payments' => $processed = (new PaymentHtmlEngine($value->first(), $value->first()->client->contacts()->first()))->setSettings($this->getSettings())->generateLabelsAndValues() ?? [], + 'payments' => $processed = (new PaymentHtmlEngine($value->first(), $value->first()->client->contacts()->first()))->setSettings($this->getSettings())->generateLabelsAndValues() ?? [], //@phpstan-ignore-line 'tasks' => $processed = [], 'projects' => $processed = [], 'purchase_orders' => (new VendorHtmlEngine($value->first()->invitations()->first()))->setSettings($this->getSettings())->generateLabelsAndValues() ?? [], @@ -533,7 +533,7 @@ class TemplateService 'tax_rate3' => (float) $invoice->tax_rate3, 'total_taxes' => Number::formatMoney($invoice->total_taxes, $invoice->client), 'total_taxes_raw' => $invoice->total_taxes, - 'is_amount_discount' => (bool) $invoice->is_amount_discount ?? false, + 'is_amount_discount' => (bool) $invoice->is_amount_discount ?? false,//@phpstan-ignore-line 'footer' => $invoice->footer ?? '', 'partial' => $invoice->partial ?? 0, 'partial_due_date' => $this->translateDate($invoice->partial_due_date, $invoice->client->date_format(), $invoice->client->locale()), @@ -864,7 +864,7 @@ class TemplateService 'tax_rate3' => (float) $credit->tax_rate3, 'total_taxes' => Number::formatMoney($credit->total_taxes, $credit->client), 'total_taxes_raw' => $credit->total_taxes, - 'is_amount_discount' => (bool) $credit->is_amount_discount ?? false, + 'is_amount_discount' => (bool) $credit->is_amount_discount ?? false, //@phpstan-ignore-line 'footer' => $credit->footer ?? '', 'partial' => $credit->partial ?? 0, 'partial_due_date' => $this->translateDate($credit->partial_due_date, $credit->client->date_format(), $credit->client->locale()), @@ -1014,7 +1014,7 @@ class TemplateService 'custom_value4' => (string) $project->custom_value4 ?: '', 'color' => (string) $project->color ?: '', 'current_hours' => (int) $project->current_hours ?: 0, - 'tasks' => ($project->tasks && !$nested) ? $this->processTasks($project->tasks, true) : [], + 'tasks' => ($project->tasks && !$nested) ? $this->processTasks($project->tasks, true) : [], //@phpstan-ignore-line 'client' => $project->client ? [ 'name' => $project->client->present()->name(), 'balance' => $project->client->balance, diff --git a/app/Transformers/ProductTransformer.php b/app/Transformers/ProductTransformer.php index 181db94c0777..2310757f903a 100644 --- a/app/Transformers/ProductTransformer.php +++ b/app/Transformers/ProductTransformer.php @@ -74,7 +74,7 @@ class ProductTransformer extends EntityTransformer 'notes' => $product->notes ?: '', 'cost' => (float) $product->cost ?: 0, 'price' => (float) $product->price ?: 0, - 'quantity' => is_numeric($product->quantity) ? (float) $product->quantity : (float) 1.0, + 'quantity' => is_numeric($product->quantity) ? (float) $product->quantity : (float) 1.0, //@phpstan-ignore-line 'tax_name1' => $product->tax_name1 ?: '', 'tax_rate1' => (float) $product->tax_rate1 ?: 0, 'tax_name2' => $product->tax_name2 ?: '', diff --git a/app/Transformers/PurchaseOrderTransformer.php b/app/Transformers/PurchaseOrderTransformer.php index 4d1a2469beeb..d1aa872d1492 100644 --- a/app/Transformers/PurchaseOrderTransformer.php +++ b/app/Transformers/PurchaseOrderTransformer.php @@ -78,7 +78,7 @@ class PurchaseOrderTransformer extends EntityTransformer { $transformer = new VendorTransformer($this->serializer); - if (!$purchase_order->vendor) { + if (!$purchase_order->vendor) {//@phpstan-ignore-line return null; } diff --git a/app/Transformers/TaskTransformer.php b/app/Transformers/TaskTransformer.php index 668cc4f7f3aa..fc9df5f53386 100644 --- a/app/Transformers/TaskTransformer.php +++ b/app/Transformers/TaskTransformer.php @@ -67,7 +67,7 @@ class TaskTransformer extends EntityTransformer { $transformer = new UserTransformer($this->serializer); - if (!$task->user) { + if (!$task->user) { //@phpstan-ignore-line return null; } diff --git a/composer.json b/composer.json index 17770ee2e87c..49afd89e94c6 100644 --- a/composer.json +++ b/composer.json @@ -100,7 +100,7 @@ "symfony/http-client": "^6.0", "symfony/mailgun-mailer": "^6.1", "symfony/postmark-mailer": "^6.1", - "turbo124/beacon": "^2.0", + "turbo124/beacon": "^2", "twig/intl-extra": "^3.7", "twig/twig": "^3", "twilio/sdk": "^6.40", diff --git a/composer.lock b/composer.lock index 5677a635fb4b..4ff8320f9507 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "628af85e7b23ea07b68733208d210c92", + "content-hash": "7c67ca71986b97fc72bba5eba530e878", "packages": [ { "name": "adrienrn/php-mimetyper", @@ -481,16 +481,16 @@ }, { "name": "aws/aws-crt-php", - "version": "v1.2.5", + "version": "v1.2.6", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b" + "reference": "a63485b65b6b3367039306496d49737cf1995408" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/0ea1f04ec5aa9f049f97e012d1ed63b76834a31b", - "reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/a63485b65b6b3367039306496d49737cf1995408", + "reference": "a63485b65b6b3367039306496d49737cf1995408", "shasum": "" }, "require": { @@ -529,22 +529,22 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.5" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.6" }, - "time": "2024-04-19T21:30:56+00:00" + "time": "2024-06-13T17:21:28+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.314.6", + "version": "3.315.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d04da330b0201edab71edd33a03b8d5ad6e4a313" + "reference": "a7f6026f00771025c32548dac321541face0dedc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d04da330b0201edab71edd33a03b8d5ad6e4a313", - "reference": "d04da330b0201edab71edd33a03b8d5ad6e4a313", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a7f6026f00771025c32548dac321541face0dedc", + "reference": "a7f6026f00771025c32548dac321541face0dedc", "shasum": "" }, "require": { @@ -624,9 +624,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.314.6" + "source": "https://github.com/aws/aws-sdk-php/tree/3.315.0" }, - "time": "2024-06-20T18:09:51+00:00" + "time": "2024-06-26T18:08:22+00:00" }, { "name": "bacon/bacon-qr-code", @@ -2581,16 +2581,16 @@ }, { "name": "google/apiclient-services", - "version": "v0.360.0", + "version": "v0.361.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "e48813050e660c7dcbe48cb6556461efe6381a54" + "reference": "f90e9a059ce5a6076b4fc8571a4fac6564012782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/e48813050e660c7dcbe48cb6556461efe6381a54", - "reference": "e48813050e660c7dcbe48cb6556461efe6381a54", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/f90e9a059ce5a6076b4fc8571a4fac6564012782", + "reference": "f90e9a059ce5a6076b4fc8571a4fac6564012782", "shasum": "" }, "require": { @@ -2619,9 +2619,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.360.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.361.0" }, - "time": "2024-06-17T01:06:20+00:00" + "time": "2024-06-23T01:02:19+00:00" }, { "name": "google/auth", @@ -4609,16 +4609,16 @@ }, { "name": "laravel/framework", - "version": "v11.11.1", + "version": "v11.12.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "c9b52e84bd18f155e5ba59b948c7da3e7f37e87f" + "reference": "9a6d9cea83cfa6b9e8eda05c89741d0411d8ebe8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/c9b52e84bd18f155e5ba59b948c7da3e7f37e87f", - "reference": "c9b52e84bd18f155e5ba59b948c7da3e7f37e87f", + "url": "https://api.github.com/repos/laravel/framework/zipball/9a6d9cea83cfa6b9e8eda05c89741d0411d8ebe8", + "reference": "9a6d9cea83cfa6b9e8eda05c89741d0411d8ebe8", "shasum": "" }, "require": { @@ -4810,7 +4810,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-06-20T10:54:53+00:00" + "time": "2024-06-25T19:33:56+00:00" }, { "name": "laravel/pint", @@ -6513,16 +6513,16 @@ }, { "name": "mollie/mollie-api-php", - "version": "v2.68.0", + "version": "v2.69.0", "source": { "type": "git", "url": "https://github.com/mollie/mollie-api-php.git", - "reference": "a3c383a76b20e3efaa39377c22e570396714830d" + "reference": "9a53f8bd6c89ae3e62982921a2f9d8ed68f9900d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/a3c383a76b20e3efaa39377c22e570396714830d", - "reference": "a3c383a76b20e3efaa39377c22e570396714830d", + "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/9a53f8bd6c89ae3e62982921a2f9d8ed68f9900d", + "reference": "9a53f8bd6c89ae3e62982921a2f9d8ed68f9900d", "shasum": "" }, "require": { @@ -6599,9 +6599,9 @@ ], "support": { "issues": "https://github.com/mollie/mollie-api-php/issues", - "source": "https://github.com/mollie/mollie-api-php/tree/v2.68.0" + "source": "https://github.com/mollie/mollie-api-php/tree/v2.69.0" }, - "time": "2024-06-10T09:50:59+00:00" + "time": "2024-06-24T11:52:46+00:00" }, { "name": "moneyphp/money", @@ -9022,16 +9022,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.38", + "version": "3.0.39", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "b18b8788e51156c4dd97b7f220a31149a0052067" + "reference": "211ebc399c6e73c225a018435fe5ae209d1d1485" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/b18b8788e51156c4dd97b7f220a31149a0052067", - "reference": "b18b8788e51156c4dd97b7f220a31149a0052067", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/211ebc399c6e73c225a018435fe5ae209d1d1485", + "reference": "211ebc399c6e73c225a018435fe5ae209d1d1485", "shasum": "" }, "require": { @@ -9112,7 +9112,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.38" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.39" }, "funding": [ { @@ -9128,7 +9128,7 @@ "type": "tidelift" } ], - "time": "2024-06-17T10:11:32+00:00" + "time": "2024-06-24T06:27:33+00:00" }, { "name": "phpstan/phpdoc-parser", @@ -14820,16 +14820,16 @@ }, { "name": "turbo124/beacon", - "version": "v2.0.0", + "version": "v2.0.2", "source": { "type": "git", "url": "https://github.com/turbo124/beacon.git", - "reference": "6397c3fa575e9b670718b6f31f04bdf20aa83a72" + "reference": "95f3de3bdcbb786329cd7050f319520588920466" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/turbo124/beacon/zipball/6397c3fa575e9b670718b6f31f04bdf20aa83a72", - "reference": "6397c3fa575e9b670718b6f31f04bdf20aa83a72", + "url": "https://api.github.com/repos/turbo124/beacon/zipball/95f3de3bdcbb786329cd7050f319520588920466", + "reference": "95f3de3bdcbb786329cd7050f319520588920466", "shasum": "" }, "require": { @@ -14876,9 +14876,9 @@ "turbo124" ], "support": { - "source": "https://github.com/turbo124/beacon/tree/v2.0.0" + "source": "https://github.com/turbo124/beacon/tree/v2.0.2" }, - "time": "2024-05-31T23:01:02+00:00" + "time": "2024-06-27T01:23:05+00:00" }, { "name": "twig/intl-extra", @@ -19006,16 +19006,16 @@ }, { "name": "spatie/error-solutions", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spatie/error-solutions.git", - "reference": "d60d4d2ef4b7701c86134ded959667cac6215233" + "reference": "9782ba6e25cb026cc653619e01ca695d428b3f03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/error-solutions/zipball/d60d4d2ef4b7701c86134ded959667cac6215233", - "reference": "d60d4d2ef4b7701c86134ded959667cac6215233", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/9782ba6e25cb026cc653619e01ca695d428b3f03", + "reference": "9782ba6e25cb026cc653619e01ca695d428b3f03", "shasum": "" }, "require": { @@ -19068,7 +19068,7 @@ ], "support": { "issues": "https://github.com/spatie/error-solutions/issues", - "source": "https://github.com/spatie/error-solutions/tree/1.0.1" + "source": "https://github.com/spatie/error-solutions/tree/1.0.2" }, "funding": [ { @@ -19076,7 +19076,7 @@ "type": "github" } ], - "time": "2024-06-21T10:09:00+00:00" + "time": "2024-06-26T13:09:17+00:00" }, { "name": "spatie/flare-client-php", diff --git a/config/ninja.php b/config/ninja.php index 7a0377b39fc4..b8d1f187c242 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -17,8 +17,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => env('APP_VERSION', '5.10.3'), - 'app_tag' => env('APP_TAG', '5.10.3'), + 'app_version' => env('APP_VERSION', '5.10.4'), + 'app_tag' => env('APP_TAG', '5.10.4'), 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', false),