Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Commit

Permalink
Merging develop to master in preparation for 3.0.0 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
weierophinney committed Mar 15, 2018
2 parents 0ba2a8c + c4dbe2b commit 17b3479
Show file tree
Hide file tree
Showing 81 changed files with 1,238 additions and 1,295 deletions.
41 changes: 10 additions & 31 deletions .travis.yml
Expand Up @@ -5,7 +5,6 @@ language: php
cache:
directories:
- $HOME/.composer/cache
- vendor

env:
global:
Expand All @@ -14,58 +13,38 @@ env:

matrix:
include:
- php: 5.6
env:
- DEPS=lowest
- php: 5.6
env:
- DEPS=latest
- php: 7.0
- php: 7.1
env:
- DEPS=lowest
- php: 7.0
- php: 7.1
env:
- DEPS=latest
- php: 7.1
- CS_CHECK=true
- PHPSTAN_CHECK=true
- TEST_COVERAGE=true
- php: 7.2
env:
- DEPS=lowest
- CS_CHECK=true
- php: 7.1
- php: 7.2
env:
- DEPS=latest
- TEST_COVERAGE=true
- php: hhvm
allow_failures:
- php: hhvm

before_install:
- if [[ $TEST_COVERAGE != 'true' ]]; then phpenv config-rm xdebug.ini || return 0 ; fi
- travis_retry composer self-update

install:
- if [[ $DEPS == 'latest' ]]; then travis_retry composer update $COMPOSER_ARGS ; fi
- if [[ $DEPS == 'lowest' ]]; then travis_retry composer update --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi
- if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi
- travis_retry composer install $COMPOSER_ARGS
- if [[ $DEPS == 'lowest' ]]; then travis_retry composer update $COMPOSER_ARGS --prefer-lowest --prefer-stable ; fi
- if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi
- composer show
- stty cols 120 && composer show

script:
- if [[ $TEST_COVERAGE == 'true' ]]; then composer test-coverage ; else composer test ; fi
- if [[ $CS_CHECK == 'true' ]]; then composer cs-check ; fi
- if [[ $PHPSTAN_CHECK == 'true' ]]; then vendor/bin/phpstan analyze -l max -c ./phpstan.installer.neon ./src ./config ; fi

after_script:
- if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry vendor/bin/php-coveralls -v ; fi

notifications:
email: false
irc:
channels:
- "irc.freenode.org#zftalk.dev"
on_success: change
on_failure: always
slack:
rooms:
- secure: "oXoAIyDcnMUvtEKJmMkPzFTW81vwYuZPR4AFxOJvEFV+azeDMi8wmxUCEtde3qa9FhPfOw6uA7Xte3gsomyE5ozcRYHuSgmXQ62a6FnWCQ6Mxk3ZqV1cAtYDkDg38IUyKN9VibuLYocwC7VP65cwNRzYa+csUGOWpyI9TI0hdusPBdwy4ym1uNhkdTVDkDJnIjQaFOvEMc/5QXFIT+yWeqrzS91MUFQYJ/h5O1n9HjYfA2Z/Y6Q0lBQ0qg/vQQkmsIy5KMGDF5re8Tq/sCIEJCrHvt0O0/OwctUkXSk0oiDnocJZEKqdUsHd3umFt3tlqEqY/jRJzH9cXrhKjalv2Bo0xTNGBrsSulrhKnQgfBjHCAsBui6bYgSCzdi/g48/J6JHQc8mkT62dUccUoDK8em5PUBn8dRm+3d8h7nqFF9jxcvgiOtcahiQ2KNCm/Sq8/l8EFdxFC1cUcl8tz/+MyOmJZf2a+dFsDMsyAGtl2dxIRw5dBtdSobC7Q+A8bYo/fYGqfAFRKZUgmphgVtV5NlA0vNMpvxYSFQLnTrTM3T/z7bIQ5u+urARxIhOMvS38Qx7LnFpgjCtThMEQODGEqjfqkg2UTwL4hyRVRprdaZM/ooaNbDZ6sHazWw4tz3RxT48gjXlMi1wDrh8/MxFydfAmexsw3ry++phv6ORev4="
on_success: change
on_failure: always
146 changes: 146 additions & 0 deletions CHANGELOG.md
Expand Up @@ -2,6 +2,152 @@

