- 1 V1.4.24 (Stable)
- 2 Legacy Releases
- Added module info to output when running OpenLiteSpeed with --version;
- Added more PHP SERVER variables.
- Fixed a bug that sometimes causes responses to have multiple content-type headers.
- Fixed a bug that sometimes caused an ininite loop in spdy/http2 connections.
- Fixed a bug where "requests per second" throttling would not work.
- Updated rewrite rules to support '"' in the ENV value.
- Updated Pagespeed library to 18.104.22.168.
- Added addETag to cache parameters to make it possible to force add an etag for a cached item.
- Fixed a bug related to "cache-vary" environments.
- Updated status codes for stored dynamic content to allow values other than 200.
- Updated to support multiple purge headers.
- Updated to support multiple purged tags in one purge header.
- Added functionality to the purge response header to mark a cached page as stale.
- Added functionality to the purge response header to purge by URL.
- Added configuration options to specify the locations of the real time report and .status files.
- Updated the look of the Example page.
- Protected against the target=_blank vulnerability.
- Fixed a bug where the server would return a 400 error when it received an HTTP PATCH requests.
- Fixed a bug that sometimes caused core dumps due to a static file cache memory error.
- Updated ./configure to support customizing the WebAdmin listener port with the “--with-adminport” parameter.
- Updated dist/install.sh to handle incorrect parameters during installation and ./configure.
- Updated the WebAdmin to add vhdomain and vhaliases to the virtual host's .conf file when instantiating from a vhost template.
- Fixed shm folder permissions.
- Fixed a bug where vhost aliases weren’t being set correctly.
- Fixed a bug where www.HOSTNAME and HOSTNAME did not have the same VHOST during comparison.
- Fixed a bug where the server level External App suEXEC User and suEXEC Group settings were not used.
- Fixed a bug that sometimes caused 503 errors.
- Improved open file cache efficiency.
- Real time report data will now be written to
/dev/shmif available. (instead of
- Fixed a bug where when handling static files, the number of open files would keep growing, sometimes causing a 503 error.
- Security: Automatically block HttpProxy attacks with no configuration needed.
- Remove dependency on the operating system’s version of openssl by statically linking to the latest stable openssl libraries from the source code.
- Fixed a compatibility issue between chrome (versions 51+) and openssl versions < 1.0.2 that would force HTTP/2 connections to HTTP 1.1.
- Fixed a bug where openssl 1.0.2 sometimes caused server crashes.
- Fixed a bug where sendfile may cause compiling error.
- Updated RewriteEngine::expandEnv() to parse cache-control:vary and cache-vary when setting the request environment.
- Removed the "Content-Encoding: none" response header.
- Fixed a bug that sometimes caused crashes when using SSL connections.
- Fixed a bug that caused SSL connections to reset to HTTP in some cases.
- Fixed a bug in rewritefile loading that could cause crashing.
- Fixed a bug where envHashT was case-sensitive, causing matching problems.
- Updated to detect HTTPS connections more accurately.
- Cache TTL time is now set to 30 seconds if the page is set for a longer time.
- The cache-control header is now kept if contained in the original response.
- Fixed a bug that sometimes caused crashes during a graceful restart.
- Fixed bug where public cache was not being used.
- Fixed a bug where IPs of different lengths would cause public cache key verification to fail.
- Fixed a bug that caused cache-control: max-age to not work.
- Fixed a bug where the X-Litespeed-Cache-Control response header would sometimes not work.
- Updated the eventCbQue to make it more stable.
- Added APIs to support event callbacks.
- Fixed a SPDY bug that caused the connection to drop if it cannot flush anything in 20 seconds.
- Fixed a bug where SPDY and HTTP2 streams would hang when the connection buffer was full.
- Fixed a bug that caused incorrect version information to be displayed in the WebAdmin Console.
PageSpeed Module .
- Updated to the latest PSOL library.
- Fixed a bug that could cause a crash when configuration parameters are empty.
- Code optimization relating to memory use/passing.
- Updated module configuration format to be compatible with PageSpeed module configurations for Apache and Nginx.
- The outcome of parsing configuration parameters will now be written to log.
- Fixed a bug that prevented the public cache from being purged.
- Cache object hashkey are now re-calculated if the response headers contain a "set-cookie" header when creating a cache entry to avoid invalidating the cache.
- WebAdmin will now display a notice when a newer version of OLS is available.
- Added modinspector module which scans uploaded files.
- Updated dlpsol.sh removed pushd and popd as some platforms don't support them.
- Improved static file serving speed by adding url and static file cache mapping.
- Optimized epoll to avoid sending an extra EPOLL_CTL_MOD after EPOLL_CTL_ADD.
- Optimized the fixed response header by adding a method.
- Fixed a bug related to proxying name based rewrite rules.
- Fixed a bug in the pagespeed module where query strings were not treated as a part of the uri.
- Fixed a bug in our rewrite engine log where more parameters were printed than intended.
- Fixed a bug where sendfile() sometimes caused crashes when the browser required gzip.
- Fixed a bug where the H2Stream peer count was inaccurate due to a delay between sending FIN and removing the stream.
- Updated GeoIP to detect bad databases.
- Fixed a bug in HTTP2 stream window update handling.
- Changed example vhost configuration to use server's error.log.
- Added more APIs to lsiapi.
- Updated httpextconnector to handle big files.
- Updated admin/misc/build_admin_php.sh to support more download methods.
- Add $VH_DOMAIN variable support for VHost configuration.
- Updated the case where the request is a small file and gzip is enabled. Previously, always used gzip. Now, only use gzip for larger files, as compressing smaller files made them larger.
- Updated modpagespeed to be more compatible with the cache module.
- Updated cache to support context level changes to the Vhost settings.
- Fixed an error that occurred when calculating the length of cached headers.
- Updated to store file size, inode, and lastMod to cacheHeader instead of entry. Cache Entries will lose this info after a server reboot.
- Update PSOL lib to v22.214.171.124 stable.
- Fixed a bug in LsiBaseFetch::DecrefAndDeleteIfUnreferenced() that may cause crashes.
- Fixed a bug where modpagespeed where it detected the http version incorrectly.
- Updated InPlaceBodyFilter() to make it work with html-rewrite mode.
- Added a response header X_LS_PAGESPEED for when this module handled the request.
- Fixed a bug where in some cases, OLS will reply "Content-length: -1”.
- Fixed a bug where if the response header contains a key without a value, it will crash.
- Fixed a bug where HttpReq::postProcessHost() gives a wrong m_iHostLen value and may cause a crash.
- Fixed a bug in HttpReq::getUGidChroot() to handle the case where m_pVHost is set, but m_pContext is NULL.
- Updated pagespeed module to work with the cache module.
- Updated cache module to support more parameters, use a shared memory cache manager, and PURGE from trust IP.
- Added more APIs to LSIAPI.
- Fixed an HTTP/2 bug that selected 'h2c' during negotiation.
- Fixed an HTTP2 bug which caused multiple line headers errors.
- Fixed an xpool bug that could cause crashing.
- Fixed a bug that caused partial content to be returned when a proxy server replies with content-length and OLS compresses/decompresses with content-length unchanged.
- Fixed a bug where in some cases modgzip and the internal gzip both perform compression, causing the client to display incorrectly.
- Fixed a bug in ls_lock which caused an error on MAC and FreeBSD.
- Fixed a bug in rewrite map configuration parsing which caused crashing.
- Fixed a bug that failed to flush ending chunk "0\r\n\r\n" when EAGAIN returned from a previous write().
- Fixed a bug where request rate throttling would not work.
- Fixed a bug where GeoIP config didn't match the conf file.
- Updated HttpMime and HttpContext level MIME code
- WebAdmin and tooltips updated
- Fixed a bug where matching contexts used server level suffix handler instead of vhost level.
- Fixed a bug in plain text configuration parsing.
- Fixed a lua module bug.
- Fixed a bug causing a seg fault in aho if input was not valid.
- Fixed a bug where an errorlog would sent even if successful.
- Added SSL Session configuration to Webadmin.
- Added support for ARM architecture.
- Added logic to skip chacha ciphers.
- Fixed a bug that sometimes caused SSL context to fail.
- Added SSL Ticket and SNI logic.
- PageSpeed module upgraded and psol lib changed to version 126.96.36.199.
- Support added for large files in API, sendfile, and request body.
- Fixed a bug in testing mmap() causing a return failure.
- Fixed a bug in reqParser where 0 byte files were treated as 2 byte files.
- Fixed HTTP/2 related errors reported by h2spec 1.1.1.
- Fixed a bug causing crashing in xmlnode If node is null.
- Fixed a bug that caused PHP generated 304 pages to hang (github issue #48).
- Fixed a bug in updateClientInfoFromProxyHeader() that broke IPv6 support.
- Fixed various bugs and updated tooltips in WebAdmin.
- Includes PHP 7 Beta 1 support.
- SPDY/HTTP2 will now be installed by default. To disable, use ./configure --enable-spdy=no during installation.
- Changed internal logging system (Logs will still look the same).
- Refactored userEventNotifier and renamed it to EvtCbQue.
- PageSpeed module upgraded to use Google PSOL Library v188.8.131.52.
- Fixed a bug that may cause SPDY to hang.
- Fixed a bug in HttpRespHeader that may cause a crash.
- Fixed a bug related to range request handling.
- Fixed a bug in the pagespeed module that may cause a file size increase.
- Fixed some HTTP/2 and SPDY bugs introduced in 1.4.9, which may cause 404 errors and long page loading time.
- Added PHP 7 compilation support.
- Added Request Body Parser.
- Created new LSIAPI functions to access parsed request body data.
- Created an internal file upload module which makes files upload faster and saves server CPU time.
- Added an uploadprogress module which displays the progress of uploading files.
- Added demonstration page “upload.html” and “upload.php” to example/index.html to show how to use new features.
- Added an uploadchecker example module demonstrating examples of how to use new features and APIs.
- Updated default cipher configuration.
- Fixed a SPDY bug involving the default window size setting.
- Fixed bug in httpvhost that could cause a potential crash.
- Fixed internal bugs in SPDY/HTTP2.
- Fixed bug causing URL encoding issues.
- Created Adaptive Array Structure, updated internal structures to use the new class.
- Contexts now accept path wildcard matches.
- Fixed bugs in HTTP/2 implementation.
- Fixed bugs in Object Pool, caused memory access errors.
- Fixed bug in Pagespeed, did not handle a specific error code.
- Fixed bug with server side max stream limit.
- Fixed bug with default process count, causing server to create too many processes.
- Fixed various bugs related to SSL, caused different issues.
- Fixed bug that caused compiler based issues.
- Fixed bug in lua makefile.
- Fixed bug in ChunkOS.
- Fixed bug in HTTP session handling, may cause crash.
- Fixed bug in module handling, may cause crash.
- Fixed bug in SPDY.
- Fixed bug in accesslog, possible buffer overflow.
- Improved HTTP/2 implementation to be more strictly conforming to HTTP/2 specification. It now passes H2Spec test suite.
- Improved HTTP/2 Performance.
- Improved LSIAPI internal logic.
- Improved SHM locking and SHM hash container stability.
- SSLv2 ciphers are now disabled by default.
- Enhanced the server's SSL Renegotiation Protection.
- Fixed a memory leak in the request header handling logic.
- Fixed bugs within the Server API related to accessing AutoBuf memory.
- Fixed bug causing static file compression to not work.
- Fixed bug causing static file compression to bypass the module decompression flag.
- Fixed bug in LSIAPI causing some modules to not work properly.
- Fixed bug in modpagespeed's basefetch class that may cause the server to crash.
- Added more HTTP/2 error handling to detect invalid compression code.
- Updated httprespheader to support header size limit settings.
- Improved the method of searching both static header table and dynamic header table.
- Improved LSIAPI callback function calling implementation.
- Fixed bug causing high CPU use with HTTP/2.
- Fixed HTTP/2 encoding error.
- Fixed bug causing sendfile to not work properly in certain cases.
- Fixed bug causing AIO-related crashes.
- Fixed a locking bug in lsshmpool.
- Fixed a memory leak.
- Updated HTTP/2 support to draft 17.
- Fixed bug causing HTTP/2 string to not be displayed in the error log.
- Fixed bug causing HTTP/2 to not handle uploading big files.
- Fixed bug causing OPTIONS requests to not be handled.
- Fixed bug in PCRE functions.
- Fixed bug in PHP build tool when used on Debian.
- Update module to use latest stable PSOL library: 184.108.40.206.
- Added More Lua SAPI support and improved internal Lua logic.
LiteSpeed Runtime Library
- Updated shared memory internal logic.
- Added support for HTTP/2 draft 16 (ALPN, NPN and upgrade).
- Automatically redirect to HTTPS when SSL_Accept fails for an HTTPS page because the request is a plain HTTP request.
- Added more LSIAPI functions.
- Updated fixtimestamp.sh.
- Fixed a bug causing shared memory to fail while initializing.
- Updated PCRE m4 file that may cause installation failure.
- All bug fixes included in 1.3.6.
- Updated cache module to use $VH_ROOT, $VH_NAME and $SERVER_ROOT variables in storagepath parameter.
- Fixed a hidden URL path bug which may cause errors.
- Added support of In-Place Resource Optimization.
- Update supported PSOL to 220.127.116.11-beta.
- Fixed bug causing PageSpeed to not build correctly on CentOS 5.
- Added LiteSpeed runtime library.
- LSIAPI code refactoring.
- Re-engineered WebAdmin console.
- Added multiple language support. (English and Chinese currently included.)
- Added PageSpeed Module v1.0-18.104.22.168 (beta).
- Security: Block headers starting with Shellshock signature.
- Bug fix: Problem with range requests for a file with a size of zero.
- Bug fix: SSL error during OCSP response verification.
- Bug fix: Firefox does not send "Accept-Encoding" header over SPDY.
- Secure ciphers used by default.
- Added "Proxy-Host" environment handling for rewrite engine.
- HTTP_END HANDLER_RESTART hook no longer initialized statically. It is only set up when gzip is used.
- Optimized HttpRespHeaders::reset().
- Eliminated error message when RCS does not exist.
- Internal modules have default priority set.
- If both .conf and .xml configuration files exist when upgrading to 1.4.x, the old .conf file will be removed before converting .xml config files to .conf.
- Fixed a bug that referenced a NULL pointer.
- Fixed pointer not advancing after appending query string.
- Fixed gzip bugs.
- Fixed uninitialized variable bug.
Major feature enhancements
- Added mod_lua, a module for handling Lua.
- Added shared memory functionality to LSIAPI.
- All configuration files are converted to plain text (including those generated by the WebAdmin console).
- Virtual host configuration files are now stored under the new /usr/local/lsws/conf/vhosts directory.
- Added RCS (Revision Control System) integration to allow automatic backups and version control of all config files.
recover_xml.shscript for recovering previous XML configurations when downgrading below version 1.4.
1.x Release Log (Legacy)