Releases: clay/amphora
Releases · clay/amphora
Feature: Bootstrap Users
The boostrap.yml file for a site now accepts a list of users. Add an array of users that matches the example below.
_users:
-
username: <String>
provider: <String>
auth: <String>
Bugfix: Bad Error Logging In Composer
- Fixed a spot where a variety of errors could be thrown rather than logged
Bugfix: Bad `protocol` references
- Fixed a bug where
site.protocol
was being referenced assite.proto
Bugfix: Error Logs For Plugin Routes
- Fixed a bug where errors were being logged for routes mounted to sites from plugins
forex
Cleanup: Swap in clayutils functions
- Replaces some functions in the
references
module with equivalentclayutils
functions
Feature: Site Config Checks
- Amphora logs warning if a site's config is missing the
protocol
property and defaults tohttp
- Amphora logs warning if a site is missing a config file
Feature: Data Compose Time Logging For Render
With the conversion to v5 the renderer handles terminating the Express request. Because of this the renderer can only log the time it takes to turn JSON into some output, which can skew render time logging because it doesn't account for how long it took to read from the DB, process model.js files, etc.
This release adds logging around the time it took to compose the data.
Major Version: 5.0.0
Changes to the Amphora API are all included in the v5
PR (#505) and include the following:
- Underscoring of all core routes:
/pages
-->/_pages
/components
-->/_components
/lists
-->/_lists
/users
-->/_users
/uris
-->/_uris
/auth
-->/_auth
resolveMedia
function is no longer cored to Amphora.- If a renderer chooses to handle this/similar functionality then it will need to be handled by that renderer.
resolveMedia
was really only useful for an HTML renderer which is why this was removed.
- Renderers now terminate the response if a request would normally have passed to a renderer (#506)
- The
res
object is now passed to the renderer as the second argument to the exposed.render
function. Thestate
object is still the first argument. - As mentioned in the previous bullet, with the removal of
resolveMedia
, thestate
object is now missing themedia
property which had the file paths of the scripts/css files to include. This should only affectamphora-html
, but it should be noted.
- The
- Removed memory leak check in
control
service. (#508)- This was a very specific test that didn't catch all types of memory leaks, only ones related to memoization calls where there was too much variation and inflated the memoize cache.
- Implementers should choose a memory leak detection method that is best for their setup
- Removed old publishing API (#507)
- Implementations should now favor the
resolvePublishUrl
method. The oldresolvePublishing
method will no longer work.
- Implementations should now favor the
- Removed component service's exported
getName
function.- The
clayutils
package supports the proper logic for breaking apart component uri strings into their separate parts. It's isomorphic and can help implementations use more consistent logic for parsing all sorts of uri strings. It also supports the underscored routes of this breaking change in the 2.x versions.
- The
- Removed exported logging service
- Removed all references to
winston
and related packages - Upped
engines
npm property to^8.9.4
- Upped CircleCI test suite to Node v8.9.4
Feature: CORS Options Request
- Do not check for authorization on
OPTIONS
requests so that pre-flight requests work - Adds
OPTIONS
request to the supported CORS methods so that pre-flight requests function normally