More information about the releases.
- New Fixed the PHP minimum version to 7.4 in
- New Added the supporting class
Filesystem. It is an extension of Symfony Filesystem component with a method for reading the content of files.
- Improved Updated Symfony components to 4.4.
- Improved Updated Twig to 3.0.
- Improved Updated "michelf/php-markdown" to 1.9.
- New Added class
DependencyResolver, a simple dependency resolver. It is useful for keeping tracks of inter-document dependencies.
- Deleted The configuration option
layout_ext is not necessary anymore. Now, the option
text_extensions is used to recognize layouts files.
- Improved The class
FilesystemDataSource returns layout item identifiers without file extensions when they are unique. In case of name collision, the filename extension will be added.
- Fixed Now, Appveyor CI installs PHP and Composer using Chocolatey package system.
- New Dropped the support for PHP 5.5. The minimum version is 5.6.
- Fixed The
Spress-installer plugin is included in the
composer.json file when a new blank theme is created.
- Fixed Fixed an issue when loading layouts and includes of the current theme.
- Fixed Fixed an issue related with the presedence between the theme's assets and the site's assets.
- Fixed Bug #107 fixed: ".htaccess not being included in build".
- Fixed Fixed an issue related to the convertion to array of a
Finder class in
- Improved Updated
PluginManagerBuilder class with support for loading several plugins
from extra->spress_class attribute of a plugin's
- Improved Renamed some tests with a more descritive name.
- Improved Fixed some descriptions in commands.
- Improved Replaced the use of PHPUnit_Framework_TestCase class by TestCase.
- Improved Deleted the
.htaccess value from
include key of configuration files due to the fix #107.
- New Support for themes. See the new feature #98.
- New Package manager with the following new commands:
new:site command has been updated for scaffolding new sites using themes. See the new feature #96.
- New Allow default attributes on "pages" collection. See new feature #93.
- New New options for applying
avoid_renderizer feature to type of files and files belong to a path (relative to
src/content folder). See new feature #91.
- New Added a verbosity level param (optional) to the
write method of IOInterface.
- New Added verbosity and very-verbosity level messages to the
- New Added support for overwriting messages to the output in IOInterface.
- New Added support for ask choice questions in IOInterface.
- New Added the method
- New Updated to using Symfony 3.2 components.
- Improved The terms generated by TaxonomyGenerator for each item appears sorted.
- Fixed Avoid an error using
--force option of
new:site command over a
non-empty directory that contains "hidden" directories and files.
- Fixed Fixed a bug related with the "pagination generator" and the draft posts. See bug #101.
- Fixed Fixed the
askAndHideAnswer method of
ConsoleIO class to use the fallback argument.
- New Class
FileInfo has been added to the support classes set of the core.
- New New configuration value aimed to plugin manager builder for excluding directories in the disconvering class phase. Useful to avoid scaning test classes.
- Fixed Fixed the truncated
title_path attribute when the filename contains dots before the extension. More details in bug #88.
- Fixed The value of
title_path is not altered when it is parsed by
FilesystemDataSource class. More details in bug #88.
- Fixed If you set
preserve_path_title attribute to
true you will get the title parsed from the filename as-is (without the date part). Only
rawurlencode function is applied. See PR #90.
- New Two new methods have been added to
upper for converting a given string to lower-case and upper-case respectively using UTF-8 as encoding.
- Fixed Bug #80 has been fixed: "
Composer install fails if no namespace is specified in new plugin". See PR #81.
- Fixed Bug #82 has been fixed: "Substr
--- in yaml string cause builder crash".
- Fixed Bug #83 has been fixed: "Same tags on different languages cause builder crash".
- Fixed Bug #78 has been fixed: "/:basename permalink variable contains
.html when using
*.html.twig". Related with feature #73.
- Fixed Bug #79 has been fixed: "Error loading plugin's dependencies with -s option at site:build command".
- Improved Clarified the message when
site:build command is invoked against a non Spress site folder.
- New Support for calling to an existing command inside a command plugin. The
CommandEnvironmentInterface interface has been added and
CommandPluginInterface has been updated with
getCommandEnvironment methods. See feature #77.
- New Sort items of a collection. See feature #67.
- New Support to extends TwigRenderizer with tags. See PR #65.
- New Each item of a sorted collection has
prior relationships. At compile time, you have access to these through
page.relationships.prior variables. See feature #69.
- New Relationship collection for items. A new class has been added:
RelationshipCollection. A new method getRelationshipCollection has been added to
MirrorConverter class has been replaced by
MapConverter. See feature #73. Fixed ticket: #28 "Support .twig extention".
- New Added
ItemCollection class to Core support classes.
- New Added
getCollections method in
- New Added
countConverter methods in
- Improved Improved permalinks customizations. See PR #64.
- Improved Eliminated unnecessary calls to
setItem method of
SiteAttribute class in
- Improved The methods for managing the collection of plugins in
PluginManager class have been moved to a
- Improved The methods for managing the collection of collection-item in
CollectionManager class have been moved to a
- Improved Clarified the error message in case of denied permissions when renaming the temporal file in
- Fixed Fixed the path available at
page.path variable. Prior to this version, this variable contains the relative path to
src/content/ but with the filename extension changed by the Converter. Now, the original filename extension isn't altered. A new path snapshot has been created in
PluginTester class has been added to the core for testing plugins easily.
- Fixed Fixed an issue with the content retrieved by
- Fixed A constant name of
ItemInterface has been changed:
- Improved Normalized the directory separator to '/' irrespective of the operating system.
- Improved Spresso theme updated to 2.0.1.
- Fixed Fixed the file's extension
twig.html in configuration files.
- Fixed Fixed the exception "A previous item exists with the same id" thrown by Taxonomy generator due to a key sensitive issue. A normalize method has been added. e.g: "news", "NEWS", " News " are the same term: "news".
- Fixed Fixed the namespace of
ConsoleIO class uses Symfony CLI styles.
- Improved 100% tests passed in HHVM.
- Fixed Renamed the package name
- Fixed Fixed a race condition with the
url attribute of items before dispatch
- Fixed Questions made by commands are using
- Fixed Fixed a bug with the built-in server by which a relative URL that contains a dot inside the trailing component throws a 404 not found error. e.g:
- Fixed Added a default value for
$fallback argument of
askAndHideAnswer methods in
- New Added MemoryDataSource, a datasource for generating dynamic content.
- New Support to sort items at
PaginationGenerator with attributes
sort_by and `sort_type. See #61.
- New Added
getGeneratorManager method to
EnvironmentEvent for managing generators at plugins.
- Improved Improved the way of generating the classname in PluginGenerator.
- Improved Minor changes over output styles.
- Improved Improved HttpServer with support to load internal resources (used with error page). Added a new hook:
handleOnAfterRequestFunction. Bootstrap file has been included for using with internal pages like error page.
- Improved Minor improvements over the Spress application output.
- Fixed Now,
slug method transform dot characters into dash characters.
- Fixed Fixed lifecycle: render phase starts after converter phase has been finished for all items.
- Fixed Changed the method
removeCollection in CollectionManager class.
PermalinkGenerator adds an initial slash if the permalink doesn't start with it.
AttributeValueException has been moved to
ConsoleIO passed to
spress.io key (DI container) when
- Fixed Updated
spress-installer version to ~2.0 at
- Fixed Fixed the message of the exception threw when a previous item exists.
ConfigValueException has been deleted.
- New Added a new converter for Markdown: ParsedownConverter. This converter is based on Parsedown by Emanuil Rusev. Deals with issue #40.
- New Added command plugins: a new kind of plugins witch provides subcommand for
spress executable. See #56.
- New Added
self-update command with an alias
selfupdate for keeping Spress up to date. See #60.
- New Taxonomy generator for grouping content around a set of terms. See #57.
- New Modified RenderizerInterface for throwing a
Yosymfony\Spress\Core\ContentManager\Renderizer\Exception\RenderException if an error occurred during redering the content. Method affected:
- New Added a new special attributte
avoid_renderizer for avoiding the renderizer phase over an item.
- Improved Additional autoload only be processed if exists a
composer.json file in the root of the site folder.
- Fixed The separator for tags and categories of
new:post command has been changed from space to comma. See issue #51.
- Fixed New template for spress plugin scaffold (
new:plugin command) - fixed for 2.0 release. See issue #55.
- Fixed The
setUp method of
FilesystemDataWriter removes the whole content of the output dir but VCS files. This means thatsite:build` command doesn't remove the VCS files.
- Deleted Deleted the
site:new alias for command
- New Data-sources: (issue #46) data sources can load site data from certain locations like filesystem or database.
- New Site structure (issue #41).
- New Data-writer (issue #44): The DataWriter's responsibility is to persist the content of the items.
- New Collections (issue #43): collections allow you to define a new type of document like page or post.
- New Generators (issue #45): Generators are used for generating new items of content.
- New These events
spress.after_convert receive a ContentEvent as an argument.
- New Renderizer (issue #48): Renderizer are responsible for formatting content.
- New List of new events:
spress.after_render_page. See #49.
- New Established PHP 5.5 as minimum version (see #42).
- New List of new configuration attributes:
- Improved Updated Symfony componentes to 2.7.
- Improved Updated Markdown parser (michelf/php-markdown) from Michel Fortin.
- Improved Updated built-in theme Spresso to 2.0.
- Deleted Methods
getSupportExtension of ConverterInterface have been deleted.
- Deleted TemplateManager class of plugin API.
- Deleted EnviromentEvent class.
- Deleted List of deleted events:
spress.after_render. See #49.
- Deleted List of configuration attributes (config.yml) deleted because they have been marked as deprecated:
- Improved Spresso theme updated to 1.1.1.
- Improved Dependencies have been updated.
- Fixed Bug #30: Adding source parameter to config appears to not do anything.
- Improved Support for exceptions during parsing a site with
--server and `--watch options.
config.yml is reloaded when rebuilding the site with watch mode enabled.
- Improved Spresso theme updated to 1.1.
- Improved Symfony components updated to 2.6.
- New variable:
server_watch_ext at global configuration.
- Fixed Default value for layout at new:post command assigned to null.
- Fixed Fixed questions for tags and categories in new:post command.
- Fixed Fixed new:post help message.
- Fixed Added validators for command options.
- Improved Performance of combination --server and --watch options improved.
- Improved Deleted unused variables.
- New Issue #17:
Twig debug mode through configuration.
- New Two new scaffolding commands:
- New Proposal #22: Namespace "new" in commands for creating stuff.
- Deprecated The command
site:new has been declared deprecated and replaced by
- New IO API useful for interacting with the users.
- New Proposal #9: Support for environment configuration files. New key
- New PR #12: Added ability to use multiple extensions on layouts.
- New Proposal #15: Built-in server and watch for changes.
- Fixed Issue #10: Classname with typo: EnviromentEvent. This class was replaced by EnvironmentEvent.
- Fixed PR #14: Changed Frontmatter regex pattern to allow for CRLF line endings.
- Improved Proposal #13: Split Spress into Spress Core and its ecosystem.
- Improved Replaces all uses of deprecated method mergeWith from ConfigServiceProvider by union method.
- Improved Proposal #11: Improve the plugins manager for writing plugins more easily.
- Improved Decoupled options for Plugin Manager.
- Improved PSR-4 for classloader.
- Improved Symfony components >= 2.4 and < 3 in
- Improved The default value for
url key at global configuration is empty-string.
- Improved Documentation fixes.
- Deprecated The configuration options:
relative_permalinks has been declared deprecated.
- Fixed bug #7: Error with Site Build.
- Improved Tested on PHP 5.6 (Travis CI).
- Fixed bug #6: Twig tags not rendered in posts located at variable
- Fixed bug #6 with variables
- Improved Variables site.categories and site.tags have page-identifier as index of array.
- Improved Base implementation of ContentItemInterface created at ContentItem. The classes PageItem and PostItem extend from this.
- New events related with pagination phase (issue #3): spress.before_render_pagination and spress.after_render_pagination.
- Improved Payload argument of Render method (plugins TemplateManager) is optional.
- Improved pagination phase of posts.
- Fixed bug #4: UrlGenerator always has ending slash.
- Fixed the class loader path when Spress is installed as package.
- New Added template manager to the API plugins for rendering Twig templates (accessible from spress.start event).
- Improved the class loader of the site plugins.
- Fixed documentation
- New Support to Composer for spress site plugins.
- New Install themes with Composer.
- New Generate composer.json in a blank site.
- Improved the search of folders that starting with underscore.
- Fixed the documentation.
- Deleted Spresso theme. Now is a package.