Sculpin 3.0.0
Sculpin 3 is here!
It's been a long time coming, but thanks to the intrepid efforts of many contributors, Sculpin 3 is finally here.
This new release brings the project a bit more in line with modern PHP features and introduces some new commands and parameters.
Shout out to the following folks for all of their contributions - thanks for your help!
- lex111 (Alexey Pyltsyn)
- Xerkus (Aleksei Khudiakov)
- GawainLynch (Gawain Lynch)
- dbu (David Buchmann, from Liip)
- ChristianRiesen (Christian Riesen, from Liip)
New in Sculpin 3:
- Supports PHP 7.2 and higher!
- Initialize a bare-bones set of
source/
files using the newinit
command - The
generate
command now supports--source-dir
and--output-dir
parameters - Create custom content types with the new
content:create
command- Generates a very basic skeleton of templates
- Supports defining custom taxonomies (such as
tags
orcategories
or any other categorizations you need)
However, there are some changes that affect backwards compatibility.
- PHP 7.2 is the minimum PHP version that Sculpin 3 will run on
- Some new return typehints may require custom bundles to have
their method signatures updated. - A number of core classes are now
final
and some methods have been
moved toprotected
andprivate
to help reduce the code's
complexity.
- Some new return typehints may require custom bundles to have
- Changes to the
symfony/yaml
component mean that certain YAML front
matter values will need to be enclosed in quotes, particularly if they
contain colons.- Sculpin should be quite verbose when this happens.
- Changes to pagination mean that certain URLs, such as
"/blog/page/2.html", will change to a folder (e.g., "/blog/page/2/").- A gist can be found here with a concept for providing HTML-based
redirects for legacy pagination files: https://gist.github.com/beryllium/a1b0be7b603486f5e39f869db8ff3484
- A gist can be found here with a concept for providing HTML-based
- Bundles that write to the
sculpin.output_dir
parameter should be
updated to use thesculpin.writer
service instead, in order to
respect the--output-dir
parameter.
Also, the Sculpin Blog Skeleton has begun being modernized, and the
first stage of this involves setting things up with Yarn and Encore and
Webpack instead of the previous solution for assets.
If you encounter issues with the new release or have suggestions, please
use GitHub Issues or the
comments below.
Enjoy!