Difference between revisions of "Release Log/1.x"

From OpenLiteSpeed Wiki

Line 3: Line 3:
<div class="noautonum">__TOC__</div>
<div class="noautonum">__TOC__</div>
== V1.5.0 RC1 ==
== V1.4.30 (Stable) ==
'''Server Core '''
* [Bug Fix] Fixed a bug where cgi/php response body was being converted to lowercase.
* [Bug Fix] Fixed an ip2location configuration bug.
* [Bug Fix] Fixed a bug where cookies not reset on next use could cause a crash.
* [Bug Fix] Fixed a bug where loading and using cache and pagespeed modules at the same time could cause an internal server error.
* [Bug Fix] Fixed a cipher previously rejected by chrome.
'''Cache Module'''
* [Bug Fix] Fixed a bug where comparing a string could cause a crash.
=== V1.5.0 RC1 ===
Line 18: Line 34:
* [New] Initial Release! See our [[Modules:ModLSPHP-Basic-Installation|Installation Guide]].
* [New] Initial Release! See our [[Modules:ModLSPHP-Basic-Installation|Installation Guide]].
=== V1.4.29 (Stable) ===
== V1.4.29 ==

Revision as of 22:17, 14 February 2018

V1.4.30 (Stable)


Server Core

  • [Bug Fix] Fixed a bug where cgi/php response body was being converted to lowercase.
  • [Bug Fix] Fixed an ip2location configuration bug.
  • [Bug Fix] Fixed a bug where cookies not reset on next use could cause a crash.
  • [Bug Fix] Fixed a bug where loading and using cache and pagespeed modules at the same time could cause an internal server error.
  • [Bug Fix] Fixed a cipher previously rejected by chrome.

Cache Module

  • [Bug Fix] Fixed a bug where comparing a string could cause a crash.

V1.5.0 RC1


Server Core

  • [New] Multi-Thread APIs.
  • [New] Module Developer Guide.
  • [Update] Added more Multi-Thread example modules.
  • [Bug Fix] All known bugs have been fixed.

ModLSPHP Module



Server Core

  • [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 ",', or ` 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.

PageSpeed Module

  • [Update] If gcc version is higher than 4.8, PSOL v1.11.33.4 lib is now used.

Cache Module

  • [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.

ModSecurity Module



Server Core

  • [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
  • [Bug Fix] Fixed a bug in http2 by breaking large header frames into smaller frames + CONTINUATION frames.

PageSpeed Module

  • [Update] Upgraded to PSOL lib and redesigned the execution flow to increase performance.



Server Core

  • [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 ',' .

PageSpeed Module

  • [Bug Fix] Fixed a bug were an incorrect query string and request body were used.



Server Core

  • [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.

PageSpeed Module

  • [Bug Fix] Fixed a bug involving configuration parsing at the context level.

Cache Module

  • [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.



Server Core

  • [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.

Cache Module

  • [Update] Updated the default cache module settings to more reasonable values.
  • [Bug Fix] Fixed a bug where temporarily opened files would not be closed.



Server Core

  • 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.

PageSpeed Module

  • Updated Pagespeed library to

Cache Module

  • 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.



Server Core

  • 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.



Server Core

  • Updated ./configure to support customizing the WebAdmin listener port with the “--with-adminport” parameter.
  • Updated dist/ 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.



Server Core

  • Improved open file cache efficiency.
  • Real time report data will now be written to /dev/shm if available. (instead of /tmp/lshttpd).
  • 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.

Server Core

  • 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.



Server Core

  • 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.

PageSpeed Module

  • 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.

Cache Module

  • 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.



Server Core

  • 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.

Cache Module

  • 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 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.

Bug Fixes

  • 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/ 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.

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.

PageSpeed Module

  • Update PSOL lib to v1.9.32.10 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.

Bug Fixes

  • 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.

Bug Fixes

  • 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

Bug Fixes

  • 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.

Bug Fixes

  • 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
  • Support added for large files in API, sendfile, and request body.

Bug Fixes

  • 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 v1.9.32.4.

Bug Fixes

  • 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.



Bug Fixes

  • 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.

Bug Fixes

  • 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.

Bug Fixes

  • 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.

Bug Fixes

  • 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.

Cache Module

  • 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.

PageSpeed Module

  • Update module to use latest stable PSOL library:

Lua Module

  • 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
  • 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.

Cache Module

  • 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.

PageSpeed Module

  • Added support of In-Place Resource Optimization.
  • Update supported PSOL to
  • Fixed bug causing PageSpeed to not build correctly on CentOS 5.



Feature enhancements

  • 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- (beta).
  • Security: Block headers starting with Shellshock signature.

Bug fixes

  • 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.



Feature enhancements

  • 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.

Bug fixes

  • 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.
  • Added script for recovering previous XML configurations when downgrading below version 1.4.

Legacy Releases

1.x Release Log (Legacy)