All notable changes to this project will be documented in this file, in reverse chronological order by release.

## 3.0.0 - 2018-03-15

### Added

- [#185](https://github.com/zendframework/zend-expressive-skeleton/pull/185),
[#200](https://github.com/zendframework/zend-expressive-skeleton/pull/200)
adds PSR-15 support.

- [#161](https://github.com/zendframework/zend-expressive-skeleton/pull/161)
adds support for Auryn to be used as a container via a wrapper.

- [#182](https://github.com/zendframework/zend-expressive-skeleton/pull/182)
adds Symfony DI container support.

- [#212](https://github.com/zendframework/zend-expressive-skeleton/pull/212)
adds the Composer script "expressive", which will invoke the "expressive"
command from the zend-expressive-tooling package:

```bash
$ composer expressive help
```

- [#215](https://github.com/zendframework/zend-expressive-skeleton/pull/215)
adds packages to the zend-component-installer whitelist to prevent prompts for
configuration provider injection.

- [#224](https://github.com/zendframework/zend-expressive-skeleton/pull/224)
adds notifications for whitelisted packages.

- [#238](https://github.com/zendframework/zend-expressive-skeleton/pull/238)
adds links to documentation for the specific container installed to the
shipped home page.

### Changed

- The skeleton now requires zend-expressive 3.0; for detailed changes, see the
[zend-expressive 3.0.0 changelog](https://github.com/zendframework/zend-expressive/releaes/3.0.0).

- [#212](https://github.com/zendframework/zend-expressive-skeleton/pull/212)
makes the zend-expressive-tooling package an explicit development requirement;
it is no longer an optional package.

- [#213](https://github.com/zendframework/zend-expressive-skeleton/pull/213)
updates how the `routes.php` and `pipeline.php` files are defined. They now
return anonymous functions with the following signature:

```php
function (
Zend\Expressive\Application $app,
Zend\Expressive\MiddlewareFactory $factory,
Psr\Container\ContainerInterface $container
) : void
```

The `public/index.php` file now does the following:

```php
$app = $container->get(\Zend\Expressive\Application::class);
$factory = $container->get(\Zend\Expressive\MiddlewareFactory::class);
(require 'config/pipeline.php')($app, $factory, $container);
(require 'config/routes.php')($app, $factory, $container);
```

This approach allows users to pull other dependencies as needed, without
cluttering the global namespace, and to use the `MiddlewareFactory` features
along with features such as the `Zend\Stratigility\path()` and `host()`
utility methods.

- [#214](https://github.com/zendframework/zend-expressive-skeleton/pull/214)
renames the shipped "Action" namespace and classes to use the verbiage
"Handler" (for consistency with PSR-15), and be implemented as PSR-15
`RequestHandlerInterface` implementations.

- [#197](https://github.com/zendframework/zend-expressive-skeleton/pull/197)
updates `public/index.php` to remove `call_user_func()` in favor of direct
callable invocation (e.g., `(function () { /* ... */ })()`).

- [#177](https://github.com/zendframework/zend-expressive-skeleton/pull/177)
moves Aura.Di and Pimple container configuration to separate repositories.

- [#201](https://github.com/zendframework/zend-expressive-skeleton/pull/201)
updates the default assets to Bootstrap 4, jQuery 3.3.1 and Font-Awesome 5.

- [#202](https://github.com/zendframework/zend-expressive-skeleton/pull/202),
[#205](https://github.com/zendframework/zend-expressive-skeleton/pull/205)
uses ConfigProviders to setup components. To make sure all ConfigProviders
are loaded you need to answer yes to all inject
`Zend\<component>\ConfigProvider` questions or do this once and select for
all other packages.

- [#199](https://github.com/zendframework/zend-expressive-skeleton/pull/199)
moves the location of the configuration cache from `data/config-cache.php` to
`data/cache/config-cache.php`. Since the shipped `composer clear-config-cache`
script and zf-development-mode both use the `$config['config_cache_path']`
setting to determine where the cache file lives, this should have no bearing
on normal, documented usage.

- [#219](https://github.com/zendframework/zend-expressive-skeleton/pull/219)
updates templates such that all example assets (css, images, and javascript)
are now loaded from remote urls.

- [#226](https://github.com/zendframework/zend-expressive-skeleton/pull/226)
renames the factory class `App\Handler\HomePageFactory` to
`App\Handler\HomePageHandlerFactory` to reflect the name of the class it
generates.

- [#231](https://github.com/zendframework/zend-expressive-skeleton/pull/231)
simplifies how zend-servicemanager instances are generated, dropping v2 syntax
in favor of a configuration-driven v3 syntax.

### Deprecated

- Nothing.

### Removed

- [#183](https://github.com/zendframework/zend-expressive-skeleton/pull/183)
removes support for PHP versions prior to PHP 7.1.

- The `zend-expressive.programmatic_pipeline` configuration flag is removed from
`config/autoload/zend-expressive.global.php`, as it is no longer used anywhere.

### Fixed

- [#216](https://github.com/zendframework/zend-expressive-skeleton/pull/216)
updates the `composer serve command to read `php -S 0.0.0.0:8080 -t public/`.
This command has been tested to work across a variety of platforms, including
Windows, macOS, and Linux. However, for Linux users, the command will fail on
PHP versions prior to 7.1.14 and 7.2.2, due to a language bug. If you are
using an affected PHP version, you will need to manually start the PHP
built-in server using the comand `php -S 0.0.0.0:8080 -t public/ public/index.php`.

- [#195](https://github.com/zendframework/zend-expressive-skeleton/pull/195)
fixes unwanted installation of every dependency when installing a dev version
of the skeleton.

- [#235](https://github.com/zendframework/zend-expressive-skeleton/pull/235)
changes the order of pipeline middleware to place the entry for the
`MethodNotAllowedMiddleware` after both the `ImplicitHeadMiddleware` and
`ImplicitOptionsMiddleware` entries; this is done to ensure it does not
intercept HEAD and OPTIONS requests when it should not.

- [#237](https://github.com/zendframework/zend-expressive-skeleton/pull/237)
adds an exclusion to `.gitignore` for the file `data/cache/.gitkeep`, ensuring
the directory is checked in to new projects.

## 2.2.0 - 2018-03-12

### Added
Expand Down
2 changes: 1 addition & 1 deletion CONDUCT.md → CODE_OF_CONDUCT.md
@@ -1,6 +1,6 @@
# Contributor Code of Conduct

The Zend Framework project adheres to [The Code Manifesto](http://codemanifesto.com)
This project adheres to [The Code Manifesto](http://codemanifesto.com)
as its guidelines for contributor interactions.

## The Code Manifesto
Expand Down
69 changes: 14 additions & 55 deletions CONTRIBUTING.md
Expand Up @@ -2,37 +2,16 @@

## RESOURCES

If you wish to contribute to Zend Framework, please be sure to
If you wish to contribute to this project, please be sure to
read/subscribe to the following resources:

- [Coding Standards](https://github.com/zendframework/zf2/wiki/Coding-Standards)
- [Contributor's Guide](CONTRIBUTING.md)
- ZF Contributor's mailing list:
Archives: http://zend-framework-community.634137.n4.nabble.com/ZF-Contributor-f680267.html
Subscribe: zf-contributors-subscribe@lists.zend.com
- ZF Contributor's IRC channel:
#zftalk.dev on Freenode.net
- [Coding Standards](https://github.com/zendframework/zend-coding-standard)
- [Forums](https://discourse.zendframework.com/c/contributors)
- [Slack](https://zendframework-slack.herokuapp.com)
- [Code of Conduct](CODE_OF_CONDUCT.md)

If you are working on new features or refactoring [create a proposal](https://github.com/zendframework/zend-expressive-skeleton/issues/new).

## Reporting Potential Security Issues

If you have encountered a potential security vulnerability, please **DO NOT** report it on the public
issue tracker: send it to us at [zf-security@zend.com](mailto:zf-security@zend.com) instead.
We will work with you to verify the vulnerability and patch it as soon as possible.

When reporting issues, please provide the following information:

- Component(s) affected
- A description indicating how to reproduce the issue
- A summary of the security vulnerability and impact

We request that you contact us via the email address above and give the project
contributors a chance to resolve the vulnerability and issue a new release prior
to any public exposure; this helps protect users and provides them with a chance
to upgrade and/or update in order to protect their applications.

For sensitive email communications, please use [our PGP key](http://framework.zend.com/zf-security-pgp-key.asc).
If you are working on new features or refactoring
[create a proposal](https://github.com/zendframework/zend-expressive-skeleton/issues/new).

## RUNNING TESTS

Expand All @@ -41,7 +20,7 @@ To run tests:
- Clone the repository:

```console
$ git clone git@github.com:zendframework/zend-expressive-skeleton.git
$ git clone git://github.com/zendframework/zend-expressive-skeleton.git
$ cd zend-expressive-skeleton
```

Expand All @@ -54,13 +33,7 @@ To run tests:
**NOTE:** Without the `--no-scripts` flag, composer will invoke the installer,
which in turn will remove itself when complete.

If you don't have `curl` installed, you can also download `composer.phar` from
https://getcomposer.org/:

```console
$ curl -sS https://getcomposer.org/installer | php --
$ ln -s composer.phar composer
```
If you don't have `composer` installed, please download it from https://getcomposer.org/download/

- Run the tests using the "test" command shipped in the `composer.json`:

Expand All @@ -83,12 +56,11 @@ section on running tests.
To run CS checks only:

```console
$ composer cs
$ composer cs-check
```

To attempt to automatically fix common CS issues:


```console
$ composer cs-fix
```
Expand All @@ -102,12 +74,12 @@ Your first step is to establish a public repository from which we can
pull your work into the master repository. We recommend using
[GitHub](https://github.com), as that is where the component is already hosted.

1. Setup a [GitHub account](http://github.com/), if you haven't yet
2. Fork the repository (http://github.com/zendframework/zend-expressive-skeleton)
1. Setup a [GitHub account](https://github.com/), if you haven't yet
2. Fork the repository (https://github.com/zendframework/zend-expressive-skeleton)
3. Clone the canonical repository locally and enter it.

```console
$ git clone git://github.com:zendframework/zend-expressive-skeleton.git
$ git clone git://github.com/zendframework/zend-expressive-skeleton.git
$ cd zend-expressive-skeleton
```

Expand Down Expand Up @@ -187,15 +159,7 @@ To send a pull request, you have two options.
If using GitHub, you can do the pull request from there. Navigate to
your repository, select the branch you just created, and then select the
"Pull Request" button in the upper right. Select the user/organization
"zendframework" as the recipient.

If using your own repository - or even if using GitHub - you can use `git
format-patch` to create a patchset for us to apply; in fact, this is
**recommended** for security-related patches. If you use `format-patch`, please
send the patches as attachments to:

- zf-devteam@zend.com for patches without security implications
- zf-security@zend.com for security patches
"zendframework" (or whatever the upstream organization is) as the recipient.

#### What branch to issue the pull request against?

Expand Down Expand Up @@ -226,8 +190,3 @@ repository, we suggest doing some cleanup of these branches.
```console
$ git push {username} :<branchname>
```


## Conduct

Please see our [CONDUCT.md](CONDUCT.md) to understand expected behavior when interacting with others in the project.
3 changes: 2 additions & 1 deletion LICENSE.md
@@ -1,4 +1,5 @@
Copyright (c) 2015-2017, Zend Technologies USA, Inc.
Copyright (c) 2015-2018, Zend Technologies USA, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
Expand Down
12 changes: 12 additions & 0 deletions README.md
Expand Up @@ -39,6 +39,18 @@ $ composer run --timeout=0 serve

You can then browse to http://localhost:8080.

> ### Linux users
>
> On PHP versions prior to 7.1.14 and 7.2.2, this command might not work as
> expected due to a bug in PHP that only affects linux environments. In such
> scenarios, you will need to start the [built-in web
> server](http://php.net/manual/en/features.commandline.webserver.php) yourself,
> using the following command:
>
> ```bash
> $ php -S 0.0.0.0:8080 -t public/ public/index.php
> ```
> ### Setting a timeout
>
> Composer commands time out after 300 seconds (5 minutes). On Linux-based
Expand Down
2 changes: 2 additions & 0 deletions bin/clear-config-cache.php
Expand Up @@ -9,6 +9,8 @@
* @license https://github.com/zendframework/zend-expressive-skeleton/blob/master/LICENSE.md New BSD License
*/

declare(strict_types=1);

chdir(__DIR__ . '/../');

require 'vendor/autoload.php';
Expand Down

0 comments on commit 17b3479

Please sign in to comment.