Introduction
Craft 3.5 beta, Craft Nitro, free COVID licenses, tips, plugins, and more.
Hello Craft friends. I hope this issue finds you doing well.
We kick off with the beta release of Craft 3.5. If you’re excited about the GraphQL mutations 3.5 brings, that means you are a nerd, and you are reading the right newsletter. 😄
Craft Nitro, the local dev environment solution from the Craft team is now in pre-release. Following up on the batch of free licenses for COVID response projects, there are a few more to add to the list. We’ve also got plenty of tips and more.
Thank you to the sponsors of this issue.
Need responsive images? Of course, you do. ImageOptimize by nystudio107 has got you covered whether you're using Craft's built-in image transforms or a service like Imgix.
Freeform is the feature-filled form plugin for Craft CMS that includes ready-to-use templates to get you up and running quickly. Learn about the power of Freeform.
Let’s hit the links.
-John Morton
Top Stories

🧨 Craft 3.5 Beta 1 🧨
"You get GraphQL mutations! And you get GraphQL mutations! And you get GraphQL mutations!"
If you want to help test Craft 3.5, change your craftcms/cms requirement in composer.json to "^3.5.0-beta.1" and then run composer update
.
BONUS: It's great to see the beta of the 3.5 docs arrive with the release, including a section discussing GraphQL mutations. 🍹
Craft Nitro - Beta 0.9.2
Craft Nitro is a better, faster way to develop Craft CMS apps locally without Docker or Vagrant. Nitro’s one dependency is Multipass, which allows you to create Ubuntu virtual machines. There are docs on how to set up Xdebug with PHPStorm and Nitro.
Note that this is not the final version. Check the changelog, now at version 0.92, to keep up with the state of Nitro. When it’s officially released, it will be in the newsletter again as well.
News
Craft 3.4.16 released
Craft 3.4.16 now sets the access-control-allow-origin
header to *
rather than the incoming request’s origin, for graphql/api
and live-preview/preview
requests. Your CORS prayers, or maybe they are nightmares, are answered.
Free licenses for COVID19 response: part 2
In the previous issue, you will find a list of offers for free licenses from developers for use in building COVID response projects. There are more to add to the list:
- nystudio107, creator of SEOMatic and many others
- Double Secret Agency, creator or Smart Map, Upvote and more
Developers, if I’ve missed your plugin, please Tweet about it and submit your link to the CLL link submission page.
🏭 pluginfactory.io goes to 2,896
Andrew shared some stats showing how many Craft plugins and modules have been built so far this year using pluginfactory.io. In a second tweet, he revealed that "Test" is the most popular name chosen. I've made at least one of those.
If you’re using Plugin Factory, you can support Andrew’s work on it at GitHub.
Featured Sponsor

