Introduction

Craft releaseapalooza: Craft 3.1, Commerce 2, Commerce Lite, and the New Craft Plugin Store.
What happens in mid-January? If you’re talking about Craft CMS, the answer is everything. What’s new exactly? (Details are in this issue's Top Stories section.)
- Craft 3.1
- Commerce 2
- Commerce Lite
- The new Craft Plugin Store (featuring Plugin Editions)
If that’s not enough, it’s also the time of year to make plans for the rest of the year. How are you going to continue developing your skills? How are you going to get away to someplace fun in the process? Here are a few suggestions.
On Feb 5 head to Australia for Dot One Australia. How does April 3-5 in New Orleans sound? Peers Conference heads to the Big Easy, while not Craft-specific, expect lots of Craft-related conversation. DotAll 2019 will be in Montreal. There is no announced date yet, but it's set to be the biggest Craft event of the year.
Thank you to this issue’s sponsors.
Dot One Australia in Melbourne is February 5, 2019. Get your ticket.
Solspace is the premier form-building plugin for Craft CMS. Got a form to build? Check out Freeform.
Let’s hit the links.
-John Morton
Top Stories
⭐️Craft 3.1 is released ⭐️
Happy 3.1 Day. 🎈
This game-changing update includes over 100 enhancements that drastically improve collaboration and deployment workflows with Craft.
⭐️Commerce 2 & Commerce Lite are released ⭐️
We built Commerce Lite for websites that just need the basics, for things like one-off sales or subscriptions, where complex tax and shipping rules, promotion management, and shopping carts would be overkill.
Commerce Pro is our full-featured ecommerce platform for traditional ecommerce stores. It has all the same great features from Commerce 1, and then some
⭐️Introducing the New Craft Plugin Store ⭐️
In addition to the new store, plugins can now have multiple editions. Editions allow plugin developers to offer different variations of their plugins to satisfy different project sizes.
News
Craft 3.0.37 released
Sure, 3.1 is out today, but if you’re not ready to make the jump, the 3.0.37 update fixes a couple of security issues, so get to updating. This release includes the new clear-caches
console command, as mentioned in this Tweet.

Important GitHub/Packagist update for plugin devs
The Tweet linked above is a notice to plugin developers using Packagist: you may need to update your GitHub hooks. The deadline is "early 2019." (Checking calendar...) As you can see from the image above, I was guilty of not dealing with this update. It's a pretty easy fix though; read this link for info: How to Update Packages.
Craft Starter Project license is now "The Unlicense" instead of "The MIT License"
The license used by the craftcms/craft
starter project was recently changed to The Unlicense. Why? From Brandon Kelly: "to make it clear that we don't consider any of the code in that repo 'proprietary' and you are free to do what you want with it."
That was the intent behind the original MIT License, but "since that license requires attribution... by removing the license on project creation, we are actually violating the license."
(BTW, this doesn't change the license of Craft CMS itself.)
GitHub unlimited free private repos
GitHub, recently bought by Microsoft, now provides unlimited private code repos to free accounts for projects up to 3 users. By doing this, GitHub follows the lead of BitBucket, who offers free private repos for projects up to 5 users.
Featured Sponsor

Craft CMS is Coming to Melbourne
Join Craft CMS February 5th for the first-ever Dot One Australia. This one-day conference features talks from the Australia/New Zealand Craft community as well as members of Pixel & Tonic. It's taking place at the Melbourne Museum with a happy hour event to follow. Get your tickets today at craftcms.com/dot-one-australia
Tools, tips, and fundamentals
Using Webhooks Plugin to Connect to External Services
The first-party Webhooks plugin for Craft 3 was released in Dec 2018. This new video from CraftQuest walks you through what webhooks are and how to use them in Craft. It’s good stuff.
Nuke and pave the vendor folder
Sean Smith shares a Craft tip that you will hopefully never need to use.
What we learned at Dot All — the Craft CMS conference in Berlin, September 2018
Ten4design has written a new post reflecting on what they took away from the Dot All 2018 conference.
MAMP & MAMP PRO: Increase the PHP memory limit with MAMP PRO
If you're using MAMP and run into a memory error during a Craft update, this link will show you how to increase your MAMP's memory to deal with the issue.
Craft-Twig.tmbundle
A Craft CMS influenced Twig bundle for Sublime Text and Textmate from Ben Parizek at Barrel Strength.
Visual Studio Code Twig Language
VSCode extension with snippets, syntax highlighting, hover, and formatting for Twig.
Perfecting your technique

A Craft CMS Development Workflow With Docker: Part 4
Matt Gray continues his Docker and Craft CMS series by releasing part 4. Even if you're not into Docker, you can admire Matt's ligature in the word "Workflow" on the post.
A Craft CMS Development Workflow With Docker: Part 5
Part 5 of the series in the Docker + Craft series is out.
Craft CMS on Nanobox: Prelude – Craft developer's nirvana?
Oto Hlincik has been digging into Nanobox for his local development environment for Craft. He's ready to share what he's learned. In this first post of this series, he gives an overview of why he chose Nanobox.
Wouldn't it be great if you could spend your time actually working with Craft CMS and leave the dev-ops related issues to someone else? Turns out, that's exactly what Nanobox is meant to do.
Craft CMS on Nanobox: Part 1 – Local Development
After you've read the first article from the link directly above, move on to the 2nd article, aka Part 1. (Let's just assume we're using a zero-based counter when making our tally of articles in this series.)
Craft Coding Challenge #6 – The Chicken 🐔or the Egg 🥚
My answer was chicken. That was wrong.
Ben has posted the actual solutions to this challenge, which involves writing a Craft module. You'll also find a module inspired by this challenge in the Plugged In section below.
devMode.fm // Webdev Best Practices for 2019
"Docker, GatsbyJS, Gridsome, React, Vue.js, and a whole host of other tools and technologies that [the devMode crew is] either using or are excited to try out" are some of the topics discussed.
Passing data from Craft CMS to a Vue component
Steven Grant, from Zaengle Corp, renders diagrams from the Apex Charts library from a Matrix field. In describing the process, he explains how arrays and objects created a Craft Twig template, used in conjunction with the json_encode
filter, can pass data to Vue.
Performance Audit and Improvements ⭐️
If you're a CraftQuest subscriber, check out this Performance Audit and Improvements live-stream recording between Ryan and Andrew. (Highly recommended.)
Create Dimensions And Metrics in Google Analytics
I've recently been setting up a Craft site for A/B testing. Andrew's excellent article on A/B split testing was my primary source. Andrew's article makes setting this up in Craft "a-thing-I-can-do".
The next part of the puzzle was getting Google Tag Manager and Google Analytics configured to record the data. After puzzling through Google's documentation for a bit, I found the video linked above very helpful in setting up the rest of the process.
Sponsor

Powerful form building. Flexible templating.
Freeform is the most powerful form building plugin on the market for Craft! The intuitive live preview field layout editor gives you full control to create simple or complex multi-column and multi-page forms. It also includes effective spam protection, conditional rules logic, flexible email notification options, powerful and flexible templating, and many API integrations are available.
Plugged In
Status update for our Craft 2.x plugins
Andrew shared his plan for dealing with legacy Craft 2 versions of plugins.
A visualization of how plugins work in Craft CMS.
Ben Croker shared this diagram to illustrate how a plugin works in Craft.
Shield
Harness the sophisticated power of Akismet to Shield your Craft CMS website from annoying Spam.
Craft Recently Viewed
Track what your users view and resurface it as you please.
Easily create lists of recently viewed articles, Commerce products or anything else that you've modeled as an Element in Craft, even custom Element types.
Google Maps API for Craft CMS 3
Bolden's free plugin for Google Maps server-side web services on Craft CMS 3.
Craft Youtube Live Embed
This plugin allows you to embed a YouTube live stream and/or live chat on your webpage.
Craft Element Status Events
Triggers events whenever element statuses change in Craft CMS. This module is born out of the Craft Coding Challenge #6 mentioned earlier in this issue.
It’s not Craft, but it’s interesting.
Jetpack 🚀– webpack made more convenient.
Jetpack wraps webpack to create a smoother developer experience. Jetpack can be used instead of webpack, webpack-cli, webpack-dev-server and webpack-dev-middleware without writing any configuration. Jetpack is a thin wrapper around webpack and can be extended with any of the webpack configurations.
Can my website keep working without any changes?
PHP, talk of operating systems, and security updates aren’t exactly the most exciting part of what we do, but it’s critical in keeping everything working correctly.
Git Your SQL Together (with a Query Library)
Good idea. Extending this into the Craft realm could include libraries of handy Twig macros.
Google Analytics Measurement Protocol library for PHP
Send data to Google Analytics from the server using PHP. Implements GA measurement protocol.
A sampling of Standard Agreements
I'm mentioned previously how amazing the shoptalk channel is in the Craft Slack group. (Not a member, get your invite for free here.)
Recently one of the group members has made the transition to working independently. That means you need contracts that an agency would have typically taken care of. The group came up with a variety of sample contracts and a link to a podcast episode on the subject. (FYI, you'll probably still want a lawyer to be sure you're doing things right.)
Ben Kamens, Breaking down Amazon's mega dropdown
Using cursor movement direction to anticipate which menu to load in Amazon's dropdown makes for a near-instantaneous response.