Skip to content

Sculpin 3.0.0

Compare
Choose a tag to compare
@beryllium beryllium released this 10 Apr 04:36

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!

New in Sculpin 3:

  • Supports PHP 7.2 and higher!
  • Initialize a bare-bones set of source/ files using the new init 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 or categories 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 to protected and private to help reduce the code's
      complexity.
  • 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/").
  • Bundles that write to the sculpin.output_dir parameter should be
    updated to use the sculpin.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!