Install

Works with Drupal: 8.x

Using Composer to manage Drupal site dependencies

Alternative installation files

Download advagg-8.x-3.0.tar.gztar.gz 178.77 KB
MD5: ce953732c35be5bf99fb02170b5c607d
SHA-1: f4042f972ad12b14bf842d8f20bb22584604c819
SHA-256: 8a4234ac64016549e31742c46ea8dece19192a3f58eff6379f7442408507daa3
Download advagg-8.x-3.0.zipzip 277.17 KB
MD5: f7292cef29d98c4bfd78174cbf727bb7
SHA-1: d22955cff0af573d58b13a5014ba6e9557b14c6c
SHA-256: 1bed3eeba6f12405c6ea38656ecad729ae9d7490284d5da08087e540049d4a9c

Release notes

Compatible with Drupal core 8.0.x-8.4.x
Installation Instructions:
If a new site just install as normal.
If upgrading from an old install, delete the old module files as some files have been removed/renamed etc. (Not required if using Composer/Drush as they do that automatically prior to upgrading any package). Also make sure to run the database updates (drush updb or update.php).

Pretty major re-factor in the underlying code and methodology, however very similar in terms of actual functionality and user interaction.
Primary differences:

  • No longer overrides the core asset handling but instead runs in the middle of that. This has way way better interoperability with other modules.
  • Optimizes files individually. Great if you use HTTP/2 Server Push - and improves performance in all cases.
  • Supports Brotli compression (smaller file size than Gzip) if the server has Brotli enabled.

