assetic/framework
Asset Management for PHP
v3.2.2
1.6M downloads/mo
#4210 most downloaded on Packagist
assetic-php/assetic
What this package is like to depend on
Last release 9 days ago
14 Aug 2026
Ships unpredictably
gaps range from 8 days to 1.7 years
Most releases are documented
notes for 22 of 29 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
35 releases · first in 2012
6 releases in the last 12 months
see the full history below
Release timeline
35 releases · Mar 2012 to Aug 2026Releases
latest 35-
v3.2.214 Aug 2026Release notes
Open source →What's Changed
- Make CssImportFilter hashable so the asset cache can key it by @LukeTowers in #52
Full Changelog: v3.2.1...v3.2.2
Release notes
Open source →Bug fixes
CssImportFilternow implementsHashableInterface, so it is hashed instead of serialized whenAssetCachebuilds its cache key. Serializing the filter threwSerialization of 'Closure' is not allowedwhenever an import validator had been set.- The hash covers the inner import filter and the import validator, so filters confining imports to different paths no longer share a cache entry.
- Cache keys for assets filtered by
CssImportFilterchange with this release, so those assets are rebuilt once on upgrade.
-
v3.2.126 Jul 2026Release notes
Open source →What's Changed
- Add optional import validator to CssImportFilter by @LukeTowers in #51
Full Changelog: v3.2.0...v3.2.1
Release notes
Open source →New features
- Added an optional import validator to
CssImportFilter, letting consumers confine@importinlining to trusted paths, by @LukeTowers in https://github.com/assetic-php/assetic/pull/51
-
v3.2.020 Jun 2026Release notes
Open source →What's Changed
- ci: test on PHP 8.4 and 8.5 and update Node 20 actions by @austinderrick in #48
- feat: support Twig 3 alongside Twig 2 by @austinderrick in #49
- Add support for Tailwind CSS CLI v4 by @bennothommo in #50
Full Changelog: v3.1.6...v3.2.0
Release notes
Open source →New features
- Added support for Twig 3 alongside Twig 2 by @austinderrick in https://github.com/assetic-php/assetic/pull/49
- Added support for the Tailwind CSS CLI v4 by @bennothommo in https://github.com/assetic-php/assetic/pull/50
Community updates
- Added PHP 8.4 and 8.5 to the test matrix and updated the CI workflow to the Node 20 actions by @austinderrick in https://github.com/assetic-php/assetic/pull/48
-
v3.1.604 Jun 2026Release notes
Open source →What's Changed
- fix: resolve PHP 8.4/8.5 deprecations in HttpAsset and BasePhpFormulaLoader by @austinderrick in #47
New Contributors
- @austinderrick made their first contribution in #47
Full Changelog: v3.1.5...v3.1.6
Release notes
Open source →Bug fixes
- Resolved PHP 8.4 / 8.5 deprecation notices in
HttpAssetandBasePhpFormulaLoaderby @austinderrick in https://github.com/assetic-php/assetic/pull/47
-
v3.1.523 Apr 2026Release notes
Open source →What's Changed
- Allow access to the Reference name and the resolved asset by @dlundgren in #18
New Contributors
- @dlundgren made their first contribution in #18
Full Changelog: v3.1.4...v3.1.5
Release notes
Open source →New features
- Added
AssetReference::getName()andAssetReference::getAsset(), exposing the reference name and the asset it resolves to, by @dlundgren in https://github.com/assetic-php/assetic/pull/18
-
v3.1.422 Apr 2026Release notes
Open source →What's Changed
- fix(asset): migrate from $http_response_header to http_get_last_response_headers() by @matteotrubini in #46
New Contributors
- @matteotrubini made their first contribution in #46
Full Changelog: v3.1.3...v3.1.4
Release notes
Open source →Bug fixes
HttpAssetnow reads response headers viahttp_get_last_response_headers()instead of the$http_response_headerlocal, which PHP 8.4 deprecates, by @matteotrubini in https://github.com/assetic-php/assetic/pull/46
Changes
- Added audit configuration to
composer.json - Fixed the test suite against current dependencies
-
v3.1.301 Feb 2025Release notes
Open source →Bug fixes
- Resolved PHP 8.4 deprecation notices for implicitly nullable parameters throughout the codebase by @TomA-R in https://github.com/assetic-php/assetic/pull/45
-
v3.1.214 Jul 2024Release notes
Open source →What's Changed
- Add Tailwind CSS Standalone CLI utility filter by @bennothommo in #42
- Allow "symfony/deprecation-contracts": "^2.2.0|^3.0" by @10n in #43
New Contributors
Full Changelog: v3.1.1...v3.1.2
Release notes
Open source →New features
- Added the Tailwind CSS Standalone CLI utility filter by @bennothommo in https://github.com/assetic-php/assetic/pull/42
Changes
- Widened the
symfony/deprecation-contractsconstraint to^2.2.0|^3.0by @10n in https://github.com/assetic-php/assetic/pull/43
-
v3.1.105 Jul 2024Release notes
Open source →Changes
- Conform codebase to PSR-12 code style guidelines
- Update wikimedia/less.php from 3.0 to 5.x for tests by @Krinkle in #38
Bug fixes
- 8 character color hex codes (with alpha channel) are no longer minified to 3 character hex codes in
StylesheetFilter, these are instead minified to 4 characters. - The
MockAssetasset has been switched to using contracts for typehints and return types.
Community updates
- Combine and consistently format the changelog by @bennothommo in #39
New Contributors
Full Changelog: v3.1.0...v3.1.1
Release notes
Open source →Changes
- Conform codebase to PSR-12 code style guidelines
- Update wikimedia/less.php from 3.0 to 5.x for tests by @Krinkle in https://github.com/assetic-php/assetic/pull/38
Bug fixes
- 8 character color hex codes (with alpha channel) are no longer minified to 3 character hex codes in
StylesheetFilter, these are instead minified to 4 characters. - The
MockAssetasset has been switched to using contracts for typehints and return types.
Community updates
- Combine and consistently format the changelog by @bennothommo in https://github.com/assetic-php/assetic/pull/39
-
v3.1.003 Apr 2024Release notes
Open source →What's Changed
- Re-added TwigFormulaLoader by @bds-viktoras in #37
- Added support for
symfony/consolev7 - Skipped tests for Google Closure Compiler REST API filter, it has been deprecated by Google
- Added support for TypeScript v5
New Contributors
- @bds-viktoras made their first contribution in #37
Full Changelog: v3.0.2...v3.1.0
Release notes
Open source →New features
- Added support for TypeScript v5
- Added support for
symfony/consolev7
Changes
- Re-added TwigFormulaLoader
- Skipped tests for Google Closure Compiler REST API filter, it has been deprecated by Google
-
v3.0.207 Jul 2022Release notes
Open source →Changes
- The Assetic Twig Extension is now compatible with Twig version 3
-
v3.0.109 May 2022Release notes
Open source →Bug fixes
- Fixed issue with StylesheetMinifyFilter where a universal selector (
*) could not immediately follow a comment.
- Fixed issue with StylesheetMinifyFilter where a universal selector (
-
v3.0.022 Feb 2022Release notes
Open source →Assetic v3 is another refresh of the project in order to keep the core lean and up to date with modern standards. More deprecated / abandoned filters have been removed and replaced with modern maintained alternatives.
New filters are still recommended to be added in external packages and the core is to be kept as minimal as possible.
New features
- Support for PHP 8.0 & PHP 8.1
- Support for
symfony/process: v6.x - Added
Assetic\Filter\JavaScriptMinifierFilter - Added
Assetic\Filter\CSSMinFilter - Added
Assetic\Filter\StylesheetMinfyFilter
Backwards-compatibility breaks
- Minimum PHP version required is now PHP 7.3
- Removed support for the unmaintained
mrclay/minify,patchwork/jsqueeze, &natxet/CssMinpackages in favour ofwikimedia/minify.
Removed filters
JSMinFilter(useJavaScriptMinifierFilterinstead)JSMinPlusFilter(useJavaScriptMinifierFilterinstead)JSqueezeFilter(useJavaScriptMinifierFilterinstead)CssMinFilter(useCssImportFiltercombined with theCSSMinFilterinstead)- Abandoned for all intents and purposes; maintainer has not interacted with the project for four years at least, not even able to maintain the package in the first place (https://github.com/natxet/CssMin/issues/23#issuecomment-257352700).
- Several long standing unresolved bugs in relatively common CSS use cases
MinifyCssCompressorFilter(use replacement forCssMinFilterabove or useStylesheetMinifyFilterinstead)- Abandoned, see: https://github.com/mrclay/minify/commit/0bc376980248f421c50b039beb869dd46cd9b043
- Considered replacing with https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port (last touched in 2018) but it is not fully supported in PHP 7.4: https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port/issues/57 & is abandoned for all intents and purporses; maintainer has not interacted with the project for four years at least and maintainer seems to no longer be working with PHP in general.
-
v2.0.226 Jan 2022Release notes
Open source →Bug fixes
- Fixes an issue with aliases when run with the Opcache Preloader from PHP 7.4+
- Fix usage of deprecated behaviours and methods in SCSS PHP filter
- Adds additional argument for registerFunction method to define argument declarations
- Uses compileString() method for compilation as opposed to deprecated compile() method
- Uses addVariables() method for defining variables as opposed to deprecated setVariables() method
- Parses variables provided in the setVariables() filter method and converts to Scss values, avoiding the deprecated behavior of allowing raw variables
-
v2.0.130 Jun 2021Release notes
Open source →Changes
- Added PHP 8 support
- Removed support for scss_compass, which was never actually finished in the first place
-
v2.0.011 Oct 2020Release notes
Open source →Project update
The project
kriswallsmith/asseticis currently unmaintained, and has not been updated in 4 years. You can replacekriswallsmith/asseticby swapping it out for"assetic/framework": "~2.0.0"via composer.This fork aims to bring Assetic up to date with modern libraries and allow for it to be used in conjunction with modern frameworks.
This update makes the project more opionated, removing duplicate filters in favour of purely PHP-based ones. New filters are to be added in external packages and the core is to be kept as minimal as possible.
As part of this update old, abandoned or redundant utilities have been removed. This is in part to simplify the offering of project as well as to migrate to a simplified tool set of php and javascript based utilities.
New features
- Support for
>=php 7.2 - Support for
symfony/processv3.4.x|v4.x|v5.x
Backwards-compatibility breaks
- Minimum PHP version required is now PHP 7.2
- Switching from
leafo/lessphptowikimedia/less.php- Due to this switch support has been dropped for
setPreserveComments®isterFunctionby theLessphpFilter.
- Due to this switch support has been dropped for
twig/twigsupport is optional now,twig/extensionsmust be required in your requirements if you need it.
Removed filters
- apc cache (apc is no longer supported in php7.2)
- autoprefixer (autoprefixer cli is deprecated)
- cleancss (code is incompatible with the current API)
- CssEmbed
- Compass
- Dart
- ember precompile (the npm package no longer compiles)
- Gemfile (Ruby is no longer in use in the project)
- GSS
- Packager (throws deprecation notices in php7.4)
- pngout (npm package is abandoned)
- Roole (Roole was a language that compiles to CSS, the project is now dead and has been for at least 6 years, use LESS \ SCSS instead)
- SassFilter/ScssFilter/SassphpFilter (replaced by ScssphpFilter)
- Sprockets (Assetic no longer integrates with Ruby packages)
- UglifyJS version 1 (No longer supported. Use the
Assetic\Filter\UglifyJs2Filterfor version 2 orUglifyJs3Filterfor version 3 instead) - Yui compressors
- Support for
-
v1.4.011 Nov 2016Nothing published for this version
-
v1.3.212 Nov 2015Nothing published for this version
-
v1.3.115 Oct 2015Nothing published for this version
-
v1.3.031 Aug 2015Nothing published for this version
-
v1.2.112 Dec 2014Nothing published for this version
-
v1.2.014 Oct 2014Release notes
Open source →New features
- Added the autoprefixer filter
- Added --no-header option for Coffeescript
- Implemented the extraction of dependencies for the compass filter
- Allow custom functions to be registered on the Lessphp filter
- Added MinifyCssCompressor filter based on
mrclay/minify - Added
setVariablesin the ScssPhpFilter - Improved the support of the compress options for UglifyJS2
- Added CssCacheBustingFilter to apply cache busting on URLs in the CSS
- Added support for
--relative-assetsoption for the compass filter
Bug fixes
- Allow functions.php to be included many times
- Updated the ScssPhpFilter for upstream class renaming
-
v1.2.0-alpha108 Jul 2014 pre-releaseRelease notes
Open source →BC breaks
- Added
AssetFactoryinstance as second argument forWorkerInterface::process() - Removed
LazyAssetManagerfromCacheBustingWorkerconstructor - A new
getSourceDirectory()method was added on the AssetInterface - Removed limit and count arguments from CssUtils functions
- Removed the deprecated
PathUtilsclass
New features
- added
CssUtils::filterCommentless() - Added
DependencyExtractorInterfacefor filters to report other files they import - Added the support of nib in the stylus filter
- Added
registerFunctionandsetFormatterto the scssphp filter - Added the support of flag file for the ClosureCompilerJarFilter
- Added the JsSqueeze filter
- Added support of the define option for uglifyjs (1 & 2) filters
- Added logging for Twig errors in the extractor
Bug fixes
- Fixed the detection of protocol-relative CSS imports
- Updated AssetCollection to not add several time the same variable in path
- Fixed the merging of the environment variables to keep the configuration of the NODE_PATH working
- Fixed the support of
{% embed %}in the Twig extractor - Fixed the support of asset variables in GlobAsset
- Added
-
v1.1.312 Dec 2014Nothing published for this version
-
v1.1.219 Jul 2013Release notes
Open source →- Fixed deep mtime on asset collections
CallablesFilternow implementsDependencyExtractorInterface- Fixed detection of "partial" children in subfolders in
SassFilter - Restored
PathUtilsfor BC
-
v1.1.101 Jun 2013Release notes
Open source →- Fixed cloning of asset collections
- Fixed environment var inheritance
- Replaced
AssetWriter::getCombinations()for BC, even though we don't use it - Added support for
@import-onceto Less filters
-
v1.1.016 May 2013Release notes
Open source →- Added LazyAssetManager::getLastModified() for determining "deep" mtime
- Added DartFilter
- Added EmberPrecompile
- Added GssFilter
- Added PhpCssEmbedFilter
- Added RooleFilter
- Added TypeScriptFilter
- Added the possibility to configure additional load paths for less and lessphp
- Added the UglifyCssFilter
- Fixed the handling of directories in the GlobAsset. #256
- Added Handlebars support
- Added Scssphp-compass support
- Added the CacheBustingWorker
- Added the UglifyJs2Filter
-
v1.1.0-beta113 May 2013 pre-releaseNothing published for this version
-
v1.1.0-alpha424 Feb 2013 pre-releaseNothing published for this version
-
v1.1.0-alpha318 Feb 2013 pre-releaseNothing published for this version
-
v1.1.0-alpha231 Jan 2013 pre-releaseNothing published for this version
-
v1.1.0-alpha128 Aug 2012 pre-releaseRelease notes
Open source →- Added pure php css embed filter
- Added Scssphp support
- Added support for Google Closure language option
- Added a way to set a specific ruby path for CompassFilter and SassFilter
- Ensure uniqueness of temporary files created by the compressor filter. Fixed #61
- Added Compass option for generated_images_path (for generated Images/Sprites)
- Added PackerFilter
- Add the way to contact closure compiler API using curl, if available and allow_url_fopen is off
- Added filters for JSMin and JSMinPlus
- Added the UglifyJsFilter
- Improved the error message in getModifiedTime when a file asset uses an invalid file
- Added support for asset variables:
Asset variables allow you to pre-compile your assets for a finite set of known variable values, and then to simply deliver the correct asset version at runtime. For example, this is helpful for assets with language, or browser-specific code.
- Removed the copy-paste of the Symfony2 Process component and use the original one
- Added ability to pass variables into lessphp filter
- Added google closure stylesheets jar filter
- Added the support of
--barefor the CoffeeScriptFilter
-
v1.0.512 Dec 2014Nothing published for this version
-
v1.0.428 Aug 2012Release notes
Open source →- Fixed the Twig tag to avoid a fatal error when left unclosed
- Added the HashableInterface for non-serialiable filters
- Fixed a bug for compass on windows
-
v1.0.303 Mar 2012Release notes
Open source →- Added "boring" option to Compass filter
- Fixed accumulation of load paths in Compass filter
- Fixed issues in CssImport and CssRewrite filters