All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Update deps to allow for recent versions of
laminas/laminas-diactoros
- Requires
laminas-diactoros
instead of zend* and requires the zendframework bridge to ensure the legacy class names are aliased - Removes PHPStan as it is mostly unused and causes conflicts
- Updates PHPUnit to recent version along with the Prophecy Trait so tests work.
- Bumps minimum PHP to 7.3
- Nothing.
- Nothing.
- Nothing.
- Nothing
- Nothing
- Nothing.
- Nothing.
- Updated documentation removing stuff about Prismic dropping the shared secret for webhooks. It was late. I was tired!
- #15 Adds 2 new configuration options allowing you to set both
the cache busting webhook url and the preview url. These options are beneath the top level
prismic
array and are namedwebhook_url
andpreview_url
respectively.
- #15 Allows the webhook shared secret to be left in its default
state of
null
- Previously, not configuring a secret would cause a type error on use as documented. It's now permitted to be null meaning that no shared secret validation will occur.
- Nothing.
- Nothing.
- Nothing
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #14 fixes DocumentResolver Middleware so that when a document is getting located by UID, the language parameter is used in the query, if it is present. Previously, the document in the primary language would always be returned whether a language parameter was present in the route result or not.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Relaxed composer constraint for Zend Diactoros to allow ^2.0.
- Fixed a range of issues with tests caused by deprecations in PHPUnit 7
- Nothing.
- Nothing.
- Nothing.
- #12 removes the CLI cache busting middleware introduced in
4.1.0
- I guess it was a bad idea introducing environment specific stuff anyway and it's now a moot point since 4.2.2 of the prismic kit fork. This will be a BC break for you if you were relying on this middleware for some reason.
- Nothing.
- #9 Expires experiment cookies if a cookie is present in the
request and the Api reports that no experiments are running. This action occurs in the
ExperimentInitiator
middleware.
- #10 Documents the requirement for a (string) shared secret for
authenticating webhooks. Also adds
ext-json
to composer as a previously hidden dependency (FWIW) - #11 Changed the PreviewInitiator middleware so that it no
longer sets a cookie. The JS toolbar now sets this for you and if you want previews, you need to have it installed
anyway. This double setting of the preview cookie has been causing problems when both are successfully set. The
middleware also checks for an
ExpiredPreviewTokenException
and presents a more friendly error message for previewers. This exception only became available in the PHP Kit version 4.2, just released, so composer.json is updated to require it. ExceptionInterface
now correctly extendsThrowable
- Nothing.
- Removed pointless test bootstrap and cleaned up phpunit config.
- Nothing.
CliCacheBust
Middleware that forces a reload of the Prismic Api data during a cache busting webhook, if, the app is running on the cli. This middleware is wired into the Webhook pipeline by default as is essentially a no-op in a regular, non-cli environment. It’s been added to improve compatibility with Swoole- This Readme
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Change the route matcher factory to retrieve the route collector instead of the application. Getting the application can cause cyclic dependency issues.
- Re-write RouteMatcher to inspect runtime value of routes in the collector rather than iterating once over a copy of the available routes at the time of instantiation - This improves compatibility with CLI environments
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Switch to a completely different Fork of the Prismic SDK.
- All middleware switched to PSR-15
- Reorganised factories into
\ExpressivePrismic\Container
- Add marker interfaces for common, useful pipelines
- Remove the flag as to whether to render a fallback 404 template. Either we want to render CMS 404's or we don't, everything else is an exception
- Simplify the error response generator to work with a named pipe that takes care of all response generation
- Lots of other breaking changes…
- Nothing.
- Removed redundant NormalizeNotFound middleware.
- Nothing.
- Nothing.
- Restricting to expressive router 2.3.* to avoid deprecation notices and segfaults during testing. We'll be bringing out a new major version for Expressive 3.0
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- The JS on the CDN has renamed the object used to call startExperiment from 'prismic' to 'PrismicToolbar', it also now loads the required JS from google analytics if it's not already been included so there's no need for it anymore
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- The NotFound middleware now correctly sets the status code to 404.
- Add a flag to the constructor of InjectPreviewScript middleware that defines whether the JS should be injected on every request in order to facilitate the Edit Button functionality. This is off by default to preserve BC
- Nothing
- Nothing.
- Nothing.
- Updated the preview cookie to include the domain to get around an issue with the default JS script. Also, sets the cookie to secure if the current scheme is https and explicitly sets http only to false as the cookie is read by the JS
- Nothing.
- Re-Worked the webhook pipeline splitting up the Single
ApiCacheBust
middleware into several smaller middleware.
- Nothing.
- Nothing.
- Nothing.
- Introduce pre-configured middleware pipe for webhooks.
- Introduce pre-configured middleware pipe for not found/404 errors.
- Introduce pre-configured middleware pipe for exceptions (Error handler).
- General improvements in test coverage
- Added Route matcher as part of refactoring Link Resolver
- Minimum version of PHP is now 7.1.
- Switched to
Psr\Container
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Allow single routes to match multiple document types
- Fix missing
$api
property inUrl
view helper
- Nothing.
- Pretty much everything. This release provides compatibility with Zend Expressive 2.
- Nothing.
- Nothing.
- Nothing.
- Everything.
- Nothing.
- Nothing.
- Nothing.
- Nothing.