Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Release notes
The first stable release (8.x-3.0) was released just over 8 months ago. Zero bugs have been reported! In this release:
- 2 new minor features:
Cache-Control: immutable
(#2838309: Make "Forever cacheable files" use `Cache-Control: immutable`) andrel="preconnect"
(#2874594: Support for rel="preconnect"), both of which are new upcoming web standards! (See https://www.w3.org/TR/resource-hints/#preconnect and https://tools.ietf.org/html/draft-ietf-httpbis-immutable-03, respectively.) - "bugfixes": one trivial PHP notice and minor test coverage problems
The 8.x-3.0 release notes:
The CDN module is fully ported to Drupal 8. It is much simpler to use (just look at the UI). It has less overhead (the UI is in a separate module, the altering of file URLs has far simpler logic). It has lower technical complexity (File Conveyor support was dropped, it no longer needs to detect HTTP vs HTTPS: it always uses protocol-relative URLs, less unnecessary configurability, the farfuture functionality no longer tries to generate file and no longer has extremely detailed configurability).
In other words: the CDN module in Drupal 8 is much simpler. And has much better test coverage too. (You can see this in the tarball size too: it's about half of the Drupal 7 version of the module, despite significantly more test coverage!)
- all the fundamentals
- the ability to use simple CDN mappings, including conditional ones depending on file extensions, auto-balancing, and complex combinations of all of the above
- DNS prefetching
- a simple UI to set it up — in fact, much simpler than before!
- changed/improved
- the CDN module now always uses protocol-relative URLs, which means there's no more need to distinguish between HTTP and HTTPS, which simplifies a lot
- the UI is now a separate module (fixes #1784432: Version 3.0: move UI of CDN module into a cdn_ui module)
- the UI is optional: for power users there is a sensible configuration structure with strict config schema validation
- complete unit test coverage of the heart of the CDN module, thanks to D8's improved architecture
- DNS prefetching using headers rather than tags in
<head>
, which allows me to use a much simpler/cleaner Symfony response subscriber- tours instead of advanced help (fixes #1753174: Dependency for advanced_help module), which very often was ignored
- there is nothing to configure for the SEO (duplicate content prevention) feature anymore
- nor is there anything to configure for the
Forever cacheable filesfeature anymore (namedFar Future expirationin Drupal 7), and it's a lot more robust- removed
- File Conveyor support
- separate HTTPS mapping (also mentioned above)
- all the exceptions (blacklist, whitelist, based on Drupal path, file path…) — all of them are a maintenance/debugging/cacheability nightmare
- configurability of SEO feature
- configurability of unique file identifiers for the
Forever cacheable filesfeature- testing mode
Summary: 8.x-3.1
Contributors: (4) Wim Leers, hitfactory, bradjones1, Berdir
Issues: 8 issues resolved.
Changes since 8.x-3.0:
Bug
- #2870903 by bradjones1: Fix regex in CdnIntegrationTest.php
Feature
- #2874594 by Wim Leers: Support for rel="preconnect"
- #2838309 by Wim Leers: Make "Forever cacheable files" use `Cache-Control: immutable`
Task
- #2874178 by Wim Leers: Update README to warn that when using Amazon CloudFront, query forwarding must be enabled
- #2891162 by Wim Leers: Refactor: extract logic from FileUrlGenerator::generate() into a new ::getCdnDomain() method
- #2855855 by Wim Leers, hitfactory: Notice: Undefined index: preprocess in cdn_file_url_alter()
- #2871588 by Wim Leers: Remove api doc groups for updates, because core did the same
- #2843092 by Wim Leers, Berdir: Since recent DrupalCI update, CDN 8.x-3.x is failing: CDN module's update path test assumes it's installed in /modules