From OpenLiteSpeed Wiki
- 1 V1.4.29 (Stable)
- 1.1 V1.4.28
- 1.2 V1.4.27
- 1.3 V1.4.26
- 1.4 V1.4.25
- 1.5 V1.4.24
- 1.6 V1.4.23
- 1.7 V1.4.22
- 1.8 V1.4.21
- 1.9 V1.4.20
- 1.10 V1.4.19
- 1.11 V1.4.18
- 1.12 V1.4.17
- 1.13 V1.4.16
- 1.14 V1.4.15
- 1.15 V1.4.14
- 1.16 V1.4.13
- 1.17 V1.4.12
- 1.18 V1.4.11
- 1.19 V1.4.10
- 1.20 V1.4.9
- 1.21 V1.4.8
- 1.22 V1.4.7
- 1.23 V1.4.6
- 1.24 V1.4.5
- 1.25 V1.4.4
- 1.26 V1.4.3
- 1.27 V1.4.2
- 1.28 V1.4.1
- 1.29 V1.4
- 2 Legacy Releases
- [New] "SMART SERVER PUSH" feature which prevents the server from unnecessarily re-pushing URLs to a client.
- [Update] Added support for setting multiple module params or rewrite rules without requiring the use of here document syntax (
- [Update] Upgraded module parameter parsing to support multiple lines using
`as the starting/ending flag.
- [Update] VHosts can now inherit SERVER level defined PHP with it's own user/group.
- [Bug Fix] Fixed a bug where a module could be missing an init function, causing it to not be loaded.
- [Bug Fix] Fixed an HTTP2 bug where a window size of 64K would be used when set to 256K.
- [Bug Fix] Fixed a bug where a module's config would not be initialized correctly when module parameters where not provided at the SERVER level.
- [Bug Fix] Fixed a bug where sometimes no server response would be received when handling small PHP scripts, causing a timeout error.
- [Bug Fix] Fixed a bug when setting vary ENV which caused the vary value to not work as intended.
- [Bug Fix] Fixed a bug preventing server state from being reset properly when using a keep-alive connection.
- [Update] If gcc version is higher than 4.8, PSOL v18.104.22.168 lib is now used.
- [Update] Update cache module to support the LSCache for WordPress Plugin crawler.
- [Bug Fix] Fixed a bug of where "ismobile" was not being handled correctly.
- [New] Initial Release! See our Installation Guide.
- [New] Added multithreading APIs for LSIAPI.
- [Update] WebAdmin Console can now be disabled by adding "disablewebadmin" in httpd_config.conf.
- [Update] Multiple instances of OLS can now be run at the same time by configuring additional OLS installations with --with-pidfile, with-exampleport, and (optional) --with-tempdir configuration flags.
- [Update] Limited autoupdate checks to at most twice a day.
- [Update] Updated caching to store the compressed data for all compressible file types excluding small static files.
- [Bug Fix] Fixed bugs in lswsctrl and install.sh.
- [Bug Fix] Fixed a bug in http2 by breaking large header frames into smaller frames + CONTINUATION frames.
- [Update] Upgraded to PSOL lib 22.214.171.124 and redesigned the execution flow to increase performance.
- [New] Added support for libressl.
- [New] Added support for Brotli.
- [Update] Updated LSIAPI and all modules accordingly.
- [Update] libundns will now be downloaded and installed when not already present.
- [Update] Added parameter '--with-lsphp7' to configure to support the installation of lsphp7 on CentOS, Debian and Ubuntu.
- [Update] Changed the IpToLoc::lookup() api to be able properly handle IPv6 lookup.
- [Update] All module configurations are now parsed by the server instead of by each individual module.
- [Bug Fix] Fixed a bug that sometimes caused an overflow in http2 server push.
- [Bug Fix] Fixed a bug in httprespheader where headers >64K would not be handled correctly.
- [Bug Fix] Fixed a bug where deleting HttpFetch could cause crashing.
- [Bug Fix] Fixed a bug in HttpReq::processRequestLine that could cause crashing.
- [Bug Fix] Fixed a bug in addrlookupCb which could cause crashing when hosts did not contain ',' .
- [Bug Fix] Fixed a bug were an incorrect query string and request body were used.
- [New] Added TCP_FASTOPEN support.
- [New] Added BoringSSL and TLS1.3 support.
- [New] Added PHP 7.1.4 as a Compile PHP option.
- [New] Added new module modreqparser to enable the ReqParser feature.
- [New] Added more APIs.
- [Update] Updated WebAdmin Console css and tooltips.
- [Update] Updated ReqParser logic to allow parsing of query strings.
- [Update] DNS lookup is now performed using the udns library.
- [Update] Improved download tool.
- [Bug Fix] Fixed a bug were a very long configuration file could crash the server.
- [Bug Fix] Fixed a bug were a rewriterule "passthrough" flag would miss the implied "L" flag.
- [Bug Fix] Fixed a bug were loading RewriteFile would fail if the RewriteFile directive was in the middle of the rewrite rules.
- [Bug Fix] Fixed a bug involving configuration parsing at the context level.
- [Bug Fix] Fixed a bug involving shmpool using parameter no-vary.
- [Bug Fix] Fixed a bug where the PURGE function would not work in some case.
- [Security] Removed DES-CBC3-SHA from default cipher suite to avoid failing current PCI scan.
- [New] Added HTTP/2 Server Push.
- [New] Added Japanese translations to the WebAdmin. (Thanks to Kazu Nito!)
- [Update] Updated the Example VHost page.
- [Bug Fix] Fixed a bug in sendstaticfile that caused too many memory mapped files to be opened.
- [Bug Fix] Fixed a bug in StaticFilecache reference counting that sometimes caused crashes.
- [Bug Fix] Fixed a bug in httpParser that sometimes caused crashing.
- [Bug Fix] Fixed a bug in handleEvents that could result in an infinite loop.
- [Update] Updated the default cache module settings to more reasonable values.
- [Bug Fix] Fixed a bug where temporarily opened files would not be closed.
- 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 126.96.36.199.
- 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 v188.8.131.52 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 184.108.40.206.
- 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 v220.127.116.11.
- 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: 18.104.22.168.
- 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 22.214.171.124-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-126.96.36.199 (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)