- Raised php requirement to >= 7
- Added support for utf-8 markup in data-uri *.svg files. (@xerc)
- Fixed issue with phpini.memory_limit (@GalileoWebagentur)
- Updated vendor aliases.
- Raised php requirement to >= 5.6
- Removed
csscrush_version() - Removed
csscrush_add_function()(can use plugin instead). - Added
csscrush_plugin()with simplified plugin api. - Added
import_pathoption. Additional paths to search when resolving relative imports. - Added support for non-CSS declaration values via backticks (for custom property values).
- Custom properties
--*now preserve case. - Updated vendor aliases.
- Moved loop plugin to core.
- Removed
@indirective. - Removed
@settingsdirective and its api. - Removed legacy IE plugins.
- Removed hsl2hex, initial, noise, rem, px2em, color and text-align plugins.
- Combined svg plugins (svg-gradients and svg).
- Removed
percentfunction.
- Added simple value checking to
@ifset. - Updated vendor aliases.
- Various fixes and under the hood improvements.
- Added support for function calls on media query lists.
- Added package.json for node package managers.
- Added
previous/nextcontext keywords toquery()function. - Removed legacy-flexbox plugin.
- Removed
disableoption. Renamedenableoption toplugins, old name still supported. - Removing trace option (SASS debug-info is obsolete) and related functionality. CSS source maps are now well supported.
- Color functions now return nothing if the color argument is invalid.
- Improvements to logging and error reporting.
- Various bug fixes.
- Rule nesting now works without
@indirectives. - Added
csscrush_add_function()as a simple way of adding custom functions without plugins. - Added alternative directive names:
@set/@ifsetfor@define/@ifdefineand@selectorfor@selector-alias. - Added support for a command line config file (
crushfile.php). - Added
Util::readConfigFile()method to enable easier configuration sharing between different workflows; esp. command-line and server. - Protocoled
@importdirectives are now hoisted to the top of output. - Default output filename now uses
.crush.csssuffix only when outputting to the same directory as input. Otherwise a regular.csssuffix is used. - Updated vendor aliases.
- Removed math shorthand syntax.
- Deprecated
@indirectives. Supported until at-least 3.x. - Deprecated
@define/@ifdefine/@selector-aliasin favour of new directive names. Supported until at-least 3.x. - Deprecated the static api methods in favour of the
csscrush_*functions. Supported until at-least 3.x.
- Added HHVM support (HHVM >= 2.4)
- Added Travis CI support.
- Added custom color keywords plugin.
- Added text-align plugin for polyfilling the direction sensitive text-align values, start and end.
- Added selector splat aliases which expand based on arguments.
- Added settings interface for plugins and CSS environment. Old variable based settings (as used in rem and px2em plugins) are now deprecated.
- Added library docs to repository.
- Added unit argument to the math function.
- Deprecated bare parens math e.g.
()due to their use in developing CSS specs. - Removed
-ms-gradient aliases. - Renamed plugin
hsl-to-hextohsl2hex. - Updated plugin API.
- Improved feedback for command line watched files.
- Removed date modified from default boilerplate.
- Made git version available for use in boilerplates.
- Reported version now uses
git describestyle output if available. - Changed base IO class to use non-static methods.
- Numerous under the hood improvements.
- Raised PHP version requirement to PHP 5.3.1.
- Library code (excluding API functions) is now namespaced.
- Added loop plugin: For...in loops with lists and generator functions.
- Added ARIA plugin for working with aria roles states and properties.
- Added forms plugin: pseudo classes for working with forms.
- Removed legacy IE plugins (ie-clip, ie-filter, ie-min-height, rgba-fallback) and spiffing.
- Added parsing for single line variable definitions e.g.
@define col-width 30px; - Added support for relative input/output file paths (based on the current excecuting script path).
- Added support for protocol-relative (//) URLs.
- Removed
csscrush_clearcache()function – Its functionality can be easily replicated in plain PHP since all output files have a '.crush.css' file extension. - Removed
csscrush_globalvars()function. Usecsscrush_set()instead. - Added
stat_dumpoption for saving stats and variables used to a file in json format. - Added
asset_diroption for directing generated svg and image files. - Deprecated and removed the *-local.ini now there is a better ways of augmenting the default aliases.
- If
formatteroption is set will now override theminifyoption (setting it to false) - Now using a PSR-3 compatible logging interface (default implementation can be overridden).
- Better error reporting for syntax errors.
- Various Bug fixes.
- Added source map support according to the Source Map v3 proposal (boolean option
source-map). - Compile times are now 20-30% reduced.
- Added support for fragment calls within fragment definitions (Issue #48).
- Added check and recovery for overly conservative ini settings.
- The block nesting parent symbol can now be used multiple times (useful for adjacent/general sibling combinations).
- Command utility now supports the
traceoption. - Custom formatter callbacks have been simplified.
- Simplified the
csscrush_stat()function signature. - Added command line utility alias for composer's vendor/bin directory.
- Removed Plugins.ini (use
csscrush_set()instead). - Removed Prepend.css.
- Various refactoring for cleaner under-the-hood APIs.
- Added SVG plugin for defining and generating SVG files/data URIs in CSS.
- Added Canvas plugin for image generation and manipulation (requires GD extension).
- Added rem and px2em plugins.
- Added ease plugin for expanded easing keywords.
- Command line utility now has a
--watchoption for automatic compiling when a file is updated. vendor_targetoption now accepts an array of targets.- Added
@namein-rule directive for more robust rule referencing. - Added grouping for function aliases so multiple related functions (e.g. gradients) can now be applied to one value.
- Rule references previously looked for the closest previous match. This behaviour has been changed
to a 'last wins' match to be more consistent with the way CSS works. This may affect users of
@extendor thequery()function. - Added
-ialias to--fileoption for the command line utility. - Removed data-* properties.
- Nested rules that use the parent symbol (&) can now work in conjunction with the rooting symbol (^).
- Fixed issue with empty imported files not registering.
- Various bug fixes.
- Added noise plugin (noise/texture generating functions).
- Resolved issues #42 and #43.
- Fixed command line context option.
- Fixed error notice with no enabled plugins in Plugins.ini file.
- Updated aliases file.
- Added flexbox aliases for both 2009 and 2012 edition specs.
- Added a legacy-flexbox plugin for auto-generating the flexbox 2009 spec equivilant properties.
- Updated selector aliases to take arguments at runtime.
- Updated plugin API to use distinct "enable" and "disable" handlers.
disableoption is now resolved before theenableoption so you can easily disable all plugins and then specify the plugins you want to apply.- Added functions API for defining custom functions inside plugins.
- Improved gradient function aliasing to handle new angle keywords (to left, at center, etc.).
- Added svg-gradients plugin for simulating CSS3 gradients with data-uris.
- Added
formatteroption for un-minified output. Possible values (custom formatters can also be defined):- "block" (default) - Rules are block formatted.
- "single-line" - Rules are printed in single lines.
- "padded" - Rules are printed in single lines with right padded selectors. Custom formatters can also be defined.
- Added
newlinesoption to set the style of newlines in output. Possible values:- "use-platform" (default)
- "unix"
- "windows" or "win"
- Updated command line utility to use the new options.
- Property/value aliases expanded and renamed as declaration aliases.
- Classes now loaded via an autoloader, also some other refactoring for moving towards PSR-0 compliance.
- Added selector aliasing with the
@selector-aliasdirective. - Added
output_diroption for specifying the destination of compiled files. - Added
doc_rootoption for working around problems with server aliases or path rewrites. - Added viewport @-rule aliases.
debugoption renamed tominify;debugoption will still work as before but is deprecated.minifyoption takes an optional array of advanced minification parameters. Possible values:colors
- Expanded
traceoption to take an optional array of log parameters. Possible values:stubsselector_counterrorscompile_time
- Added
CssCrush::statmethod to retrieve logged parameters. - Improved cross OS support.
- Improved minification.
- Major refactoring.
- Added
traceoption to output SASS compatible debug-info stubs for use with tools like FireSass. - Added
@ifdefinedirective for dynamically including/excluding parts of a CSS file based on the existence of variables. - Updated plugin API.
- Added options for enabling and disabling plugins at runtime.
- Added property sorter plugin.
- Added support for SASS-like @include/@extend syntax for invoking mixins and extends.
- Boilerplate option now accepts a filename string as a boilerplate template.
CssCrush::stringmethod now uses document_root as a default context for finding linked resources.- Updated command line appication.
- Updated aliases and initial value files.
- Fixed parsing issue introduced in 1.6.1.
- Resolved issues #34 and #35.
- Inheritance model improved to support adoption of pseudo classes and elements (see wiki).
- Added rule self-referencing function
this()and complimentary data-* properties. - Added rule referencing function
query(). - Added default value argument for variables.
- Added
hsl-adjust()andhsla-adjust()color functions. - Mixin and fragment
arg()function can now be nested. - Commas are now optional when specifying arguments for most custom functions.
- Double-colon plugin moved to core.
- Option
rewrite_import_urlsnow defaults to true.
- Refactoring.
- Fixed some test cases.
- Resolved issue #32.
CssCrush::inlinemethod now defaults to not printing a boilerplate.- Updated aliases file.
- Extended mixins to work with abstract rules and regular rules.
- Fixed issue with selector grouping and inheritance in combination.
- New feature: Rule inheritance / abstract rules.
- New feature: Block nesting.
- New feature: Mixins.
- New feature: Fragments.
- Abstracted IO interface.
- Added some error reporting.
- Added spiffing.css plugin.
CssCrush::tagmethod now uses media type 'all' by default.- Updated alias and initial-value tables.
- Internal refactoring.
- Resolved issues #23, #24, #27, #28 and #29.
- Fixed bug with @import statement parsing.
- Some minor under the hood changes.
- Added command line application.
- Added
rewrite_import_urlsoption - Ability to rewrite relative url references inside imported css files. - Added Prepend.css - Optionally prepend css to every input.
- Fix for issue #21.
- Reorganized aliases file with some additions.
- Initial-values updated.
- Updated
CssCrush::stringmethod to correctly handle import statements.
- Added initial-keyword plugin (shim for the CSS3 keyword).
- Added inline method (Issue #18).
- Added ability to escape declarations from aliasing or plugins by prefixing with tilde.
- Added procedural style public API to mirror the static class API.
- Deprecated
@variablesdirective for@define. @variables still supported for next few releases. - Adjusted color functions to accept a space delimiter (as well as comma) in the arguments list.
- Surpressed some benign PHP warning messages.
- Some internal cleaning up.
- Disabled IE6 min-height plugin by default.
- Improved color functions.
- Added
a-adjust()function for altering a color's opacity. - Deprecated hsl-adjust function (you can use nested color functions instead).
- Added the ability to use local versions of alias and plugin files so pull updates don't clobber local settings.
- Added hook system for plugins.
- Plugins split into seperate files.
- Aliases and Plugins files renamed with '.ini' file extensions to be editor friendly.
- Added opacity plugin.
- Updated filter plugin.
- Fixed nested custom function parsing (issue #14).
- Added output_filename option.
- Added vendor_target option.
- Renamed 'macros' to the more general 'plugins' and split them into their own files.
- Removed superfluous outer containing directory (update your include paths).
- Fixed regression with absolute URL file imports (issue #12).
- Fixed minification bug (issue #13).
- Updated variable syntax.
- Fixed minification bug.
- Added support for svg and svgz data uris.
- Added animation shorthand alias.
- Added user-select alias.
- Added the public function
CssCrush::stringfor processing raw strings of CSS. - Added color functions.
- Added aliases for IE10.
- File importer rewritten.
- Added support for global variables.
- Added support for variable interpolation within string literals.
- Added
CssCrush::tagmethod for outputting an html link tag instead of returning a filename. - Added values aliases, dynamic 'runtime' variables.
- Added RGBA macro.
- Added IE clip macro.
- Added data uri function.
- Minor correction to WAMP support.
- Minor fix to rule API.
- Major refactoring.
- Custom functions.
- Optional boilerplate.
- Double colon syntax shim.
- Resolved document root issues.
- Minification improvements.
- Initial release.