mirror of
https://github.com/mrclay/minify.git
synced 2025-07-31 19:30:29 +02:00
Version constant bump, disable min_extras, docs updates
This commit is contained in:
143
HISTORY.md
Normal file
143
HISTORY.md
Normal file
@@ -0,0 +1,143 @@
|
||||
## 3.0 progress
|
||||
* Better CSS minification via Túbal Martín's CSSMin
|
||||
* Docs overhaul
|
||||
* New API incompatible with the 2.x versions
|
||||
* Installation requires use of Composer to install dependencies
|
||||
* Add config option for simply concatenating files
|
||||
|
||||
## Version 2.2.1 (2014-10-30)
|
||||
* Builder styled with Bootstrap (thanks to help from acidvertigo)
|
||||
* Update CSSmin to v.2.4.8
|
||||
* Added WinCache
|
||||
* URLs with spaces properly rewritten
|
||||
|
||||
## Version 2.2.0 (2014-03-12)
|
||||
* Fix handling of RegEx in certain situations in JSMin
|
||||
* Thanks to Vovan-VE for reporting this
|
||||
* Update composer.json with support info
|
||||
* Add ability to set ClosureCompiler URL
|
||||
* Thanks Elan Ruusamäe for the pull request
|
||||
* Better report of temp directory errors
|
||||
* Also thanks to Elan Ruusamäe for anatoher pull request
|
||||
* Updated CSSmin and added Minify_CSSmin wrapper
|
||||
* Fix windows issue associated with long cache filenames
|
||||
* Fix issue with web-based tool
|
||||
* Fix bug in JSMin exceptions
|
||||
* Fix "about:blank" bug in CSS_UriRewriter
|
||||
* Cite is no longer a block element in HTML minification
|
||||
* Allow for definition of custom config locations outside of the min directory
|
||||
* Thanks Sam Bauers for the pull request
|
||||
* Allow option for overriding the maximum byte size POST limit for ClosureCompiler and other additions
|
||||
* Thanks Joscha Feth for the code
|
||||
* Fixes to file-relative URL identification in UriRewriter
|
||||
* Allow far-future expiration and file versioning with the "v" querystirng parameter in addition to existing method
|
||||
* Lots of general code tidy ups
|
||||
|
||||
## Version 2.1.7 (2013-07-23)
|
||||
* Fixes arbitrary file inclusion vulnerability on some systems
|
||||
* Thanks to Matt Mecham for reporting this
|
||||
|
||||
## Version 2.1.6 (2013-07-19)
|
||||
* JSMin fixes
|
||||
* Prevents some Closure Compiler API failures
|
||||
* Uses autoloading for all class loading
|
||||
* Multiple group support in HTML Helper
|
||||
* Cache adaptor for XCache
|
||||
* Allow setting stack-size in YUI Compressor wrapper
|
||||
* Adds jsCleanComments option to HTML minifier
|
||||
* Upgrades CSSmin
|
||||
* CLI script more portable
|
||||
* Adds composer.json
|
||||
|
||||
## Version 2.1.5 (2012-03-10)
|
||||
* Removed XSS vulnerability
|
||||
* Disabled builder by default
|
||||
* command line tools to minify and rewrite URIs in CSS
|
||||
* upgrade (optional) JSMin+ library
|
||||
* more efficient JS minification when using CC/YUIC
|
||||
* Closure Compiler uses cURL when allow\_url\_fopen is off
|
||||
* Missing file notices when using groups
|
||||
|
||||
## Version 2.1.4b (2010-07-10)
|
||||
* Option to minify JS with Closure Compiler API w/ JSMin failover
|
||||
* Cookie/bookmarklet-based debug mode. No HTML editing!
|
||||
* Allows 1 file to be missing w/o complete failure
|
||||
* Combine multiple groups and files in single URI
|
||||
* More useful HTML helpers for writing versioned URIs
|
||||
* More detailed error logging, including minifier exceptions
|
||||
* Builder offers more helpful messages/PHP environment warnings
|
||||
* Bypass minification based on filename pattern. e.g. foo.min.js / foo-min.css
|
||||
* JSMin won't choke on common Closure compiler syntaxes (`i+ ++j`)
|
||||
* Better caching in IE6
|
||||
* Cache ids are influenced by group/file names
|
||||
* Debug mode for Javascript doesn't break on common XPath strings (Prototype 1.6)
|
||||
* Removed annoying maxFiles limit
|
||||
* mbstring.func\_overload usage is safer
|
||||
|
||||
## Version 2.1.3 (2009-06-30)
|
||||
* CSS fixes
|
||||
* A few URI rewriting bugs fixed
|
||||
* comment/whitespace removal no longer breaks some values
|
||||
* IE6 [pseudo-element selector bug](http://www.crankygeek.com/ie6pebug/) no longer triggered
|
||||
* HTTP fixes
|
||||
* Proper Expires handling in webkit (dropped "must-revalidate", which triggered a [webkit bug](http://mrclay.org/index.php/2009/02/24/safari-4-beta-cache-controlmust-revalidate-bug/))
|
||||
* ETag generation now valid ([must be unique when gzipped](https://issues.apache.org/bugzilla/show_bug.cgi?id=39727))
|
||||
* Vary header always sent when Accept-Encoding is sniffed
|
||||
* Dropped deflate encoding, since browser and proxy support [could be buggy](http://stackoverflow.com/questions/883841/).
|
||||
* File cache now works w/o setting `$min_cachePath`
|
||||
* No more 5.3 deprecation warnings: `split()` removed
|
||||
* API: Can set contentType Minify\_Source objects (fixes an annoying [caveat](http://groups.google.com/group/minify/msg/8446d32ee99a4961))
|
||||
* [Resolved Issue list](http://code.google.com/p/minify/issues/list?can=1&q=label%3ARelease-2.1.2%20status%3AVerified)
|
||||
|
||||
## Version 2.1.2 (2009-03-04)
|
||||
* Javascript fixes
|
||||
* Debug mode no longer confused by `*/*` in strings/RegExps (jQuery)
|
||||
* quote characters inside RegExp literals no longer cause exception
|
||||
* files ending in single-line comments no longer cause code loss
|
||||
* CSS: data: URLs no longer mangled
|
||||
* Optional error logging to Firefox's FirePHP extension
|
||||
* Unit tests to check for common DOCUMENT\_ROOT problems
|
||||
* DOCUMENT\_ROOT no longer overwritten on IIS servers
|
||||
* Builder app doesn't fail on systems without gzdeflate()
|
||||
* APC caching class included
|
||||
|
||||
## Version 2.1.1 (2008-10-19)
|
||||
* Bug fix release
|
||||
* Detection and workarounds for zlib.output\_compression and non-PHP encoding modules
|
||||
* Zlib not required (mod\_rewrite, et.al., can still be used for encoding)
|
||||
* HTML : More IE conditional comments preserved
|
||||
* Minify\_groupUri() utility fixed
|
||||
|
||||
## Version 2.1.0 (2008-09-18)
|
||||
* "min" default application for quick deployment
|
||||
* Minify URI Builder app & bookmarklet for quickly creating minify URIs
|
||||
* Relative URIs in CSS file are fixed automatically by default
|
||||
* "debug" mode for revealing original line #s in combined files
|
||||
* Better IIS support
|
||||
* Improved minifier classes:
|
||||
* JS: preserves IE conditional comments
|
||||
* CSS: smaller output, preserves more hacks and valid CSS syntax, shorter line lengths, other bug fixes
|
||||
* HTML: smaller output, shorter line lengths, other bug fixes
|
||||
* Default Cache-Control: max-age of 30 minutes
|
||||
* Conditional GETs supported even when max-age sent
|
||||
* Experimental memcache cache class (default is files)
|
||||
* Minify\_Cache\_File has flock()s (by default)
|
||||
* Workaround for Windows mtime reporting bug
|
||||
|
||||
|
||||
## Version 2.0.0 (2008-05-22)
|
||||
* Complete code overhaul. Minify is now a PEAR-style class and toolkit for building customized minifying file servers.
|
||||
* Content-Encoding: deflate/gzip/compress, based on request headers
|
||||
* Expanded CSS and HTML minifiers with test cases
|
||||
* Easily plug-in 3rd-party minifiers (like Packer)
|
||||
* Plug-able front end controller allows changing the way files are chosen
|
||||
* Compression & encoding modules lazy-loaded as needed (304 responses use minimal code)
|
||||
* Separate utility classes for HTTP encoding and cache control
|
||||
|
||||
## Version 1.0.1 (2007-05-05)
|
||||
* Fixed various problems resolving pathnames when hosted on an NFS mount.
|
||||
* Fixed 'undefined constant' notice.
|
||||
* Replaced old JSMin library with a much faster custom implementation.
|
||||
|
||||
## Version 1.0.0 (2007-05-02)
|
||||
* First release.
|
145
HISTORY.txt
145
HISTORY.txt
@@ -1,145 +0,0 @@
|
||||
Minify Release History
|
||||
|
||||
Version 3.0.0
|
||||
* Better CSS minification via Túbal Martín's CSSMin
|
||||
* New API incompatible with the 2.x versions
|
||||
* Installation requires use of Composer to install dependencies
|
||||
* Builder styled with Bootstrap (thanks to help from acidvertigo)
|
||||
* Add config option for simply concatenating files
|
||||
|
||||
Version 2.2.0
|
||||
* Fix handling of RegEx in certain situations in JSMin
|
||||
* Thanks to Vovan-VE for reporting this
|
||||
* Update composer.json with support info
|
||||
* Add ability to set ClosureCompiler URL
|
||||
* Thanks Elan Ruusamäe for the pull request
|
||||
* Better report of temp directory errors
|
||||
* Also thanks to Elan Ruusamäe for anatoher pull request
|
||||
* Updated CSSmin and added Minify_CSSmin wrapper
|
||||
* Fix windows issue associated with long cache filenames
|
||||
* Fix issue with web-based tool
|
||||
* Fix bug in JSMin exceptions
|
||||
* Fix "about:blank" bug in CSS_UriRewriter
|
||||
* Cite is no longer a block element in HTML minification
|
||||
* Allow for definition of custom config locations outside of the min directory
|
||||
* Thanks Sam Bauers for the pull request
|
||||
* Allow option for overriding the maximum byte size POST limit for ClosureCompiler and other additions
|
||||
* Thanks Joscha Feth for the code
|
||||
* Fixes to file-relative URL identification in UriRewriter
|
||||
* Allow far-future expiration and file versioning with the "v" querystirng parameter in addition to existing method
|
||||
* Lots of general code tidy ups
|
||||
|
||||
Version 2.1.7
|
||||
* Fixes arbitrary file inclusion vulnerability on some systems
|
||||
* Thanks to Matt Mecham for reporting this
|
||||
|
||||
Version 2.1.6
|
||||
* JSMin fixes
|
||||
* Prevents some Closure Compiler API failures
|
||||
* Uses autoloading for all class loading
|
||||
* Multiple group support in HTML Helper
|
||||
* Cache adaptor for XCache
|
||||
* Allow setting stack-size in YUI Compressor wrapper
|
||||
* Adds jsCleanComments option to HTML minifier
|
||||
* Upgrades CSSmin
|
||||
* CLI script more portable
|
||||
* Adds composer.json
|
||||
|
||||
Version 2.1.5
|
||||
* Removed XSS vulnerability
|
||||
* Disabled builder bby default
|
||||
* command line tools to minify and rewrite URIs in CSS
|
||||
* upgrade (optional) JSMin+ library
|
||||
* more efficient JS minification when using CC/YUIC
|
||||
* Closure Compiler uses cURL when allow_url_fopen is off
|
||||
* Missing file notices when using groups
|
||||
|
||||
Version 2.1.4
|
||||
* Option to minify JS with Closure Compiler API w/ JSMin failover
|
||||
* Cookie/bookmarklet-based debug mode. No HTML editing!
|
||||
* Allows 1 file to be missing w/o complete failure
|
||||
* Combine multiple groups and files in single URI
|
||||
* More useful HTML helpers for writing versioned URIs
|
||||
* More detailed error logging, including minifier exceptions
|
||||
* Builder offers more helpful messages/PHP environment warnings
|
||||
* Bypass minification based on filename pattern. e.g. foo.min.js / foo-min.css
|
||||
* JSMin won't choke on common Closure compiler syntaxes (i+ ++j)
|
||||
* Better caching in IE6
|
||||
* Cache ids are influenced by group/file names
|
||||
* Debug mode for Javascript doesn't break on common XPath strings (Prototype 1.6)
|
||||
* Removed annoying maxFiles limit
|
||||
* mbstring.func_overload usage is safer
|
||||
|
||||
Version 2.1.3
|
||||
* HTTP fixes
|
||||
* ETag generation now valid (different when gzipped)
|
||||
* Vary header always sent when Accept-Encoding is sniffed
|
||||
* Cache-Control no longer has "must-revalidate" due to webkit bug
|
||||
See: http://mrclay.org/index.php/2009/02/24/safari-4-beta-cache-controlmust-revalidate-bug/
|
||||
* Dropped deflate encoding. Browser and proxy support could be buggy.
|
||||
See: http://stackoverflow.com/questions/883841/
|
||||
* File cache now works w/o setting $min_cachePath
|
||||
* Allow setting contentType in Minify_Source objects
|
||||
* No more 5.3 deprecation warnings: split() removed
|
||||
|
||||
Version 2.1.2
|
||||
* Javascript fixes
|
||||
* Debug mode no longer confused by "*/*" in strings/RegExps (jQuery)
|
||||
* quote characters inside RegExp literals no longer cause exception
|
||||
* files ending in single-line comments no longer cause code loss
|
||||
* CSS: data: URLs no longer mangled
|
||||
* Optional error logging to Firefox's FirePHP extension
|
||||
* Unit tests to check for common DOCUMENT_ROOT problems
|
||||
* DOCUMENT_ROOT no longer overwritten on IIS servers
|
||||
* Builder app doesn't fail on systems without gzdeflate()
|
||||
* APC caching class included
|
||||
|
||||
Version 2.1.1
|
||||
* Bug fix release
|
||||
* Detection and workarounds for zlib.output_compression and non-PHP encoding modules
|
||||
* Zlib not required (mod_rewrite, et.al., can still be used for encoding)
|
||||
* HTML : More IE conditional comments preserved
|
||||
* Minify_groupUri() utility fixed
|
||||
|
||||
Version 2.1.0
|
||||
* "min" default application for quick deployment
|
||||
* Minify URI Builder app & bookmarklet for quickly creating minify URIs
|
||||
* Relative URIs in CSS file are fixed automatically by default
|
||||
* "debug" mode for revealing original line #s in combined files
|
||||
* Better IIS support
|
||||
* Improved minifier classes:
|
||||
* JS: preserves IE conditional comments
|
||||
* CSS: smaller output, preserves more hacks and valid CSS syntax,
|
||||
shorter line lengths, other bug fixes
|
||||
* HTML: smaller output, shorter line lengths, other bug fixes
|
||||
* Default Cache-Control: max-age of 30 minutes
|
||||
* Conditional GETs supported even when max-age sent
|
||||
* Experimental memcache cache class (default is files)
|
||||
* Minify_Cache_File has flock()s (by default)
|
||||
* Workaround for Windows mtime reporting bug
|
||||
|
||||
Version 2.0.2 beta (2008-06-24)
|
||||
* Fast new cache system. Cached files served almost 3x as fast.
|
||||
* Dropped support of compress encoding (though HTTP_Encoder still supports it)
|
||||
|
||||
Version 2.0.1 (2008-05-31)
|
||||
* E_STRICT compliance (Cache_Lite_File).
|
||||
|
||||
Version 2.0.0 (2008-05-22)
|
||||
* Complete code overhaul. Minify is now a PEAR-style class and toolkit
|
||||
for building customized minifying file servers.
|
||||
* Content-Encoding: deflate/gzip/compress, based on request headers
|
||||
* Expanded CSS and HTML minifiers with test cases
|
||||
* Easily plug-in 3rd-party minifiers (like Packer)
|
||||
* Plug-able front end controller allows changing the way files are chosen
|
||||
* Compression & encoding modules lazy-loaded as needed (304 responses use
|
||||
use minimal code)
|
||||
* Separate utility classes for HTTP encoding and cache control
|
||||
|
||||
Version 1.0.1 (2007-05-05)
|
||||
* Fixed various problems resolving pathnames when hosted on an NFS mount.
|
||||
* Fixed 'undefined constant' notice.
|
||||
* Replaced old JSMin library with a much faster custom implementation.
|
||||
|
||||
Version 1.0.0 (2007-05-02)
|
||||
* First release.
|
@@ -1,6 +1,6 @@
|
||||
Minify ships with "Builder", a simple Javascript app for constructing URIs to use with Minify. ([screenshots of the 2.1.0 version](http://www.mrclay.org/index.php/2008/09/19/minify-21-on-mrclayorg/))
|
||||
|
||||
It also does some run-time checks of your PHP and Minify configuration to look for problematic settings like [auto-encoding](http://code.google.com/p/minify/wiki/CommonProblems#Output_is_distorted/random_chars).
|
||||
It also does some run-time checks of your PHP and Minify configuration to look for problematic settings like [auto-encoding](CommonProblems.wiki.md#output-is-distortedrandom-chars).
|
||||
|
||||
After installation, this is found at **`http://example.com/min/builder/`**
|
||||
|
||||
|
@@ -1,39 +1,22 @@
|
||||
## Minify doesn't compress as much as product XYZ. Why not?
|
||||
## Minify (JSMin) doesn't compress as much as product XYZ. Why not?
|
||||
|
||||
Out of the box, Minify uses algorithms available in PHP, which frankly aren't as solid as competing products, but I consider them _good enough_. At this point I don't have time to work on further tweaking, so if you must have _perfect_ minification you can explore the CookBook to plug in other minifiers. If you'd like to propose specific tweaks in the algorithm (and don't have a patch), please propose these in the Google Group, not the issue tracker.
|
||||
The simple JSMin algorithm is the most reliable in PHP, but check the [CookBook](CookBook.wiki.md) to plug in other minifiers.
|
||||
|
||||
## How fast is it?
|
||||
|
||||
With Minify you will ideally serve _fewer_ requests, but Minify can be slower than your HTTPd serving flat files. If you have a high-traffic site with hundreds of simultaneous requests from new users, you should probably:
|
||||
|
||||
* Use the [APC/Memcache adapters](CookBook.md).
|
||||
* Revision your Minify URIs (so far-off Expires headers will be sent). One way to do this is using [predefined groups](http://code.google.com/p/minify/source/browse/tags/release_2.1.3/min/README.txt#69) and the [Minify\_groupUri()](http://code.google.com/p/minify/source/browse/tags/release_2.1.3/min/utils.php#13) utility function.
|
||||
* Place your HTTPd behind a [reverse proxy](http://www.squid-cache.org/Intro/why.dyn) to cache the Minify URLs.
|
||||
* Benchmark Minify on your development server before rolling out to production.
|
||||
|
||||
### Will it get faster?
|
||||
|
||||
Ideally, but a couple [other goals](ProjectGoals.md) come first. For Apache users we're designing a feature to enable [minified and pre-encoded files to be served directly from the HTTPd](http://mrclay.org/index.php/2008/05/25/apache-http-encoding-negotiation-notes/). Requests will not execute PHP at all and be blazingly fast (for varying definitions of "blazingly").
|
||||
|
||||
## How does it compare with other services?
|
||||
|
||||
Yahoo's [Combo Handler](http://yuiblog.com/blog/2008/07/16/combohandler/) and Google's [AJAX Libraries API](http://code.google.com/apis/ajaxlibs/) both serve content from their heavy-duty [CDN](http://en.wikipedia.org/wiki/Content_Delivery_Network)s and _potentially_ increase the chance that your visitor will already have a file in her browser cache. Neither service serves custom content that you provide. You may wish to use these services to serve popular libraries and Minify to serve your code.
|
||||
|
||||
## Is this where I get support for...
|
||||
|
||||
If you get a link to this page in response to a request for help, please make sure that you're using the software downloaded from [this project](http://code.google.com/p/minify/) (or [on github](https://github.com/mrclay/minify)), and have followed the [directions](UserGuide.md).
|
||||
|
||||
There are many projects with "minify" in the title/description but don't have anything to do with this project, or which many only use a few [components](ComponentClasses.md) from this project.
|
||||
|
||||
Although you may be able to get support for usage of the components, the [Google Group](http://groups.google.com/group/minify) members/project owners may not be able to offer any helpful advice with unrelated projects.
|
||||
Certainly not as fast as an HTTPd serving flat files. On a high-traffic site:
|
||||
|
||||
* **Use a reverse proxy** to cache the Minify URLs. This is by far the most important tip.
|
||||
* Revision your Minify URIs (so far-off Expires headers will be sent). One way to do this is using [groups](UserGuide.wiki.md#using-groups-for-nicer-urls) and the [Minify_groupUri()](UserGuide.wiki.md#far-future-expires-headers) utility function. Without this, clients will re-request Minify URLs every 30 minutes to check for updates.
|
||||
* Use the [APC/Memcache adapters](CookBook.wiki.md).
|
||||
|
||||
## Does it support gzip compression?
|
||||
|
||||
Yes. Based on the browser's Accept-Encoding header, Minify will serve content encoded with deflate or gzip.
|
||||
Yes. Based on the browser's Accept-Encoding header.
|
||||
|
||||
## Does it work with PHP opcode caches like APC and eAccelerator?
|
||||
## Does it work with PHP opcode caches?
|
||||
|
||||
Of course, and you can also use [APC for content caching](CookBook.wiki.md).
|
||||
Yes, and you can also use [APC for content caching](CookBook.wiki.md).
|
||||
|
||||
## Can it minify remote files/the output of dynamic scripts?
|
||||
|
||||
@@ -41,25 +24,23 @@ Of course, and you can also use [APC for content caching](CookBook.wiki.md).
|
||||
|
||||
## Is there a minifier for HTML?
|
||||
|
||||
Yes, the class `Minify_HTML` does this. It also can accept callbacks to minify embedded STYLE and SCRIPT elements.
|
||||
|
||||
Since Minify_HTML is not fast, there's no _easy way_ to integrate it into dynamic pages, and you'll have to search the archives for ideas of how to use it. One opportunity would be when storing HTML (assuming writes are infrequent); e.g., in a DB keep one copy for editing and one minified for serving.
|
||||
|
||||
Minify is not suited for _serving_ HTML pages on a site, though it can be done for small numbers of static pages. Look at `Minify_Controller_Page`.
|
||||
The class `Minify_HTML` can do this (and minify embedded STYLE and SCRIPT elements), but it's too slow to use directly. You'd want to integrate it into a system that caches the output. E.g., in a CMS, keep one copy for editing and one minified for serving.
|
||||
|
||||
## How does it ensure that the client can't request files it shouldn't have access to?
|
||||
|
||||
In 2.1, by default, Minify allows files to be specified using the URI, or using pre-configured sets of files. With URI-specified files, Minify is [very careful](Security.wiki.md) to serve only JS/CSS files that are already public on your server, but if you hide public directories--with .htaccess, e.g.--Minify can't know that. Obvious Tip: don't put sensitive info in JS/CSS files inside DOC\_ROOT :)
|
||||
Minify allows files to be specified using the URI, or using pre-configured sets of files. With URI-specified files, Minify is very careful to serve only JS/CSS files that are already public on your server, but if you hide public directories--with .htaccess, e.g.--Minify can't know that. Obvious Tip: don't put sensitive info in JS/CSS files inside DOC_ROOT :)
|
||||
|
||||
An included option can disable URI-specified files so Minify will serve only the pre-configured file sets.
|
||||
|
||||
## Is it used in production by any large-scale websites?
|
||||
|
||||
I'd love to know. 2.1.1 had 54K downloads and I know the library is powering several [plugins](http://mrclay.org/index.php/2009/01/10/minify-getting-out-there/) these days, at least 3 for WordPress.
|
||||
The libraries are used in many CMS's and frameworks, but the use of `index.php` to serve URLs like http://example.com/min/f=hello.js probably is rare. Minify is made to drop in place to boost small to medium sites not already built for performance.
|
||||
|
||||
Version 2.1.1 had 54K downloads.
|
||||
|
||||
## Can I use it with my commercial website or product?
|
||||
|
||||
Yes. Minify is distributed under the [New BSD License](http://www.opensource.org/licenses/bsd-license.php), which means that you're free to use, modify, and redistribute Minify or derivative works thereof, even for commercial purposes, as long as you comply with a few simple requirements. See the [LICENSE.txt](https://github.com/mrclay/minify/blob/master/LICENSE.txt) file for details.
|
||||
Yes. Minify is distributed under the [New BSD License](http://www.opensource.org/licenses/bsd-license.php).
|
||||
|
||||
## How can I tell if my server cache is working?
|
||||
|
||||
|
@@ -69,5 +69,5 @@ You can enable the script `min/server-info.php` and open http://example.org/min/
|
||||
|
||||
1. Make sure you have the latest version.
|
||||
1. Enable [debug mode](Debugging.wiki.md), which will show you the URI transformation process.
|
||||
1. Check that `$_SERVER['DOCUMENT_ROOT']` is a real directory path. If not, URI rewriting will fail. If you cannot fix this in httpd.conf, etc., use the [configuration option](http://code.google.com/p/minify/source/browse/min/config.php?r=292#47).
|
||||
1. Check that `$_SERVER['DOCUMENT_ROOT']` is the correct directory path. If not, URI rewriting will fail. If you cannot fix this in httpd.conf, etc., set `$min_documentRoot` in config.php.
|
||||
1. Paste your [debug mode](Debugging.wiki.md) comment block into a new post on the [minify mailing list](http://groups.google.com/group/minify).
|
||||
|
@@ -1,92 +0,0 @@
|
||||
## Version 2.1.5 (2012-03-10)
|
||||
* Removed XSS vulnerability
|
||||
* Disabled builder by default
|
||||
* command line tools to minify and rewrite URIs in CSS
|
||||
* upgrade (optional) JSMin+ library
|
||||
* more efficient JS minification when using CC/YUIC
|
||||
* Closure Compiler uses cURL when allow\_url\_fopen is off
|
||||
* Missing file notices when using groups
|
||||
|
||||
## Version 2.1.4b (2010-07-10)
|
||||
* Option to minify JS with Closure Compiler API w/ JSMin failover
|
||||
* Cookie/bookmarklet-based debug mode. No HTML editing!
|
||||
* Allows 1 file to be missing w/o complete failure
|
||||
* Combine multiple groups and files in single URI
|
||||
* More useful HTML helpers for writing versioned URIs
|
||||
* More detailed error logging, including minifier exceptions
|
||||
* Builder offers more helpful messages/PHP environment warnings
|
||||
* Bypass minification based on filename pattern. e.g. foo.min.js / foo-min.css
|
||||
* JSMin won't choke on common Closure compiler syntaxes (`i+ ++j`)
|
||||
* Better caching in IE6
|
||||
* Cache ids are influenced by group/file names
|
||||
* Debug mode for Javascript doesn't break on common XPath strings (Prototype 1.6)
|
||||
* Removed annoying maxFiles limit
|
||||
* mbstring.func\_overload usage is safer
|
||||
|
||||
## Version 2.1.3 (2009-06-30)
|
||||
* CSS fixes
|
||||
* A few URI rewriting bugs fixed
|
||||
* comment/whitespace removal no longer breaks some values
|
||||
* IE6 [pseudo-element selector bug](http://www.crankygeek.com/ie6pebug/) no longer triggered
|
||||
* HTTP fixes
|
||||
* Proper Expires handling in webkit (dropped "must-revalidate", which triggered a [webkit bug](http://mrclay.org/index.php/2009/02/24/safari-4-beta-cache-controlmust-revalidate-bug/))
|
||||
* ETag generation now valid ([must be unique when gzipped](https://issues.apache.org/bugzilla/show_bug.cgi?id=39727))
|
||||
* Vary header always sent when Accept-Encoding is sniffed
|
||||
* Dropped deflate encoding, since browser and proxy support [could be buggy](http://stackoverflow.com/questions/883841/).
|
||||
* File cache now works w/o setting `$min_cachePath`
|
||||
* No more 5.3 deprecation warnings: `split()` removed
|
||||
* API: Can set contentType Minify\_Source objects (fixes an annoying [caveat](http://groups.google.com/group/minify/msg/8446d32ee99a4961))
|
||||
* [Resolved Issue list](http://code.google.com/p/minify/issues/list?can=1&q=label%3ARelease-2.1.2%20status%3AVerified)
|
||||
|
||||
## Version 2.1.2 (2009-03-04)
|
||||
* Javascript fixes
|
||||
* Debug mode no longer confused by `*/*` in strings/RegExps (jQuery)
|
||||
* quote characters inside RegExp literals no longer cause exception
|
||||
* files ending in single-line comments no longer cause code loss
|
||||
* CSS: data: URLs no longer mangled
|
||||
* Optional error logging to Firefox's FirePHP extension
|
||||
* Unit tests to check for common DOCUMENT\_ROOT problems
|
||||
* DOCUMENT\_ROOT no longer overwritten on IIS servers
|
||||
* Builder app doesn't fail on systems without gzdeflate()
|
||||
* APC caching class included
|
||||
|
||||
## Version 2.1.1 (2008-10-19)
|
||||
* Bug fix release
|
||||
* Detection and workarounds for zlib.output\_compression and non-PHP encoding modules
|
||||
* Zlib not required (mod\_rewrite, et.al., can still be used for encoding)
|
||||
* HTML : More IE conditional comments preserved
|
||||
* Minify\_groupUri() utility fixed
|
||||
|
||||
## Version 2.1.0 (2008-09-18)
|
||||
* "min" default application for quick deployment
|
||||
* Minify URI Builder app & bookmarklet for quickly creating minify URIs
|
||||
* Relative URIs in CSS file are fixed automatically by default
|
||||
* "debug" mode for revealing original line #s in combined files
|
||||
* Better IIS support
|
||||
* Improved minifier classes:
|
||||
* JS: preserves IE conditional comments
|
||||
* CSS: smaller output, preserves more hacks and valid CSS syntax, shorter line lengths, other bug fixes
|
||||
* HTML: smaller output, shorter line lengths, other bug fixes
|
||||
* Default Cache-Control: max-age of 30 minutes
|
||||
* Conditional GETs supported even when max-age sent
|
||||
* Experimental memcache cache class (default is files)
|
||||
* Minify\_Cache\_File has flock()s (by default)
|
||||
* Workaround for Windows mtime reporting bug
|
||||
|
||||
|
||||
## Version 2.0.0 (2008-05-22)
|
||||
* Complete code overhaul. Minify is now a PEAR-style class and toolkit for building customized minifying file servers.
|
||||
* Content-Encoding: deflate/gzip/compress, based on request headers
|
||||
* Expanded CSS and HTML minifiers with test cases
|
||||
* Easily plug-in 3rd-party minifiers (like Packer)
|
||||
* Plug-able front end controller allows changing the way files are chosen
|
||||
* Compression & encoding modules lazy-loaded as needed (304 responses use minimal code)
|
||||
* Separate utility classes for HTTP encoding and cache control
|
||||
|
||||
## Version 1.0.1 (2007-05-05)
|
||||
* Fixed various problems resolving pathnames when hosted on an NFS mount.
|
||||
* Fixed 'undefined constant' notice.
|
||||
* Replaced old JSMin library with a much faster custom implementation.
|
||||
|
||||
## Version 1.0.0 (2007-05-02)
|
||||
* First release.
|
@@ -20,11 +20,11 @@
|
||||
* @author Stephen Clay <steve@mrclay.org>
|
||||
* @copyright 2008 Ryan Grove, Stephen Clay. All rights reserved.
|
||||
* @license http://opensource.org/licenses/bsd-license.php New BSD License
|
||||
* @link http://code.google.com/p/minify/
|
||||
* @link https://github.com/mrclay/minify
|
||||
*/
|
||||
class Minify {
|
||||
|
||||
const VERSION = '2.2.0';
|
||||
const VERSION = '3.0.0';
|
||||
const TYPE_CSS = 'text/css';
|
||||
const TYPE_HTML = 'text/html';
|
||||
// there is some debate over the ideal JS Content-Type, but this is the
|
||||
|
@@ -9,6 +9,7 @@
|
||||
*
|
||||
* @package Minify
|
||||
* @author Stephen Clay <steve@mrclay.org>
|
||||
* @deprecated Use Composer (/vendor/autoload.php)
|
||||
*/
|
||||
class Minify_Loader {
|
||||
public function loadClass($class)
|
||||
|
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
die('Must be rewritten for new API');
|
||||
|
||||
require __DIR__ . '/../../bootstrap.php';
|
||||
|
||||
|
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
die('Must be rewritten for new API');
|
||||
/**
|
||||
* Fetch and minify a URL (auto-detect HTML/JS/CSS)
|
||||
*/
|
||||
|
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
die('Must be rewritten for new API');
|
||||
|
||||
require __DIR__ . '/../../bootstrap.php';
|
||||
|
||||
|
Reference in New Issue
Block a user