Release Log https://www.litespeedtech.com/images/logos/litespeed/litespeed-logo.png 2024-01-23 15:04:32 Release Log from LiteSpeed Technologies

LSAPI
Release Log

Join the "LiteSpeed Edge Users" Google Group for cutting-edge build notifications.

LiteSpeed Server API (LSAPI) is highly optimized for communication between LiteSpeed and third party web engines.

  • PHP LSAPI 8.1 (11-01-2022) Improvement

    • IMPROVEMENT Compatible with PHP 8.2.

    PHP LSAPI 8.0.1 (02-22-2022) Bugfix

    • BUGFIX Address garbled command line parameter showing current running script path.

    PHP LSAPI 8.0 (12-03-2021) New Feature, Improvement & Misc

    • NEW FEATURE PHP 8.1 support.
    • IMPROVEMENT Better OpenBSD compatibility.
    • Misc Clean up compiler warnings.

    PHP LSAPI 7.9 (03-05-2021) Tuning

    • TUNING Process manager now keeps forked child processes alive for longer based on load, reducing process manager overhead on busy setups.

    PHP LSAPI 7.8 (09-01-2020) Tuning, Bugfix

    • NEW FEATURE PHP 8.0 RC support.
    • TUNING Update log message with more information when possible: Timestamp, UID, PID, etc.
    • BUGFIX Correct inaccurate children process tracking.

    PHP LSAPI 7.7 (07-22-2020) Security, Improvement

    • SECURITY Fix a missed buffer boundary check.
    • IMPROVEMENT Include UID information in some log entries.

    PHP LSAPI 7.6 (11-22-2019) New Feature, Update

    • NEW FEATURE Added environment variable 'LSAPI_CLEAN_SHUTDOWN' for clean shutdown control.
    • UPDATE Disabled clean shutdown for PHP versions lower than PHP 7 by default.

    PHP LSAPI 7.5 (07-22-2019) Bugfixes

    • BUGFIX Override ITIMER_PROF to 0.1 seconds to ensure that a clean shutdown won't get stuck in an infinity loop.
    • BUGFIX Completely disabled "error_reporting" before starting a clean shutdown to avoid generating a large amount of error log entries.

    PHP LSAPI 7.4 (06-14-2019) Improvements

    • IMPROVEMENT Gracefully clean up PHP temp files when PHP processes are killed in middle of executing a script.
    • IMPROVEMENT Allow request header sizes up to 64KB.

    PHP LSAPI 7.3 (04-12-2019) New Feature & Improvement

    • NEW FEATURE `litespeed_finish_request()` and alias `fastcgi_finish_request()` to allow PHP to continue running background jobs after finishing the current request.
    • IMPROVEMENT Improved process manager to keep worker processes alive when there is enough free memory.

    PHP LSAPI 7.2 (01-21-2019) Improvements & Bug Fixes

    • IMPROVEMENT Added timestamp when directly logging stderr to file.
    • BUGFIX Fixed LSAPI protocol corruption when PHP scripts fork child process. (reported by CloudLinux)
    • BUGFIX Fixed uninitialized sa_mask during signal handler setup. (reported with patch by CloudLinux)
    • BUGFIX Fixed wrong string length when trimming long log strings containing trailing newlines. (reported with patch by CloudLinux)
    • BUGFIX Fixed max idle timeout time not resetting properly during socket events. (reported with patch by CloudLinux)

    PHP LSAPI 7.1 (4-11-2018) Feature Enhancements & Bug Fixes

    • NEW FEATURE Allow php_admin_value to override configuration set in php.ini, similar to open_basedir.
    • IMPROVEMENT Improved PHP side CRIU support.
    • BUGFIX Fixed a bug in PHP suEXEC daemon mode that was causing permission issues.

    PHP LSAPI 7.0 (2-28-2018) Feature Enhancements

    • NEW FEATURE Added CRIU support.
    • NEW FEATURE Added support for [PATH=] and [HOST=] sections in php.ini.
    • IMPROVEMENT Enhanced process manager.

    PHP LSAPI 6.11 (6-28-2017) Bug Fixes

    • BUGFIX Fixed .user.ini value displaying in phpinfo(), but not actually applying. (Patch provided by CloudLinux)
    • BUGFIX Fixed a bug where 'ini_set' failed to override 'php_value' in .htaccess. (Patch provided by CloudLinux)

    PHP LSAPI 6.10 (9-19-2016) Feature Enhancements

    • NEW FEATURE Added .user.ini support, controlled by the LSPHP_ENABLE_USER_INI environment variable.
    • NEW FEATURE Added new environment variable LSPHPRC to override php.ini.

    PHP LSAPI 6.9 (12-9-2015) Bug Fixes

    • Fixed a bug in suEXEC daemon mode where server secret would not be cleared.
    • Fixed a bug where a malformed LSAPI request could crash the PHP process.
    • Fixed a bug in CLI mode that caused a bad value for the DIR global variable.
    • (PHP 7) Fixed a bug that broke PHP configuration override through Apache config.

    PHP LSAPI 6.8 (6-12-2015) Improved functionality

    • Added PHP 7 support.

    PHP LSAPI 6.7 (9-4-2014) Improved functionality and bug fix

    • Added support for filter_input() function.
    • Fixed bug causing a crash when run in CLI mode.

    PHP LSAPI 6.6 (11-22-2013) Performance improvement

    • Default child process limit for suEXEC Daemon mode increased to avoid stalling the daemon and causing 503 errors.

    PHP LSAPI 6.5 (11-18-2013) Bug fix

    • Fixed bug in LSAPI lib causing problems for executing commands from within PHP scripts. Problem existed since version 6.2.

    PHP LSAPI 6.4 (10-30-2013) Minor bug fixes and feature enhancements

    • Avoid multiple debugging sessions when hanging PHP processes detected.
    • Return 508 error page when CloudLinux LVE resource limit has been reached.
    • Fixed bug in tracking number of child processes.
    • Minor performance tuning for suEXEC daemon mode.

    PHP LSAPI 6.3 (08-06-2013) Minor bug fixes and feature enhancements

    • Added apache_get_modules() function to improve compatibility with mod_php.
    • Fixed a bug showing partial original command line parameters.
    • Changed GDB stack backtrace generation setting to disabled by default. It can be enabled with the the environment variable LSAPI_DUMP_DEBUG_INFO=1.

    PHP LSAPI 6.2 (05-22-2013) Minor feature enhancements

    • Added the ability for the suEXEC daemon to kill runaway child processes.
    • Speeded up recycling of child processes for better memory usage.
    • Changed process naming, allowed for shorter process names.

    PHP LSAPI 6.1 (11-21-2012) Minor bug fixes

    • Remove code related to changing php.ini when suEXEC daemon mode is used, does not work.
    • Added "-n" option for CLI mode, which skips loading php.ini

    PHP LSAPI 6.0 (09-10-2012) Major feature enhancements

    • PHP suEXEC daemon mode has been added to improve performance and memory efficiency.
    • added native CloudLinux LVE/CageFS support.

    PHP LSAPI 5.5 (12-13-2010) Minor bug fix

    • added support for "php_value engine off" feature
    • fixed the validation code for length of custom HTTP header.

    PHP LSAPI 5.4 (7-15-2010) Minor bug fix

    • change configuration option "register_long_arrays" to be turned on by default.
    • fixed installer script for FreeBSD.

    PHP LSAPI 5.3 (2-8-2010) Minor bug fix

    • configuration option "register_long_arrays" that turned off by default can be enabled through php.ini.

    PHP LSAPI 5.1 (1-17-2010) Minor bug fix

    • Improved performance by optimizing PHP interface code.
    • Fixed few compatibility bugs

    PHP LSAPI 5.0 (1-12-2010) Major feature enhancements

    • Improved performance by optimizing PHP interface code.
    • Implemented the feature that show script name in "top" and "ps" output.
    • Added slow request log to identify slow PHP scripts.
    • Show LSAPI code version in PHPINFO page

    PHP LSAPI 4.8 (9-10-2008) Minor feature enhancements

    • Ignore SIGXFSZ signal and disable core dump by default.

    PHP LSAPI 4.7 (4-14-2008) Minor bug fixes

    • Switched to non-blocking listener socket to avoid hanging Ruby/Php processes, replaced kill( ppid, 0 ) with getppid() to test the status of the parent process.

    PHP LSAPI 4.6 (2-26-2008) Minor bug fixes

    • Improved the internal process manager to avoid killing active children process with SIGTERM.

    PHP LSAPI 4.5 (1-31-2008) Minor bug fixes

    • Fixed the code in LSAPI libary that failed to compile under Mac OS X.
    • Added implementation of PHP function getallheaders() and apache_request_headers(), compatibility with PHP code written for mod_php has been improved.

    PHP LSAPI 4.4 (1-3-2008) Minor bug fixes

    • Error logging has been improved during application startup time to avoid 503 errors.
    • Source code has been cleaned up.

    PHP LSAPI 4.3 (12-11-2007) Minor feature enhancements

    • Added a command line option to enable PHP source code output.

    PHP LSAPI 4.2 (11-25-2007) Minor bug fixes

    • Fixed a bug that causes LSAPI build failure on some Apple Mac OS X environments.

    PHP LSAPI 4.1 (8-21-2007) Minor bug fixes

    • Added LSAPI_AVOID_FORK environment variable to minimize dynamic start/stop of children process.
    • Fixed a bug that may cause infinity looping while reading request body under special situation.

    PHP LSAPI 4.0 (5-10-2007) Minor feature enhancement

    • Added support for 'apache_response_headers' function.

    PHP LSAPI 3.1 (4-24-2007) Minor bug fixes

    • Improved builtin Process Manager to reliably stop children processes.
    • Added LSAPI_EXTRA_CHILDREN environment variable to give better control of extra children processes can be started while existing children processes are in error state.

    PHP LSAPI 2.4 (01-10-2007) Bug Fix

    • Fixed: A bug may cause LSAPI application to run with 99% CPU.
    • Improved: Ruby LSAPI extension follows specification of ruby's I/O library more closely.

    PHP LSAPI 2.3 (10-09-2006) Bug Fix

    • Fixed: Custom request header values could be truncated.

    PHP LSAPI 2.2 (07-07-2006) Compatibility

    • PHP LSAPI has been upgraded to work with "getenv()" function. For code portability, LiteSpeed recommend PHP coders to defer from using getenv() and use specific $_ENV variable access.

    PHP LSAPI 2.1 (05-16-2006) Bug Fix

    • Fixed a 503 error when PHP_LSAPI_CHILDREN env variable is set. The env variable does not apply to Ruby but the fix affected the base library.
  • Python LSAPI 2.1 (08-31-2022) Bugfix

    • BUGFIX Address compatibility with python 3.10.

    Python LSAPI 2.0 (12-06-2021) News Feature & Improvement

    • NEW FEATURE Python 3.9 support.
    • Misc Clean up compiler warnings.

    Python LSAPI 1.9 (02-23-2021) Bugfix

    • BUGFIX Properly decode UTF-8 encoded characters in request header.

    Python LSAPI 1.8 (02-03-2021) Improvement

    • IMPROVEMENT Avoid being detected as interactive mode, which caused environments set in .env to not be applied for python applications.

    Python LSAPI 1.7 (09-01-2020) Tuning, Bugfix

    • TUNING Update log message with more information when possible: Timestamp, UID, PID, etc.
    • BUGFIX Correct inaccurate children process tracking.

    Python LSAPI 1.6 (05-11-2020) Improvement

    • IMPROVEMENT Added support for python 3.8 in Ubuntu 20.04.

    Python LSAPI 1.5 (08-12-2019) Bugfix

    • BUGFIX Improved wsgi-lsapi performance by recycling child worker processes less aggressively.

    Python LSAPI 1.4 (2-27-2018) Improvements

    • IMPROVEMENT Improved stderr logging with timestamp.
    • IMPROVEMENT disabled unnecessary debug logging.

    Python LSAPI 1.3 (1-19-2018) Feature Enhancements & Bug Fixes

    • NEW FEATURE STDERR log output is now redirected to the application log directory for easier troubleshooting.
    • BUGFIX Fixed a compatibility issue with the Django framework.

    Python LSAPI 1.2 (3-10-2017) Improved Compatibility

    • IMPROVEMENT Improved compatibility with Python 3.

    Python LSAPI 1.1 (1-9-2017) Improved Functionality

    • MAJOR IMPROVEMENT Added support for Python 3.x releases.

    Python LSAPI 1.0 (08-06-2013) Initial release

    • Initial release of Python LSAPI.
  • Ruby LSAPI 5.6 (01-23-2024) Bugfix

    • BUGFIX Address compatibility issue with ruby 3.2+ .

    Ruby LSAPI 5.5 (06-09-2023) Bugfix

    • BUGFIX Address compatibility issue with ruby 3.0+.

    Ruby LSAPI 5.4 (01-18-2023) Bugfix

    • BUGFIX Address compatibility issue with ruby 3.0+.

    Ruby LSAPI 5.2 (02-02-2021) Bugfix

    • BUGFIX Address stability issues with ruby 2.0+ caused by a regression in v5.1.

    Ruby LSAPI 5.1 (09-01-2020) Tuning, Bugfixes

    • TUNING Update log message with more information when possible: Timestamp, UID, PID, etc.
    • BUGFIX Make single worker non-prefork mode work properly.
    • BUGFIX Correct inaccurate children process tracking.

    Ruby LSAPI 5.0 (05-15-2020) Tuning

    • TUNINGImproved stability with Ruby 2.0+.

    Ruby LSAPI 4.4 (01-19-2018) Feature Enhancements

    • NEW FEATURE STDERR log output is now redirected to the application log directory for easier troubleshooting.
    • IMPROVEMENT Improved compatibility with different versions of the RubyOnRails framework.

    Ruby LSAPI 4.1 (01-30-2013) Major feature enhancements

    • Added native RewindableInput implementation to boost RACK performance.
    • Added support for Rack Sendfile middleware to utilize web server's file delivery code.
    • Along with LSWS 4.2.2 release, provide better support for Rack/Rails 3.0+ applications.

    Ruby LSAPI 3.5 (05-14-2009) Minor bug fix

    • Reinitialize random number generator when a new child process was forked.

    Ruby LSAPI 3.4 (10-27-2008) Minor bug fix

    • Fixed a bug in calling STDERR.reopen() function.

    Ruby LSAPI 3.3 (9-10-2008) Minor feature enhancements

    • Ignore SIGXFSZ signal and disable core dump by default.

    Ruby LSAPI 3.2 (4-14-2008) Minor bug fixes

    • Switched to non-blocking listener socket to avoid hanging Ruby/Php processes, replaced kill( ppid, 0 ) with getppid() to test the status of the parent process.

    Ruby LSAPI 3.1 (2-26-2008) Minor bug fixes

    • Improved the internal process manager to avoid killing active children process with SIGTERM.

    Ruby LSAPI 3.0 (1-31-2008) Minor bug fixes

    • Fixed the code in LSAPI libary that failed to compile under Mac OS X.
    • Added implementation of PHP function getallheaders() and apache_request_headers(), compatibility with PHP code written for mod_php has been improved.

    Ruby LSAPI 2.9 (1-3-2008) Minor bug fixes

    • Error logging has been improved during application startup time to avoid 503 errors.
    • Source code has been cleaned up.

    Ruby LSAPI 2.8 (11-25-2007) Minor bug fixes

    • Fixed a bug that causes LSAPI build failure on some Apple Mac OS X environments.

    Ruby LSAPI 2.7 (8-21-2007) Minor bug fixes

    • Added LSAPI_AVOID_FORK environment variable to minimize dynamic start/stop of children process.
    • Fixed a bug that may cause infinity looping while reading request body under special situation.

    Ruby LSAPI 2.5 (05-18-2007) Feature enhancement/Bug fix

    • Fixed request_uri incompatibility issue by including query string part.

    Ruby LSAPI 2.4 (4-24-2007) Minor bug fixes

    • Improved builtin Process Manager to reliably stop children processes.
    • Added LSAPI_EXTRA_CHILDREN environment variable to give better control of extra children processes can be started while existing children processes are in error state.

    Ruby LSAPI 2.3 (03-15-2007) Feature enhancement/Bug fix

    • LSAPI integration code has been rewritten with better process control and better STDERR logging.
    • Following environment variables has been added: LSAI_MAX_IDLE_CHILDREN, LSAPI_MAX_PROCESS_TIME, please refer to README file for more detail.
    • STDERR stream is logged into web server log file instead of stderr.log.

    Ruby LSAPI 1.13 (01-16-2007) Bug Fix

    • Fixed: A bug may cause Ruby LSAPI application to run with 99% CPU.

    Ruby LSAPI 1.12 (01-10-2007) Bug Fix

    • Fixed: A bug may cause LSAPI application to run with 99% CPU.
    • Improved: Ruby LSAPI extension follows specification of ruby's I/O library more closely.

    Ruby LSAPI 1.11 (10-09-2006) Bug Fix

    • Fixed: Custom request header values could be truncated.

    Ruby LSAPI 1.10 (09-29-2006) Bug Fix

    • Fixed: Registered "env_copy" as a ruby global variable to prevent it from being garbage collected resulting in possible 503 error.

    Ruby LSAPI 1.9 (09-25-2006) Feature enhancement/Bug fix

    • Fixed: Build problem for Solaris 8.
    • Compatibility: Request parameters have been updated to match that of WEBrick.

    Ruby LSAPI 1.8 (09-18-2006) Feature enhancement/Bug fix

    • New: Added environment variable "LSAPI_PGRP_MAX_IDLE" to tell idle process group to terminate. This environment variable will be set by LSWS 2.2.2 automatically based on "Max idle time".

    Ruby LSAPI 1.7 (09-11-2006) Bug fix

    • Updated: Change default of LSAPI_MAX_REQS to 1,000,000 from 1,000.
    • Fixed: Missing environment variables set in Rails configuration.

    Ruby LSAPI 1.6 (08-22-2006) Bug fix

    • Fixed: work around Ruby's internal signal handler to ensure unresponsive Ruby processes terminate.

    Ruby LSAPI 1.5 (08-16-2006) Bug fix

    • Fixed: v1.4 bug where small POST operation can fail.

    Ruby LSAPI 1.4 (08-04-2006) Feature enhancement/Bug fix

    • Fixed: a worker process does not remain persistent if a request has been canceled.
    • New: Maximum number of worker processes has been limited to twice the configured value to prevent DoS type attacks.
    • New Env Variable: LSAPI_MAX_REQS=n, where n is the maximum number of requests that a child process can serve.Default value is 1000. Once the value is reached, the child process will exit automatically. This will help in case of any memory leaks in Rails.
    • New Env Variable: LSAPI_MAX_IDLE=n, where n is the maximum idle time in seconds that a child process will be waiting for a new request. Once limit is reached, the child process will quit. Default value is 60. When n <= 0, the child process will wait indefinitely. This option helps getting rid of idle children processes.

    Ruby LSAPI 1.3 (06-29-2006) Bug Fix

    • A SIGCHLD signal handler has been added to the Ruby LSAPI module to resolve a problem which can lead to zombie processes.

    Ruby LSAPI 1.2 (05-16-2006) Bug Fix

    • Fixed a 503 error when PHP_LSAPI_CHILDREN env variable is set. The env variable does not apply to Ruby but the fix affected the base library.