ImageOptimize: Optimized, Responsive Images Made Easy
Automatically create & optimize responsive image transforms, using either native Craft transforms or a service like Imgix, with zero template changes.
Tools, tips, and fundamentals
An Official “Welcome to Craft CMS” Tutorial
The Craft team has been hard at work on the documentation of Craft. (Thanks, Matt Stein!) For example, the recently added tutorial at the link above will help new users get familiar with Craft CMS in no time.
GraphQL API Documentation
Lest you think the documentation improvements are just for those new to Craft, check out the GraphQL docs. They have gotten more robust, just in time for 3.5. For example, they have reference tables for the following:
Video: Building Navigation
In this short video, James Grieg demonstrates how he allows clients to create navigation in Craft using a Matrix field with two block types.
Ability to Specify CMS Logo in config? No, but...
If you use a server that doesn't have a permanent way to keep uploaded files, the normal way of adding a logo to your Craft control panel won't work as you expect.
For example, if you use Heroku, it comes with an ephemeral file system, which would wipe out your logo periodically. The Github issue link above offers a solution to this problem. Add your rebranding logos to your Git repo. You can do that by adding the following to your .gitignore
file.
# CRAFT STORAGE
/storage/*
!/storage/.gitkeep
!/storage/rebrand/
Perfecting your technique
Emails and Organisation (Servd, March 2020)
Matt Gray continues to share his experiences in launching Servd, a managed Craft CMS hosting service.
Craft 2 to 3 Migration PDF
On April 7, Justin Holt gave a presentation at the Charlotte Craft CMS Meetup Group on migrating from Craft 2 to Craft 3. At the link above, you can check out the slide deck and then follow along with the video of his presentation.
A Guide to Soft Delete with Craft CMS ⭐️
Jake Dohm does a dive into Craft’s soft delete functionality.
- What types of content have a soft-delete
- How to soft-delete content
- How to find and recover soft-deleted content
- How to permanently remove soft-deleted content
- Configuring soft-delete
- What this means for plugin authors
repman.io | Private PHP Package Repository Manager
Andrew mentioned repmaon.io in a Tweet recently. It promises to speed up your composer downloads by up to 90% by installing a global composer project or just tweaking your package.json
file per project.
Building a Donation Form with Craft Commerce
CraftQuest continues to add great content. Consider subscribing if you haven’t already.
In the Up and Running with Craft Commerce, we covered how to build a product website with Craft Commerce. Our goal was straightforward and focused. That means that we didn’t cover everything about Commerce. In this lesson or course, we’re going to use the Donation feature in Commerce to set up a simple donation page using Craft Commerce.
Responsive Tables with Craft CMS, Table Maker, and Tailwind
Sean Smith shows how to use the Table Maker plugin to let your users have a flexible author experience. He also discusses how to customize the output to be responsively designed on the front-end of your site.
Sponsor

Effortlessly build beautiful forms in minutes with Freeform!
Freeform is the most reliable, intuitive and powerful form building plugin for Craft. Everything is at your fingertips in our elegant form builder. It gives you full control to create simple or complex multi-page forms, as well as connect your forms to many popular API integrations. Templating is easy and highly customizable. Our ready-to-go templates and features like built-in AJAX and Conditional Rules Logic will have you ready in minutes! No other form plugin even comes close to comparing! You can trust Freeform (and the team behind it) to deliver the quality and support you expect and deserve.
Plugged In
Matrix Field Preview
Craft Matrix Field Preview lets you add screenshots to a Matrix field to give your content authors a quick reference to what the block will look like.
Remote Backup
Craft Remote Backup makes it easy to create offsite remote backups from the comfort of the Craft Control Panel.
Remote Sync
Craft Remote Sync makes it easy to sync your database and volume assets from the comfort of the Craft Control Panel. This makes it much easier to move your site from local development to staging and onto production and avoids the need to regularly SSH into servers to perform database dumps and restores.
Inventory
"Am I using this field? Where am I using this field?" You no longer have to wonder... Inventory will show you exactly where your fields are being used!
Super Dynamic Fields
This plugin enhances the default radio, checkbox, dropdown, and Multi-Select Field.
SIB Contact Form Integration
This plugin is a fork of the craftcms/contact-form
and uses its base contact form logic to send emails via the site's SMPT email settings.
The Craft Advantage
Overheard
It’s not Craft, but it’s interesting.
devMode.fm // Do's and Don'ts for Docker-izing applications
In this episode, we talk to Andreas Wittig from cloudonaut.io about best practices when using Docker for our web applications.
Apple’s attack on service workers
This post by Jeremy Keith shines a light on an upcoming change to Safari that will limit Service Worker registrations to a 7-day activity period, i.e. it will “delete service workers after seven days.”
Figma Tailwindcss
Figma Tailwindcss lets you export aspects of a design made in Figma to a javascript theme file that can easily be used with Tailwindcss.
Pinia
Automatically Typed, Modular, and lightweight Store for Vue using the composition API with DevTools support.
The Shell Scripting Tutorial
This tutorial is written to help people understand some of the basics of shell script programming (aka shell scripting), and hopefully, to introduce some of the possibilities of simple but powerful programming available under the Bourne shell.
Notyf
A minimalistic JavaScript library for toast notifications featuring easy integration with React, Angular, and Vue.
CSS clamp can be used for fluid typography
Min/max values in CSS for typography? Yes, you clamp()! Also see this post.