Craft News

Craft 3 Beta

Jan 31, 2017 in Announcements

It’s here!

After about 18 months of work, we are ready to unveil the Craft 3 Beta.

This is a huge update. Literally every line of code has been rewritten. Most of the application architecture has been refactored. A fair amount of code has been thrown out.

If you’ve been following the Dev Preview, you already know about many of the new features: Multi-Site, Content Migrations, Yii 2, the Debug Toolbar, and improvements to templating, localization, performance and plugin APIs.

We didn’t stop there though. Here’s what’s new as of today:

  • Composer support. Create new Craft projects, and install plugins, with a quick terminal command. In fact, for the duration of the beta, Composer is the only way to get it. If you’re terminal-adverse, you may be freaking out about that, but don’t. It’s not that bad, and we’re here to help you out.
  • PostgreSQL. MySQL haters rejoice!
  • Utilities. It’s a new section in the Control Panel that has a bunch of utility pages: Updates, Server Report, PHP Info, Deprecation Errors, Asset Indexes, Search Indexes, Clear Caches, Database Backup, Find and Replace, and (Content) Migrations. Plugins can add new ones, too. And they aren’t just for admins; you can give other users access to them if you want.
  • PHP 7. Craft 3 requires it. You’ll thank us for forcing you to upgrade your crusty old PHP 5 server and stop living like a Neanderthal. It’s that fast.
  • Plugin changelogs. No more awkward release feeds. Now Craft can parse the same Markdown-formatted changelog you’re already writing for humans, and show available updates in the Updates utility.
  • More powerful templating. Twig templates now have access to the Application instance and all its services and components via craft.app.
  • More configuration. It’s now possible to override your volume settings, mailer settings, Guzzle settings, and even the entire application configuration, from config files in your config/ folder.
  • More refactoring. We’ve deep-cleaned the entire codebase with the help of PhpStorm inspections and Scrutinizer. And we’ve simplified how element types work, improved how fields interact with elements, added tons of events, dropped the concept of plugin hooks in favor of events, and implemented a testing framework.
  • More speed. This thing really screams. Check out craftcms.com/3 for benchmarks.

We’re also excited to announce that we sponsored the development of a new PhpStorm plugin called Yii2 Inspections. If you’re working on a multilingual site or plugin, it can help you keep track of all your calls to Craft::t() or the |t Twig filter, and notify you of missing static translation messages, and unused ones. It’s written by Vlad Reznichenko, the guy behind the amazing Php Inspections (EA Extended) plugin, and it’s pretty amazing.

[Dramatic pause.] Oh, and one more thing:

  • Image Editor. Now you can crop, rotate, flip, and straighten your photos right from within the Control Panel. And set focal points, which tells Craft where it should focus on when cropping photos for image transforms.
A photo being edited by the new Image Editor in Craft CMS.

Image Credit: Ashley Matteson Photography

It even works on mobile.

We’ve logged over 640 changes for this update, plus 40 bug fixes. And that’s not counting the hundreds of changes that came before it in the Dev Preview updates.

Where can I get it?

On GitHub. Yeah that’s right. Craft has a public repo now. It’s all out in the open now—the full history, all our issues, everything. And because issue tracking on GitHub is so darn nice, we’ve even migrated all the feature requests from UserVoice over to it. Going forward, this is the place to file bugs and feature requests, even for Craft 2.

There are other repos, too:

  • craft – Composer project that should be used as the starting point for new Craft projects.
  • plugin-installer – Composer extension that’s required to install Craft plugins with Composer.
  • docs – Craft 3 documentation. (Still a WIP, but the essentials are there.)
  • plugins – Master list of plugins compatible with Craft 3 Beta.
  • aws-s3 – An Amazon S3 volume type plugin for Craft 3. (Rackspace Cloud and Google Cloud plugins are in the works.)
  • mailgun – A Mailgun mailer adapter plugin for Craft 3.
  • mandrill – A Mandrill mailer adapter plugin for Craft 3.

Can I use it in production?

Technically you could. We wouldn’t recommend it though. That’s what stable releases are for.

Craft 3 Beta is a beta. There are many bugs. But it’s feature complete. So this is the point where we stop breaking things and start fixing them.

How long will the Beta last?

We’re not totally sure yet. Here’s our to-do list:

  1. Make it not buggy
  2. Update our plugins for Craft 3 (and help devs update theirs)
  3. Create the Plugin Store

The Beta is finished when those things are finished. Our best guess is it will take 6-9 months. When we have a better idea, we’ll let everyone know. It won’t come as a surprise.

Is there a quick and easy way to create plugin scaffolds?

Glad you asked! Andrew Welch has already updated the Craft 3 plugin generator at pluginfactory.io for the Beta. This is a super helpful tool and you should definitely use it.

And there you have it. If you’re ready to dive in, you’ll find the new installation instructions in the new documentation. If you have any questions, hit us up in the #craft3 channel on Craft Slack. If you find a bug or want to submit a feature request, go with GitHub.

Hope you like it!