Blog /

Product

Product February 12, 2020

Forge: Database Backups Now Supported

Yesterday we launched an exciting new feature for [Laravel Forge](https://forge.laravel.com): database backups! Laravel team member James Brooks has been working hard on this feature for several weeks. Forge now allows you to configure hourly, daily, or weekly backups for your MySQL or Postgres databases on your Forge servers. The backups are stored on your own S3 or DigitalOcean Spaces account and you may download the archives at any time. In addition, you may configure how many backups should be kept in storage before being pruned. ![](https://laravel-blog-assets.s3.amazonaws.com/vVwjJqZdjG6hXzWzCRhojFxRfXZkve0wL7gKrqRu.png)During its initial launch period, we are only offering this feature to our Business plan customers. It is possible we will extend this feature to other plans in the future.

Taylor Otwell

Product February 11, 2020

Vapor: Job Timeouts

On February 10th, we've released v2.4.1 of [laravel/vapor-core](https://github.com/laravel/vapor-core). This release includes an important fix for long running queued jobs. Before this fix, long running jobs were left to be terminated by Lambda after reaching the timeout set by `queue-timeout` in your `vapor.yml` file. This causes the PHP process to terminate right away not giving a chance for the queue manager to increment the attempts on the job. The result was timed out jobs retrying indefinitely until the message retention period passes and SQS deletes them. That means they were never reported as failed. In the `2.4.1` release, we use the `pcntl` PHP extension to gracefully terminate the job before it's killed by Lambda. We recommend that you upgrade to the latest version of `vapor-core` and deploy your projects to use the new timeout mechanism.

Mohamed Said

Product January 14, 2020

Vapor: Separate Queue Lambdas

Starting today, new Vapor deployments will ensure a separate AWS Lambda function exists for running your queued jobs. Before this change, queued jobs executed within the CLI Lambda. This Lambda is also used for running deployment commands, CLI commands, and scheduled jobs. However, there were potential problems with this approach. For example, if queued jobs were consuming all of the Lambda's capacity, no other CLI invocations would be able to process, causing deployment commands and scheduled jobs to fail. Beginning today, we recommend that you set the `queue-memory`, `queue-concurrency`, and `queue-timeout` configurations for every environment. Being able to control the `queue-concurrency` separately from `cli-concurrency` ensures your queues won't consume all of the available capacity and cause other invocations to fail.

Mohamed Said

Product January 10, 2020

Vapor: Rotating Your RDS SSL/TLS Certificates

Amazon RDS has published new SSL/TLS certificates for connecting to your RDS databases. The current certificates will expire on March 5th, 2020. All Vapor users using RDS databases in their projects should update their instances to the new certificates. You should ensure your Vapor project requires the latest versions of the `laravel/vapor-cli` and `laravel/vapor-core` packages. After that, you may refer to [Amazon's instructions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) to update your instance's certificates using the AWS console.

Mohamed Said

Product December 5, 2019

Forge: Postgres Database + User Management

For a while now, Forge has allowed you to create and manage additional databases and users if you were using MySQL / MariaDB; however, we did not support this for Postgres. That changes today! You can now create and manage additional Postgres databases and users directly from the Forge UI. ![](https://laravel-blog-assets.s3.amazonaws.com/qQPWfPviCKrYgTM7qL0jpscA7WOTFQDby1eulqDu.png)If you don’t have a [Forge](https://forge.laravel.com) account, now is a great time to sign up. Forge allows you to painlessly create and manage PHP 7.4 servers which include MySQL, Redis, Memcached, and everything else you need to run robust, modern Laravel applications.

Taylor Otwell

Product November 5, 2019

Forge: User Isolation

Today on Forge, thanks to the work of Laravel staff member James Brooks, we're proud to announce support for user isolation. In short, this means you can run sites on the same server using separate Linux users. In addition, you can add SSH keys for these users, granting SSH and SFTP ability to a specific directory on your server without that user being able to access other sites on the server. To get started, you only need to click the "Use Website Isolation" checkbox when creating a new site: ![](https://laravel-blog-assets.s3.amazonaws.com/WiVqltMdqAXVKn3ITpswXhnjngwtsUIV7xzwAIWX.png)When managing your server's SSH keys, a new dropdown menu is available to select the user that the SSH key should be added to. Of course, the "forge" user is still the default user for all new servers: ![](https://laravel-blog-assets.s3.amazonaws.com/qMiZ12fdzd5ugfnMOlfdC4WMhO752jRCDTS4sBfS.png)We hope you enjoy this new feature and thank you for your continued support of the Laravel ecosystem!

Taylor Otwell

Product September 26, 2019

Vapor: Reusable Vendors

Beginning today, we are launching a new, opt-in feature for Laravel Vapor that allows Vapor to reuse the "vendor" directory from previous deployments if the contents of the vendor directory has not changed. This new feature has been launched to solve two problems. **First, since we no longer have to upload the vendor directory for every deployment, we can deploy projects significantly faster.** Secondly, large projects sometimes exceed the size constraints on AWS Lambda code artifacts. AWS restricts the size of zipped Lambda deployment artifacts to 50mb. **By uploading and handling the vendor directory separately, we can work around this restriction. However, please note that the total disk size of AWS Lambda instances is still limited to 512mb.** To begin using this feature, please upgrade your `vapor-cli` and `vapor-core` package installations to their latest versions. Next, add the `separate-vendor` flag to your `Vapor.yml` file: ``` id: 5 name: vapor-local-test separate-vendor: true ```

Taylor Otwell

Product August 8, 2019

Cashier v10

We're very excited to announce the immediate availability of Cashier v10. This new Cashier release is a major update with lots of changes to Cashier's internals and public API. Cashier has been upgraded to support the new [Payment Intents](https://stripe.com/docs/payments/payment-intents) and [Payment Methods](https://stripe.com/docs/payments/payment-methods) APIs from Stripe as well as handle European [Strong Customer Authentication (SCA)](https://stripe.com/guides/strong-customer-authentication) regulations. In this blog post, we'll briefly go over some of the major changes. For more thorough information, read [the upgrade guide](https://github.com/laravel/cashier/blob/10.0/UPGRADE.md) as well as [the new documentation](https://laravel.com/docs/billing). Payment Intents --------------- Cashier uses the new Stripe Payment Intents API, which means that it now fully supports secondary payment actions like 3D Secure. The new Payment Intents API is now Stripe's preferred way of handling all transactions. Because of PSD2 & SCA regulations, which were introduced in the EU, banks can now require card payments to provide a secondary confirmation action. Often, this is a 3D Secure confirmation. Because of these regulations, Cashier needed a way to inform users that a secondary payment confirmation action was required, as well as provide an easy method of completing that secondary action. In Cashier v10, exceptions will be thrown for any payment actions that might trigger a secondary payment action, such as creating a new subscription: ``` use Laravel\Cashier\Exceptions\IncompletePayment; try {   $subscription = $user->newSubscription('default', $planId)     ->create($paymentMethod); } catch (IncompletePayment $exception) {   return redirect()->route(     'cashier.payment',     [$exception->payment->id, 'redirect' => route('home')]   ); } ``` In the example above, the exception is caught and the user is redirected to the new payment confirmation page that ships with Cashier: ![](https://laravel-blog-assets.s3.amazonaws.com/M1kbK19o7JIA7kGFcFWvA8JsbwhKV4os1Jh6pzQh.png)After confirming the payment, the user will be redirected to the path you specify. Cashier's payment confirmation page can be published to your own application so that you can customize the screen to match the look and feel of your own application. > To learn more about gathering payment methods and creating subscriptions, please refer to [the complete Cashier documentation](https://laravel.com/docs/billing). Payment Methods --------------- Stripe's new [Payment Methods API](https://stripe.com/docs/payments/payment-methods) is the new preferred way of gathering payment method information and exchanging that information for a secure token that can be used to generate charges or create subscriptions. Per Stripe's recommendations, the previous "Sources" and token based Stripe APIs have been removed from Cashier and replaced by the new Payment Methods API. Stripe provides complete backwards compatibility with the old Sources API, so customers that already subscribed to your application will continue to be charged as expected. Much More --------- In addition to support for Payment Intents and Payment Methods, there's a variety of additional changes and improvements like: - Proper support for currency locales - Secondary payment action notifications - Auto registration of webhooks - Improved currency formatting - A new invoice layout - And much more We hope you enjoy this new Cashier release!

Dries Vints

Product April 16, 2019

Cashier 9.3

Information about the new 9.3 release and the upcoming major v10 release.

Dries Vints

Showing 151 - 160 of 169 results

Stay connected with the latest Laravel news