All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #155 adds $app typehinting in routes and pipeline config.
-
#160 switches to PSR-11 container references.
-
#153, #163 simplifies method of checking for static file requests.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #178
fixes the installer to work with the most recent zend-stratigility releases
by pinning http-interop/http-middleware to
^0.4.1
and zendframework/zend-expressive to^2.0.5
; without these changes, installation was leading to exceptions and partial installation previously.
- Nothing.
- #151
updates the following dependencies to use their newly released stable 1.0
branches:
- zend-config-aggregator
- zend-component-installer
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Updated select dependencies to latest patch releases:
- zend-component-installer: 0.7.1 (fixes issue with
ConfigProvider
detection) - zend-expressive-platesrenderer: 1.3.1 (fixes issue with
UrlExtension
's$fragmentIdentifier
default value) - zend-expressive-tooling: 0.4.1 (brings in
expressive
binary, with itsmiddleware:create
command)
- zend-component-installer: 0.7.1 (fixes issue with
- Nothing.
- #146 removes
obsolete
raise_throwables
key from default config.
- Nothing.
- Nothing.
-
#141 changes the reference to the
DefaultDelegate
inconfig/autoload/dependencies.global.php
to be a string instead of using::class
notation. Using a string name makes it clear the service is not a concrete class or interface name. -
#143 updates dependencies to pick up the Expressive 2.0.2 release, zend-expressive-helpers 4.0 release, and renderer releases related to the helpers 4.0 release.
- Nothing.
- Nothing.
- Nothing.
-
#54 adds zfcampus/zf-development-mode as a development dependency, and places the application into development mode during initial installation. This allows production applications to be configured out-of-the-box with features such as configuration caching.
A new tool, invokable via
composer clear-config-cache
, allows you to clear the configuration cache programmatically from the command line if necessary. Toggling development mode also clears the configuration cache.Development mode commands include:
composer development-enable
composer development-disable
composer development-status
composer clear-config-cache
-
#124 adds the ability to select the initial application structure from one of the following options:
- Minimal (no default routes, middleware, or assets)
- Flat (default routes and assets;
src/
directory is assumed to be library code) - Modular (default routes and assets;
src/
directory contains application modules)
#138 updated the logic when creating a modular structure to also inject zendframework/zend-expressive-tooling as a development requirement, as it provides the tools:
./vendor/bin/expressive-module create <modulename>
(create and activate a new module in your application, including composer autoloading rules)./vendor/bin/expressive-module register <modulename>
(register an existing module with your application, including composer autoloading rules)./vendor/bin/expressive-module deregister <modulename>
(deregister an existing module from your application, including composer autoloading rules)
-
#54 updates the shipped
config/config.php
to leverage zend-config-aggregator for purposes of aggregating configuration. This change allows the use of third party "modules" (packages providing aConfigProvider
class that returns configuration on invocation) with the skeleton. Additionally, this update now adds zend-component-installer as a development requirement, which allows packages to declare if they have a configuration provider, and then prompt you as to whether or not you want it registered in your application. -
#54 updates the skeleton to default to a programmatic pipeline. This results in the following:
- Removal of the
config/autoload/middleware-pipeline.global.php
file. - Addition of a
config/pipeline.php
file, containing the various application calls necessary to build your application pipeline; this file may be edited to suit your application. - Removal of any routing configuration from the
config/autoload/routes.global.php
file. Routes are now defined inconfig/routes.php
using programmatic statements instead. You may add as many routes as you desire to this file, segregate them into multiple files, or even add them via delegator factories on theApplication
instance.
- Removal of the
-
#54 updates the following dependencies:
- zend-expressive-router to
^2.0
- zend-expressive-helpers to
^3.0.1
- zend-expressive-aurarouter to
^2.0
- zend-expressive-fastroute to
^2.0
- zend-expressive-zendrouter to
^2.0
- zend-expressive-platesrenderer to
^1.2
- zend-expressive-twigrenderer to
^1.2.1
- zend-expressive-zendviewrenderer to
^1.2.1
- zend-expressive-router to
-
#120 switches the order of questions in the installer, to prompt for the container to use first. This will allow some optimizations for some third-party container systems such as Disco.
-
#132 modifies which file the installer writes Whoops configuration to when selected. Previously, it wrote it to
config/autoload/local.php
; it now writes it toconfig/autoload/development.local.php.dist
, allowing enabling/disabling the Whoops integration via thezf-development-mode
tooling. -
#130 changes the structure of
public/index.php
slightly. In order to prevent creation of new globals, it now creates and calls a closure around creation of the container, retrieval of the application, registration of the pipeline and routes, and execution of the application.
- Nothing.
- #110 removes the global config array to ArrayObject conversion for all containers except Aura.Di.
- Nothing.
- Nothing.
- Nothing.
- #127 removes PHP 5.5 support.
- #127 registers the missing TwigEnvironmentFactory which was introduced in zend-expressive-twigrenderer 1.2.0. Not having this factory registered causes a deprecation message.
- #113 removes leftover skeleton files.
- #118 removes CHANGELOG.md, CONDUCT.md and CONTRIBUTING.md after setup.
- Nothing.
- Nothing.
-
#93 adds support for Pimple "extensions" (
$pimple->extend()
) via thedependencies
sub-keyextensions
, as follows:return [ 'dependencies' => [ 'extensions' => [ SomeClass::class => ExtendingFactory::class, ], ], ];
-
#93 adds support to the Pimple container script to allow wrapping
delegators
(delegator factories from zend-servicemanager) as anonymous Pimple extensions.
- Nothing.
- #102 removes the development dependendy on ocramius/proxy-manager, as it is not required.
- #91 fixes the Pimple factory caching to work correctly with invokable classes used as factories.
- #95 fixes
the prompt for a minimal install to ensure that only
n
andy
(or uppercase versions of each) are valid answers, looping until a valid answer is provided. - #101
removes filp/whoops from the
composer.json
prior to prompting the user for packages to install, ensuring it does not remain if a user selects a minimal install or to not use whoops for development. - #109 adds comprehensive, granular tests covering all functionality of the installer, raising coverage from 40% to 100%.
- Nothing.
- Nothing.
- Nothing.
- #85 updates the Aura.Di dependency to stable 3.X versions.
- #88
modifies the installer to remove
composer.lock
from the.gitignore
file during initial installation. - #89 updates the zend-stdlib dependency to allow usage of its v3 series.
- Nothing.
- Nothing.
- Nothing.
- #53 updates the default Pimple container script such that it now caches factory instances for re-use.
- #72
updates the
composer.json
to remove the possibility of installing an Expressive RC version, updates zend-servicemanager to allow using 3.0 versions, and updates whoops to allow either 1.1 or 2.0 versions. - #80 updates the default ProxyManager constraints to also allow v2 versions.
- #81 fixes an issue in the installer whereby specified constraints were not being passed to Composer prior to dependency resolution/installation, resulting in stale dependencies.
- #78 updates the shipped default error templates to remove error/exception display. Users who really need this functionality can write their own templates; the project aims to deliver a "safe by default" setting.
First stable release.
- Nothing.
- Nothing.
- Nothing.
- #69 updates the links in templates to point to the new documentation site on https://zendframework.github.io/zend-expressive/ instead of rtfd.org.
Eighth release candidate.
- Nothing.
- Nothing.
- Nothing.
- #66
adds the
'error' => true,
declaration to the'error'
pipeline middleware specification. - #67
updates the
filp/whoops
dependency for installer development to^1.1 || ^2.0
; the two are compatible for our use cases, but we should prefer the latest that can be installed. As 2.0 requires PHP 5.5.9, but our minimum PHP version is 5.5.0, we must specify both.
Seventh release candidate.
- Nothing.
- Nothing.
- Nothing.
- #64
fixes the installer script to correctly rewrite the
require-dev
section and ensure only the development dependencies selected, as well as base requirements such as PHPUnit and PHP_CodeSniffer, are installed. As such, the--no-dev
flag is no longer required, and development dependencies such as whoops are properly installed.
Sixth release candidate.
- Nothing.
- Nothing.
- Nothing.
- #56
updates the
composer serve
command to include thepublic/index.php
script as an argument. This ensures that asset paths that the application could intercept and serve will be passed to the application (previously, the built-in server would treat these as 404s, and never pass them to the application). - #57
updates the Apache configuration rules defined in
public/.htaccess
to omit several that could prevent the application from intercepting requests for assets. - #52
fixes the switch statement in the
HomePageAction
class to ensure the template name and documentation link are accurately found. - #59
updates the
config/container.php
implementation for zend-servicemanager such that it can work with either v2 or v3 of that library. - #60
updates the zend-expressive-helpers dependency to
^2.0
, and updates theconfig/autoload/middleware-pipeline.global.php
to follow the changes in middleware configuration introduced in zend-expressive #270. The change introduces convention-based keys for "always" (execute before routing), "routing" (routing, listeners that act on the route result, and dispatching), and "error", with reasonable priorities to ensure execution order. - #60
fixes the documentation for
composer create-project
to include the--no-dev
flag; this is done as composer currently installs the development dependencies listed before the installer script rewrites thecomposer.json
file. Runningcomposer update
orcomposer install
within the project directory after the initial installation will install the development dependencies.
Fifth release candidate.
- Nothing.
- Nothing.
- Nothing.
- #42 fixes some grammatical issues in the questions presented by the installer.
- #45 fixes how JS and CSS assets are added to zend-view templates.
- #48
adds unit tests for the
OptionalPackages
class (which provides the Composer installer scripts). - #49 updates the Pimple support to Pimple v3, ensuring Pimple users are using the latest stable release.
Fourth release candidate.
- #34
updates the zend-view configuration to register a factory for
Zend\View\HelperPluginManager
, as well as aview_helpers
sub-key for registering custom view helpers. - #37
creates the subdirectories
src/App/
andtest/AppTest/
, moving the subdirectories of each under those, and updating thecomposer.json
autoloading directives accordingly. This change will allow new projects to implement a "modular" structure if desired, with a subdirectory per namespace. - #41 adds
the composer script "serve", which fires up the built-in PHP webserver on port
8080; invoke using
composer serve
.
- Nothing.
- Nothing.
- #23 updates the comment for the glob statements to ensure all 4 (not just 2!) possible matches are detailed.
- #24
updates the
config/config.php
file to store cached configuration as a plain PHP file, so that it can simplyinclude()
; this will be faster than using JSON-serialized structures. - #30 updates the Twig configuration to follow the changes made for zendframework/zend-expressive-twigrenderer 0.3.0. The old configuration format will still work, though users should update their configuration to the new format. The change in this patch only affects new installs.
- #33
updates to zendframework/zend-expressive-helpers
^1.2
. - #33 adds
configuration for auto-registering the new
Zend\Expressive\Helper\UrlHelperMiddleware
as pipeline middleware; this fixes an issue when using the zend-view renderer with theurl()
helper whereby theUrlHelper
was being registered as a route result observer too late to receive theRouteResult
. - #40
renames the namespace for the installer to
ExpressiveInstaller
.
Third release candidate.
- #20 adds the ability to specify a "minimal" install; when selected, the installer will install modified configuration, omit some files, and remove the default middleware and public assets.
- #27 adds zendframework/zend-expressive-helpers as a dependency, and integrates the helpers into the configuration.
- Nothing.
- Nothing.
- #13 updates the installer to also remove the dependency on composer/composer on completion.
- #11 moves the route middleware service definitions into the routes configuration files.
- #21
updates
require
statements in generated configuration files to use the__DIR__
constant to ensure files are located relative to the origin file. - #25 and
#29
update minimum versions for each router and template implementation (final
versions for RC3 are all at
^1.0
). - #29 sets
the zend-expressive required version to
~1.0.0@rc || ^1.0
, to ensure a stable version is always installed.
Second release candidate.
- Nothing.
- Nothing.
- Nothing.
- Updated expressive to RC2.
- Updated subcomponent versions in installer to
^0.2
First release candidate.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #8 adds a
routine to the installer that recursively removes the
src/Composer/
directory of the skeleton, ensuring you have a clean start when creating a project.
- Nothing.
- Nothing.
- Nothing.
- #7 adds a dependency on zend-stdlib for the purposes of globbing and merging configuration.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #6 updates the zendframework/zend-view package configuration to remove the dependency on zendframework/zend-i18n, as it is now handled in the standalone zend-expressive-zendviewrenderer package.
- Nothing.
- Nothing.
- Nothing.
- #3 updates the skeleton to use zendframework/zend-expressive 0.4.0.
First release as zend-expressive-skeleton.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Use zend-expressive template factories.
- Use the zend view url helper in the layout template.
- Nothing.
- Nothing.
- Nothing.
- #bbb2e60 adds PHPUnit tests.
- #791c1c6 adds Whoops error handler.
- e1d8d7bf adds config caching in production mode.
- Nothing.
- Nothing.
- Nothing.
- #b4a0923 adds support for Pimple 3.0.x. Still needs testing!
- Nothing.
- Nothing.
- #11 fixes an issues where non stable packages are not being installed correctly.
Initial tagged release.
- Everything.
- Nothing.
- Nothing.
- Nothing.