2021 - what an interesting year that was! While a global pandemic taught the entire real world a new way of life, the world of technology kept pushing along and kicking goals.
It was also the year of the birth of Winter CMS.
We certainly did not have the most auspicious start, being born out of a conflict that took the entire Winter maintainence team completely by surprise. However, it most certainly galvanised the team to regroup, reassess and work out what makes Winter CMS the best content management system available for the PHP ecosystem.
The progress has been somewhat slow, but steady. While some major life changes have occurred in the maintainer team; with new homes, new family members, and new jobs certainly having an effect on the speed of the project - a part of it can also be attributed to the belief that Winter is one of the most stable, feature-rich platforms on the web. Thus a great deal of the work that took place over this past year was creating and stabilising the foundation behind-the-scenes and laying the groundwork for great things to come to fruition in this upcoming year.
That's not to say that we focused only on that this year. Let's take a look at what we were able to achieve in over the past year...
Winter achieved 12 new releases over the course of the past year - 1 major release for the 1.2 branch, 7 releases for the 1.1 branch and 4 security releases for 1.0 branch. See https://wintercms.com/releases for more details.
In total, this represents over 1,000 commits from over 50 different contributors, totalling over 130,000 lines of changes across the Winter platform and Storm library.
In the past year, Winter has been able to attain over 54,000 installs through Composer and ~1,000 stars on GitHub. The Discord channel, started shortly after the fork from October CMS occurred, now stands at an impressive 833 member count, with heaps of healthy discussion happening frequently throughout the year.
One of the biggest tenets of Winter is "community" - we want to involve the community every step of the way if the Winter story, and the great news is that the numbers show that the community has rallied together behind this goal, regardless of the loss of the established name and pedigree of our former project.
We give our thanks to each and every one of you that downloads and uses Winter, or submits issues and pull requests to Winter and our first-party plugins, or gets involved in discussions and gets our name out there. You have our heartfelt gratitude for a big year!
Having to start again from the ground-up on our marketing offered us the chance to give online presence and documentation a much needed facelift. So one of the first goals we aimed for was to develop the website that you are now reading this article from, to establish our name and brand and get the word out.
The new website emphasised the huge amount of benefits of using Winter for your projects, with clear advantages for designers, developers and clients alike. It allowed us the chance to promote the goals that we wanted everyone to know, and to that end, we believe it has been a resounding success.
A particular thorn in our side from the former framework was that the documentation frequently fell behind the actual development. With the new website, the documentation is now updated immediately after changes are made to the documentation repository, allowing the community to propose changes to the documentation and see the fruits of their labour almost immediately. This proved useful as we made several important updates to the documentation over the course of the year, including reformatting sections of the documentation, adding a high level overview of Winter's architecture & overall design, implementing a robust search solution, documenting some previously undocumented features and functionality in Winter and, with the help of community members, improving translation support and wording.
Our release changelog got extra attention to provide the information that developers would want to know when upgrading their projects. Gone are the one-line update notes - now you get the entire picture of what each new release brings to the table along with links that take you directly to the changes between each version.
Our web based installation method got special attention this year. Serving as the first impression for many users of Winter, we realised very early on that we needed to rewrite our installer to give the best possible introduction to Winter in the world of the modern web.
The Winter team has been very interested in pursuing the world of Vue for front-end functionality and user interface design, like our foundation framework Laravel before us, so we decided to write the new web installer like a web app. The new interface is sleek, guides you through the entire process while keeping things simple, asking only for the minimum amount of input in order to get your new Winter installation off the ground.
One particular aspect of the new Installer is, in our opinion, a game changer. Traditionally, as with our former project, using the web installer required a pregenerated "build" of the CMS to be delivered and used for the new installation. This build contained all the files to get the CMS running, including all the dependencies that one would get if they use Composer, similar to other CMS platforms like WordPress. While this worked for a time, we wanted consistency - how could we get the web installer to give the power of Composer to manage and install dependencies, but still allow it to be usable in the web and not through the command-line?
Enter Packager, a new library by the Winter team that harnesses the power of Composer, but runs entirely within a PHP application, even over the web. With the Packager library, we can download and install all dependencies with the web installer, even on shared or strictly-controlled hosts that may not provide command-line access to their users.
Shared-hosting users also can install Winter CMS through Softaculous, which is generally available on most cPanel hosting service providers, providing an even simpler way of installing Winter CMS on these platforms, with a minimum of fuss.
Winter CMS is very focused on providing the best developer experience (and thus overall productivity). As such, we spent a significant amount of time improving existing and building new developer-focused features that are designed to make building projects on Winter even faster and easier than ever before.
Just some of the enhancements we've made over the past year to the Developer Experience include the following:
create:theme
command.winter:test
command that makes it easy to start testing your pluginswinter
CLI tool that amps up developer productivityWe have made numerous improvements to Winter CMS over our first year of existence while also working on the foundations behind-the-scenes - all in the name of keeping the codebase stable. See the v1.2 Release Note for a more complete list of the many changes and improvements that we have been working hard to deliver to our community.
We look forward to what the next year of Winter looks like and hope you do too! Take a look at our Roadmap to get an idea of just some of the awesome things we have on the go and planned for development later this year.
Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!