Full changeset from 8.x-2.4:

  • #2892640 by pminf, NickWilde: CSS optimizers url update does not include base path
  • HTML readme generated from the markdown version for convenience.
  • Readme updates for all sub-modules
  • Standards fixes
  • Typo fix
  • Readme Updates
  • Improve README.md
  • Initial implementation of CSS Selector limiter for 8.x-3.x
  • Update the asset array with the (possibly) modified array after optimizing the array for both CSS & JS assets.
  • Allow subscribers to AssetOptimizationEvents to change the asset array.
  • Update tests to removed deprecated asserts (mostly assert[No]Raw)
  • Convert simpletest->PHPUnit: CdnTest
  • Convert simpletest->PHPUnit: AdminPagesTest and all tests that extend it.
  • Convert simpletest->PHPUnit: AdvaggPathManipulationTest
  • Convert simpletest->PHPUnit tests: AdvaggTestBase -> AdvaggFunctionalTestBase
  • Add .csslintrc to exclude test css files.
  • Fix CSS minifier's handling of charset declarations.
  • Css minification tests
  • Ignore test JS files and included JS files from vendors when linting.
  • Standards fixes.
  • Don't test JSMin minification if the JSMin extension is unavailable.
  • #2888100 by StryKaizer, NickWilde: jsqueeze licensing information is inverted
  • Test JsMinifier::optimize() when minifier set to JShrink
  • Test JsMinifier::optimize() when minifier set to JSqueeze.
  • Test JsMinifier::optimize() when minifier set to JSMinPlus
  • Test JsMinifier::optimize() when minifier set to JSMin.
  • Test advagg_js_minify JsMinifier::clean()
  • Fairly complete testing of the CDN sub module.
  • Install functionality for advagg_cdn to clear caches so it just works on install.
  • Typo fix in .htaccess generator
  • *More* (sigh) improvements for some files that JSMin doesn't deal with nicely.
  • Only write files/run compression on the data if the files don't exist.
  • Include original file name in cache data for optimized files.
  • Extra update function for those updating from 8.x-2.x remove advagg_bundler from db
  • Fix: Use correct callback syntax for OO callback in RemoveConsoleLog and TranslateCss
  • #2830672 by NickWilde: Can we add a setting to remove console.log in production?
  • Ensure optimized filename is unique based on contents. Enables better caching on external servers/browser cache.
  • Add option to use SymLinksIfOwnerMatch instead of FollowSymlinks. This works better for some server configurations.
  • Ensure regeneration of htaccess files when settings change
  • Add option to add the immutable tag to Apache cache tags (true by default).
  • Fix: add missing param docblock to SingleAssetOptimizerBase::__construct()
  • Add htaccess so that the generated brotli compressed files are served.
  • git commit -m 'Issue #2883494 by NickWilde: Inline loadCSS library broken due to Core change'
  • Fix: PHP5.6 compatibility: Scalar hints introduce in PHP7x
  • basic brotli support for advagg optimized files
  • refactor: move js_* config setting to subkeys under js mapping in advagg.schema
  • fix: misnamed function in advagg_ext_minify.install (copy-pasta)
  • Advagg Validator Module refactored for 8.x-3.x
  • Use REQUEST_TIME for now even though it's deprecated to maintain compatibility with D8.0-8.2
  • Remove usage of the datetime.time service. It was introduced in 8.3. Everyone *should* be moving to 8.3 but for now advagg will be compatible with 8.0-8.x
  • (temporarily) remove advagg_validator submodule. to be refactored but unimportant module so.
  • Standards fixes. Just a few.
  • remove unused use statement
  • remove core_groups options as no longer used. update settings form.
  • (re)implement css combine media
  • Adjust AssetOptimizer::optimizeFile() to allow it to change the asset array
  • remove override of core CssCollectionGrouper
  • Update uninstalled functionality
  • Remove JsCollectionGrouper override as it causes conflicts with minimal gain.
  • Updated readme (could certainly use some more love but it isn't totally inaccurate now)
  • Updated hook_requirements()
  • Updated Info form
  • remove update function that references services that no longer exists
  • Updated API/Developer documentation
  • comment fix
  • Refactor: remove advagg_bundler sub module. It was poorly implemented in 8.x-2.x and better to use mostly core really.
  • define advagg logger channel
  • Refactored advagg_ext_minify
  • a simple gitignore for PHPStorm files.
  • Refactored advagg_mod
  • advagg_js_minify: typo fix
  • move advagg_css_minify migration templates to the right spot
  • Refactor advagg_css_minify sub module
  • If creating optimized css files in a new location must also update any included relative urls.
  • Rename advagg\Asset\AssetOptimizeInterface to advagg\Asset\SingleAssetOptimizerBase It isn't an interface it's an abstract class.
  • remove testing function
  • Overwrite existing optimized files if need be.
  • Refactored advagg_js_minify module
  • Convert hook to event for optimizing file contents.
  • Update migration. Note: cache_level still exists but has different values.
  • advagg_cdn: improve schema label for settings.minified
  • refactor drush integrations
  • rename service advagg.cache->cache.advagg since otherwise it sometimes messes up.
  • refactor (minimal needed) for AdvAgg CDN sub module
  • remove unused param in InfoForm::getFileInfoAjax
  • refactored Operations form
  • re-implemented cron functionality
  • Refactored InfoForm
  • typo fix in accessing cached prefetch data.
  • Remove classes overriding core render attachment processor classes. Implementing functionality through different methods to avoid conflicts. @see Drupal/advagg/EventSubscriber/ResponseSubscriber
  • Remove outdated options from settings form. Improve readability and ux of settings form.
  • Remove outdated config settings
  • Output prefetch link elements in the html head.
  • move advagg_drupal_sort_css_js_stable() to AssetOptimizer::sortStable() Used in advagg_mod submodule.
  • docstring improvements
  • Improve the hook_implements_alter() implementation for current version of advagg
  • remove reference to old D7 hook
  • Cache DNS prefetch data for local files.
  • Alter AssetOptimizer::scanFile to better allow future caching of non-path data.
  • Minimal DNS prefetch implementation.
  • REQUEST_TIME is deprecated in Drupal 8.3+ replace with TimeInterface
  • Basically complete refactor of the core module.
  • drupal_alter doesn't exist in any D8 branch and we're using moduleHandler::alter so don't test themes for hooks.
  • Remove AssetDumper as it adds no significant value with the refactoring.
Created by: NickDickinsonWilde
Created on: 8 Jul 2017 at 04:21 UTC
Last updated: 10 Aug 2017 at 09:19 UTC
Bug fixes
New features

Other releases