New Features in 2.2.2
Minor
- Added directive to enable / disable the TRACE method. Use TraceMethod on|off in the appweb.conf configuration file. The trace method is now disabled by default as it can represent a security risk.
- The use of winTools.zip is now officially deprecated. Please use the cygwin tools from www.cygwin.com to build from source on windows instead.
Fixes
- Removed double quotes on module search path in trace log.
- Change to only call setFileName if the handler is not virtual. Change cgiHandler to use new flag MPR_HANDLER_NEED_FILENAME so setFileName is still called for cgiHandler.
New Features in 2.2.1
Fixes
- Fixed memory leaks in EJS.
- Fix configure to handle windows absolute and relative paths more intelligently.
- Close connection when uploaded content exceeds LimitRequestBody. This avoids a long wait if the upload is very large.
- Some valgrind located improvements. Should improve robustness in boundary conditions.
- Update search path in configure for Inno Setup 5 when doing windows builds.
- Improve path name resolution for packages when using Cygwin on windows.
- Updated memory leak tests.
- Replace and improve directory listing graphics .
- Improve robustness of 64-bit versions. Fix 64-bit conversions .
- Fix 64-bit basic and digest authentication.
- Fixed upload issue where medium to large files of a certain length would fail to upload.
New Features in 2.2.0
Major
- Completely reworked build configuration
- Upgrade support for latest PHP, MatrixSSL and OpenSSL packages.
- Added Debian (including Ubuntu) packages.
- Modularized packages. Now supplying binary, documentation, development and source packages separately.
- Changed file system locations to conform with the Linux File System Hierarchy (FSH) standard.
- Allow PHP to run single threaded.
Minor
- Optimized builds, now about 2x faster on some systems
- Updated build configuration tools. config.h, config.make, config.sh now renamed buildConfig
- Changed configure to always do a configure --reset.
- Improve bld tool library searching
- LoadModulePath now takes filenames with spaces. Must use quotes.
- Improve VS 2005 building support
- Speed up build times
- Change appweb to continue on invalid configuration file directives rather than aborting.
- Remove old PHP4 handler. Now only supporting PHP5.
- Improve 64-bit Linux support
- Added windows tar installation capability
- Removed legacy configure options:
- --without-xdb, --without-php4, --enable/disable-stdcpp
- The configure command now accepts absolute paths for --with-*-libpath and --with-*-dir switches
- The configure command now emits more information about the type of build and O/S and CPU versions
- Added support for negative ranged requests where the user requests N bytes from the end of a file.
- Improved code comments.
Fixes
- Fix when listening on a port number to listen on all IP addresses. Previously only listened on IP addresses that existed when AppWeb was started. This fix enables the use of DHCP addresses once AppWeb has started. Thanks John Kamenik.
- Fix directory list wild card matching with trailing wild cards
- Make putHandler more robust when encountering invalid ranges. It will now ignore invalid ranges and proceed to accept uploaded files.
- Change listen backlog queue length to use the system defined maximum via SOMAXCONN
- Fix using ESP files as directory indexes
- Remove fdm=marker from all source files to fix vim warning.
- Fixed CGI incorrectly setting CGI program arguments. Removed argument setting.
- Updated copyright messages.
- Fixed pipelined ranged requests (Thanks Dror)
- Fix single-threaded operation under windows.
- Fix for DOS issue if a file handle becomes bad.
New Features in 2.1.1
Major
Minor
- Add ESP "rename" command to rename files. Useful in upload forms.
- Add sample put and upload location blocks to appweb.conf
- Improve comments in appweb.conf
- Simplify configure defaults files and appweb.conf
- Change default build to not require PHP, MatrixSSL or OpenSSL
- Changed path references in directory listings to be relative paths for better Apache compatibility.
Fixes
- Fix directory listing sorting and file sizes.
- Prevent directory listings from caching in user's browsers.
- Fix ESP corruption bug with large scripts.
- Fix GoAhead compatibility function redefining form and ASP functions.
- Fix loss of query string when matching the "/" URL.
- Fix VxWorks handling of path names when using an FTP based file system.
- Fix DocumentIndex handling if set to ESP pages
- Fix re-matching of handlers if a handler changes the request URI
- Remove uploaded temp files at the end of the request
- Improve calculation of random bytes for VxWorks
- Remove VxWorks SEM_INVERSION_SAFE flag to preserve defined priorities
- Fix Nan and Infinity calculations for VxWorks
- Fix compilation errors if BLD_FEATURE_RANGES is not defined.
- Cleanup PHP shutdown
- Fix PUT handler processing when the file exists and also some ranged upload behavior.
- Fixed mprGetDirName API to handle file names with trailing "/"
- Added MPR_REQUEST_PRIORITY to run requests at normal priority. Select and pool management tasks run at elevated priority.
- Removed redundant assert in mpr/timer.cpp
- Reworked directory listing pages to be more Apache compatible with relative file paths.
- Fixed ranged downloads. Was downloading one character short.
- Fixed partial ranged downloads without a starting range.
- Fixed Location blocks in appweb.conf to append a trailing "/" to only match directories.
- Added Cache-Control: no-cache header to directory listing output.
New Features in 2.1.0
Major
- Added directory listing module: libdirModule
- Added put module for PUT and DELETE HTTP method support: libputModule
- Added HTTP/1.1 chunking support. Use the HttpChunking [on|off| directive to enable or disable. Also can use a custom HTTP header for client requests: X-AppWeb-Chunk-Transfer header. Set value to "on" or "off" to control chunking on a per-request basis.
- Added HTTP/1.1 ranged transfer support for output and input requests.
- Added ErrorDocument directive for mapping HTTP errors to specific web pages. E.g.: "ErrorDocument 404 myErrorPage.html"
- Added IPv6 (prototype) support for Linux
Minor
- Optimized TCP/IP I/O and buffer sizes
Fixes
- Fix for simpleEsp sample when running HTTP client
- Fix for client fetch when running multithreaded but with no pool threads configured
- Fix for REMOTE_USER being set when authorization is used
New Features in 2.0.5
Fixes
- Enhanced GoAhead Compatibility API
- Fix for page redirection in when using the GoAhead Compatibility API
- Fix for websGetVar API
- Upgrade to support Inno Setup 5 for packaging Windows releases
- Support PHP 5.1.1
- Don't ask for password if doing a "make package" as root on Unix/Linux
- Determine correct "strip" program when doing cross-compilation
- Fix EJS diagnostic trace. Was truncating one character on trace lines.
- Improved longevity test suite and build farm testing
- Fix for handling time wrapping on long running servers
- Support SELinux
- Support for current versions of rpmbuild (Fedora Core 4)
New Features in 2.0.4
Fixes
- Fix for MatrixSsl handler where data was being read twice (Thanks
Ben)
- Fix header in config.h
- Add new switches to configure: --enable-ejs, --enable-samples, --enable-test,
--with-PACKAGE-cflags, --with-PACKAGE-iflags, --with-PACKAGE-ldflags
- Fix several compilers warnings for ARM
- Fix crash when reading a users.db authorization file
- Fix MPR Var deep copy (Thanks Andrew)
- Fix MPR Select / Task interaction
New Features in 2.0.3
Fixes
- Fix httpPassword overwriting existing password entries (Thanks lhearin)
- Fixed bad build output formatting. (Thanks Matt McNeill)
- Improved error messages in AppWeb
- Fix windows SSL crash due when missing a TypesConfig directive and
using SSL (Thanks)
- Fix wrong license agreement display when installing.
New
Features in 2.0.2
Fixes
- Fix for form.php to post back to itself
- Various code cleanup
- Compiler fixes for when BLD_FEATURE_LOG is disabled
New
Features in 2.0.1
Fixes
- Fix for VxWorks truncating large files
- Fix for doubling of EGI variable values
- Fix PHP flushing
New
Features in 2.0.0
Version 2.0.0 is the next stable release after the 1.2 series. The description
below lists the major changes relative to the 1.2 release.
Major
- Embedded Server Pages greatly enhanced. New parser, new Embedded JavaScript.
Now supporting:
- Session state access via the session[] array
- Global application data via the application[] array
- Uploaded files accessible via files[] array
- Configurable auto-session creation
- Other variable arrays include: cookies[], server[], request[], headers[],
form[], global[], local[]
- Embedded Server Pages broken out as a separate source code module.
- Embedded JavaScript rewritten and greatly enhanced. Now supports:
- Object type and the new reserved
word
- Array type
- Boolean type
- Floating point
- 64 bit integer support
- Automatic casting between types
- Functions
- for / in statement to iterate through arrays or objects
- Extended standard procedure library: print, println, printVars,
trace
- Merged appweb and winAppWeb. Windows application intelligently runs
as a command line program, windows program or system service depending
on the command line switches. Easier invocation by supporting configuration
via command line. Can now just run "appweb".
- File upload module completed and now supported. File upload usable
from ESP, EGI and CGI.
- PHP 5.0 support
- Save configuration routines to save the run-time configuration back
to a standard AppWeb configuration file.
- Completely new installation and packaging routines. Supports a flexible
make install set of targets including: install, install-dev, install-release,
install-samples, install-doc, install-src, install-all. Make install
also supports a ROOT_DIR environment setting to re-base the installation
directories. This feature includes a safe uninstall. See INSTALL.TXT
in the source directory for full details.
- Ability to create new native distribution packages from a source build
tree.
- VxWorks port.
- Extended cross compilation system to support cross-O/S development.
- Rewrite the CGI subsystem to be more uniform across all operating
systems.
- Lots of improvements to the configuration and build system
- Windows switches to use configure and the makefile system. Supports
a subset of CYGWIN called winTools for building.
- Added file upload handler
New
Features in 1.3.6
Fixes
- Several compile time fixes when using configure with some options.
Fix for building EJS without floating point. (Thanks Nicolas Thill)
- Fix for not launching the documentation on Windows when the installation
is complete
- Fixed date calculations for IF_MODIFIED requests being off for 1 day.
Thanks (Julie + Mikael)
- Fixed formatting of README.TXT files to be DOS format (CR/LF)
- Fixed request.cpp compilation when not using SSL
- Fix building with C-API without ESP
- Fix crash in request.cpp when requests timeout
- Fix compiling request.cpp without SSL
New
Features in 1.3.5
Minor Features
- Add request variable REQUEST_TRANSPORT that is set to "http" or "https"
depending on whether SSL is used or not.
- Simplify the regeneration of the documentation.
- EJS: Add support for automatic casting to strings when types require
casting.
Fixes
- Fix MatrixSsl bug where some data can be lost and a request can hang.
Thanks Mikael.
- Fix uClinux integration. Support uClinux 3.2.0
- Fix for browser not refreshing content correctly. Change to copyHandler.
Thanks Axialdev, Mediatrix
- Fix for single threaded compilation. Thanks Pauli.
- Fix for copmiling samples when using --disable-static
- Fix for running configure on linux. Changes to bin/bld. Thanks Vinvagh.
- Fix for uClinux building. Changes to bin/bld to use BLD_CFLAGS instead
of BLD_LDFLAGS. Thanks Ben.
- Fix for building on Linux. Was not testing for existance of cygpath
correctly. Thanks Barry Stone, et al.
- Fixed bugs in EJS for comparisions with non-boolean operands. Thanks
Martin Brochu.
- Fix EJS issue with unary minus calculations.
New
Features in 1.3.4-5
Major Features
- Completely new installation and packaging routines. Supports a flexible
make install set of targets including: install, install-dev, install-release,
install-samples, install-doc, install-src, install-all. Make install
also supports a ROOT_DIR environment setting to re-base the installation
directories. This feature includes a safe uninstall. See INSTALL.TXT
in the source directory for full details.
- Ability to create new native distribution packages from a source build
tree.
- Create a C API for the httpClient. Use --enable-c-api-client
Minor Features
- Expose the GoAhead WebServer compatibility API via the Compat module
(Thanks KiNetworks)
- Create a C API for the httpClient. Use --enable-c-api-client
- Removed SessionAutoCreate from the makefiles. The default for this
is now off. Users must include useSession(); in their ESP pages or
explicitly turn this directive back on. This was removed to boost performance
for pages that do not require session handling.
- Added a new LimitScriptSize directive to specify the maximum ESP script
size. This replaces the previously overloaded use of LimitResponseBody.
(Thanks Meadiatrix).
- Partitioned documentation to prepare for future derivative products.
Stay tuned.
- Fix source tree so it can be built from a read-only tree. (Thanks Brendan
Simon).
- Update to latest PHP 5.0.3 release for the PHP module
- Support spaces in file names and install in "/Program Files/Mbedthis
AppWeb" on Windows by default.
- Updated WinTools to use latest Cygwin tools.
- Added file upload limit. Directive is LimitUploadSize.
- Convert windows make package to use cygwin zip utilities and not wzzip.
Fixes
- Fix including of ESP include files to look for the included file
in the same directory as the base ESP page.
- Fix for "make uninstall" to not to change permissions
of any standard directories
- Fix seg fault on large ESP pages. This occurred when the page exceeded
the maximum configured via the LimitResponseBody directive. (Thanks
Mediatrix). Use LimitScriptSize in future to specify or modify the
default maximum size (128K) of a script.
- Added clearer error messages when the maximum script size is exceeded.
- Fixed missing API documentation.
- Fix permissions on the bin directory for installed appweb (make install).
- Fix errors in make install for missing users.dist, groups.dist and
libsslModule.so
- Fix obsecure hang in httpClient if server dies.
- Add cpio, id and awk to WinTools. Also added curl for those using the
test framework via an AppWeb subversion checkout.
- Fix assert in ESP when assigning to non-existant object arrays
- Warn in ESP if assigning to sessions and sessions are not enabled.
Uses now must either put useSession() in their web page or turn on
SessionAutoCreate in their configuration file.
- Fix for a multithreaded race in EJS/ESP under heavy load. Our
longevity test harness caught this one.
- Fixed multithreaded deadlock in CGI under heavy load.
- Fix printVars displaying the wrong value for an array length (Thanks
Bjorn -
baherwig)
- Fixed crash in testClient when server is not running. Only impacted
test framework.
- Fixed search path for locating the ServerRoot.
- Fixed several bugs in the file upload handler for certain boundary
conditions. Thanks Martin Brochu.
- Fixed PHP5 handler crash if a form variable is empty. Thanks Mik.
- Made MaRequest::readPostData more robust.
New
Features in 1.3.3
The 1.3.1 and 1.3.2 releases were internal releases only and were not publically made available.
Major Features
- VxWorks port.
- Extended cross compilation system to support cross-O/S development.
- Rewrite the CGI subsystem to be more uniform across all operating systems.
Minor Features
- The PHP handler now supports the PHP flush function.
- Added function to create ESP array variables in ESP C functions.
- Add file upload.esp sample file.
- Fix and extend samples for the new ESP and EJS.
- Add support for the If-Match and If-UnMatch HTTP headers. (Thanks Pauli Saska)
- Disable timeouts if running AppWeb in debug mode (-D). This disables the Keep-Alive, Session and general request Timeout.
- Allow Alias directives to alias files. Previously only directories could be aliased. (Thanks
pmichaud)
- Rewrite of CGI / CMD to be simpler. Necessitated by VXWORKS port.
- Speedup makedep on Windows for first time builds.
- Add ESP convenience API espCreateArrayVar.
- Add mprSetThreads API to extend the C API.
Fixes
- The following fixes are applied from 1.2.4
- Fix in validating URLs with consecutive "/" characters. (Thanks Tom Gerardy)
- Fix for upload handler with ":" characters in the upload URL. ((Thanks Pauli Saksa)
- Fix for EGI and the Compat module for GoAhead WebServer compatibility (Thanks Hew Wolff).
- Add new directive ListenIF that allows listening on an interface. (Thanks Pauli Saksa)
- Fix corruption bug for long ESP/EJS tokens. (Thanks Axialdev)
- Change session cookies to only persist while the user's browser is open.
- Fix to allow functions to have the opening brace on the same line as the function keyword.
- Get all samples building. Supply makefiles for the AppWeb build system and stand-alone makefiles.
- Improve error messages for several error conditions to make diagnosis easier.
- Add msvcrt.dll to the distribution to prevent DLL versioning issues.
- Fix various memory leaks
- Fix for EJS to not iterate over the length property for arrays in a for... in statement
- Fix for EJS to allow "var" in a for (var .. statement
- Fix for EJS syntax error when defining a for (.. in statement inside a function
- Fix for EJS "var o = new Array;"
- Fix for EJS testing variables against -1
- Fix for crashing issue CGI when a CGI request times out.
- Update configure to fix syntax error for --with-c-api. Support --with-c_api as an alias.
- Fix for "make uninstall" to not remove any standard directories.
- Fixed matrixssl handler hanging when serving large files. Thanks Mik.
- Fixed sessions being continually re-created when browsers respond with multiple
cookies. Thanks Mark.
- Fix several compiler errors when compiling single-threaded. Thanks Pauli.
- Fix compiler errors when excluding various modules.
New Features in 1.3
This
is a major feature release and is part of the development branch. Users
wanting stability should continue to use the stable 1.2.X series. This
1.3 release does have some compatibility changes.
Major Features
- Embedded Server Pages greatly enhanced. New parser, new Embedded JavaScript. Now supporting:
- Session state access via the session[] array
- Global application data via the application[] array
- Uploaded files accessible via files[] array
- Configurable auto-session creation
- Other variable arrays include: cookies[], server[], request[], headers[], form[], global[], local[]
- Embedded Server Pages broken out as a separate source code module.
- Embedded JavaScript rewritten and greatly enhanced. Now supports:
- Object type and the new reserved word
- Array type
- Boolean type
- Floating point
- 64 bit integer support
- Automatic casting between types
- Functions
- for / in statement to iterate through arrays or objects
- Extended standard procedure library: print, println, printVars, trace
- Easier invocation by supporting configuration via command line. Can now just run "appweb".
- Merged appweb and winAppWeb. Windows application
intelligently runs as a command line program, windows program or system
service depending on the command line switches.
- File upload module completed and now supported. File upload usable from ESP, EGI and CGI.
- PHP 5.0 support
- Save configuration routines to save the run-time configuration back to a standard AppWeb configuration file.
Minor Features
- Simplify the build system by removing the need for template files.
- Aliases are now per host instead of being per server.
- Allow Aliases to preceed or follow directory blocks that describe the alias destination.
- Build system improvements for building external packges
- Improved 64-bit and Solaris support.
Fixes
- Fix bug where URLs that matched aliases were incorrectly
defining an their CGI EXTRA_PATH calculation. Added a new configuration
directive ExtraPath that can be used in Location blocks to specify that
a handler should perform extra path calculations. NOTE: this is
normally not required.
- Fix some build issues with various configuration options.
- Fix the inheriting of directory authorization information.
Compatibility Changes
- The MaServer::configure command has reduced its parameter count from 2 to 1.
- maGetVar and maSetVar now require an object array argument to specify the variable array to access.
- The C++ EspProc method of creating ESP procedures is now
deprecated. It will be supported until version 3.X when it will be
removed from the product. Users should call espDefineCFunction instead.
- The EJS module has been removed it is now integrated into the ESP module.
- The previous session APIs have been integrated into MaRequest::setVar and MaRequest::getVar
New Features in 1.2.3
This is a minor bug fix release.
Fixes
- Fix compatibility issue in libcompatModule
with GoAhead WebServer. Was not creating environment variables for
posted data. Will only do this if the data is URL encoded.
- Fixed Windows not matching case of URL extensions correctly. (Thanks Ziv).
New Features in 1.2.2
This is a minor bug fix release.
Fixes
- Fix
for ESP includes. On windows, was including files with text processing
which resulted in bad content lengths. Now reading RAW.
- Added MatrixSSL handler (Thanks to J, Brian and Steve @ peersec)
- Re-added some missing documentation pages
- Changed default MPR number of threads to 10. Can be overridden in the appweb.conf file. Thanks XDM.
- Fixed several authorization issues relating to ordering of directives in the configuration file. (Thanks Mathew O'Brien)
- Fixed encoding of "/" in query vars. (Thanks XDM)
- Fixed Windows not matching case of URL extensions correctly. (Thanks Ziv).
New Features in 1.2.1
This is a minor bug fix release.
Fixes
- Fix
for large SSL requests. Some large requests would not be processed and
would be prematurely terminated. There are no known security
implications.
New Features in 1.2
This 1.2 release rolls all the changes in the 1.1.X development stream
into a new stable release. The description below is a summary of
the key changes.
Major Features
- Integrated module for PHP4 and PHP5
- Enhanced Embedded Server Pages supporting post-back
- Session handling and cookie management
- Extended documentation with a wealth of new material
- Small C library support via uClibc
- uClinux support. Get the Patch for uClinux to support AppWeb.
- Completely revised build system and configuration to better support cross-compilation and modular selection of features.
Minor Features
- Enhanced C-API
- httpClient supports single threaded operation.
- New compact libminiStdc++ library to replace libstdc++ reduces memory footprint.
- Experimental ports for Solaris and MAC
- Upgraded PHP and OpenSSL versions
Fixes
- All fixes mentioned in the 1.1 stream below
- Fixed a Denial of Service issue where accesses to /esp could consume 100% of the CPU. (Thanks again Ziv Kamir)
Compatibility Changes
New Features in 1.1.3
Major Features
- Include PHP5 support
- Some important security fixes
- Enhanced uClibc support -- no patch required.
- Enhanced uClinux support. Patch available for uClinux.
Minor Features
- httpClient supports single threaded operation.
- Add new compact libminiStdc++ library to replace libstdc++. This reduces default memory footprint with glibc considerably.
- Merge Subversion initialization command setupTree into the configure command.
- Add to the top level Makefile and configure program the ability to autoconfigure.
- Improve
comments in configure, configuration template files and in the default
configuration files. The make.rules file is now common across all
operating systems.
- Eliminate the need for LD_LIBRARY_PATH unless debugging in the
tree. The "make run" target and many other internal build commands
automatically set the library path where required.
- Version the appweb library.
- Include packaging file lists in the source release.
Fixes
- Fix location of the libraries needed by PHP when creating a distribution package
- Fix for URLs that have trailing "." or " " in Windows. Fix prevents
returning the page as pure text. This bug affected windows systems only
for handlers that are matching by extension. This typically means ESP
and PHP pages configured to match URLs by extension. If using URL
prefix matching, the bug does not appear.
- Fix the 'h' formatting option for the CustomLog directive. This outputs the remote host name in the access log
- Fix session timeouts. Session timeouts did not renew when
subsequent session activity occurred. Timeouts will now cause a session
to be deleted when there is no activity on the session for the timeout
period.
- Security fix for Windows allowing access to secured URLs by mixing case. (Thanks Ziv Kamir)
- Fix for HEAD, and TRACE not being handled correctly by some handlers. (Thanks again Ziv)
- Security fix for user message disclosing too much information when denying access. (Ziv)
- Fix for VirtualHosts (including SSL virtual hosts) incorrectly parsing authorization configuration directives. (Ziv)
- Fix when using BLD_FEATURE_ROMFS on Windows. Was still accessing file system routines. (Black&White)
New Features in 1.1.2
Major Features
- Enhanced cross-compiling support. Configure program
supports --build, --host and the setting of CFLAGS, IFLAGS, LDFLAGS,
CC, LD, AR, RANLIB, CC_FOR_BUILD, LD_FOR_BUILD.
- More documentation via README.TXT and FILES.TXT files in many directories.
- Small libc, uclibc support
- Uclinux support
Minor Features
- Merged per O/S configuration files into a single file.
Fixes
- Corrected the Windows Start Menu shortcut
- Rebuild OpenSSL with msvcrt.dll rather than msvcr71.dll
- Fix some errors in the README.HTML and converted to README.TXT
- Modify the source distribution appweb.conf to not load libcompat
- Fixed handling of URLs with upper case extensions (e.g. file.HTML)
New Features in 1.1.1
Major Features
- Enhanced Embedded Server Pages (ESP) allowing post-back to same page
- Integrated Session handling including C and Javascript APIs.
- Include a more feature-rich PHP module and upgrade PHP version.
- Enhanced C-API (thanks Nick Ivanter)
- Authorization APIs for modifying user and group auth details at run-time
- Added a fully static appweb program
- First pass Solaris port (thanks Peter Gravestock)
- Experimental fFile upload (Nick again)
Minor Features
- "make install" for installing directly from source
- Support full static linking with AppWeb libraries and building static versions.
- Add LoadModulePath directive to make it easier to maintain module paths
- Removed Matrix SSL handler. This is now being handled directly by PeerSec. Thanks guys. See (http://www.matrixssl.org)
- Speed up building on Windows with Cygwin
- Enhanced GoAhead WebServer API compatibility (thanks Art & Logic)
- Extended build system, configure command and bld script.
- Upgrade OpenSSL versions
Fixes
- Fix for ESP pages with 8-bit characters in scripts. (Thanks Michael Miller)
- Fix duplicate environment variables in simpleEgi sample. (Thanks Nick)
- Fix some build circular dependencies. (Thanks Nick)
- Fix incomplete requests not handling keep alive correctly.
- Don't close keep-alive connections for requests returning 304 (not modified) ]
- Fix mprStrCmpAnyCase routine.
- Fix Content-Length handling when the length is zero.
- Fix MaRequest:getCrackedCookie. Could corrupt memory.
- Fix when using ROMed web pages (BLD_FEATURE_ROMFS)
- Fix some visual studio project files that referenced libraries of the wrong build type.
Compatibility Changes
New Features in 1.1
Major Features
- PHP module for fast embedded execution of PHP applications and scripts
- First pass source code MACOSX port (Thanks Edward Dale http://www.scopmt.com)
- Greatly enhanced build system supporting granular selection of build features.
Minor Features
- Support full static linking with AppWeb libraries and building static versions.
- Add LoadModulePath directive to make it easier to maintain module paths
- Removed Matrix SSL handler. This is now being handled directly by PeerSec. Thanks guys. See (http://www.matrixssl.org)
- Speed up building on Windows with Cygwin
Fixes
- Fix for ESP pages with 8-bit characters in scripts. (Thanks Michael Miller)
- Fix duplicate environment variables in simpleEgi sample. (Thanks Nick)
- Fix some build circular dependencies. (Thanks Nick)
- Fix incomplete requests not handling keep alive correctly.
- Don't close keep-alive connections for requests returning 304 (not modified) ]
- Fix mprStrCmpAnyCase routine.
- Fix Content-Length handling when the length is zero.
Compatibility Changes
New Features in 1.0.4
Fixes
- Fix for URLs that have trailing "." or " " in Windows. Fix prevents
returning the page as pure text. This bug affected windows systems only
for handlers that are matching by extension. This typically means ESP
and PHP pages configured to match URLs by extension. If using URL
prefix matching, the bug does not appear.
- Fix the 'h' formatting option for the CustomLog directive. This outputs the remote host name in the access log.
- Security fix for Windows allowing access to secured URLs by mixing case. (Thanks Ziv Kamir)
- Fix for HEAD, and TRACE not being handled correctly by some handlers. (Thanks again Ziv)
- Security fix for user message disclosing too much information when denying access. (Ziv)
- Fix for VirtualHosts (including SSL virtual hosts) incorrectly parsing authorization configuration directives. (Ziv)
New Features in 1.0.3
Fixes
- Fix for digest handing on Windows. (Thanks lhearin)
- Fix for formatting of secure cookies.
- Enhance keep-alive for request errors.
- Remove the MatrixSSL handler (now supplied directly in the MatrixSSL distribution -- see http://www.matrixssl.org).
New Features in 1.0.2
Fixes
- Fixes
for Windows PHP handling. Define the SCRIPT_FILENAME environment
variable. NOTE: users must change the cgi_pathinfo setting in their
/WINDOWS/PHP.INI file to be set to "1". This instructs PHP to operate
according to the standards (Thanks Barry Drake).
- Fix for launching Firefox / Firebird by double-clicking on the Windows tray icon. (Thanks Kenny M.).
- Fix for bad DocumentIndex directive if occuring after the ScriptAlias directive for CGI files. (Thanks again Kenny).
- Several fixes for memory leaks when compiling Multithreaded. (Thanks Nicolas Ferre).
New Features in 1.0.1
Documentation
Fixes
- Test if a URL maps to a Windows device file. Fixes a crash condition on Windows NT, 9X and 2000.
- Fixed setting of Content-Length when the length of the content is not known. Changes to rq->setHeaderFlags
- Fix handling of poorly formed OPTIONS requests.
New Features in 1.0
Major Features
- Extensive push to test AppWeb to its limits with extreme load and long "soak" testing.
Minor Features
- Support
the Action directive to make it easier to configure CGI programs that
cannot use "#!/path" in the first line of the script.
- Fix and simplify configuration for CGI Perl, Python and PHP. New Action and AddType directives to the rescue.
- Test suite extended for CGI programs and for long POST data requests.
Performance
- Boost performance for Windows socket handling
- Boost performance for HTTP requests with long POST data.
Documentation
Fixes
- Fix a CGI multi-threaded bug where returning CGI data would interfere with subsequent Keep-Alive request data
- Fix MPR_FEATURE_MALLOC_HOOK when using the fast memory allocator
- Some fixes for Matrix SSL
- Disable log file rotation -- Security risk in current default configuration. (Can be re-enabled in source code)
- Fix a race condition with the socket handling code on Windows
New features in 0.9.1
Major Features
- Full support for Matrix SSL (small footprint embedded SSL)
- Cookie support
- Add setHeader API to allow handlers to define and override HTTP headers
Minor Features
- Add support for TRACE and OPTIONS HTTP methods
- Tighten handler checking to only respond to supported HTTP methods
- Allow
ESP pages to post back forms to themselves. Test on REQUEST_METHOD ==
"POST" to determine if the page is being displayed for the first time
or whether the form is being submitted. This eliminates the need for
EGI forms in many cases. One ESP page can be used to display and
process the data.
- Improved debug trace for httpClient and the appweb servers.
- Improved unit test for CGI and
Documentation
Architecture
- Enhanced
post data handling. The postData handler method is now called after the
run method. It will be called as required to push post data to the
handler.
- Post data pull mode support. Handlers can request to pull the post data rather than having it pushed to them. The Request::setPullPost will enable pull mode. The Request::readPostData API can be called in the handler to pull the post data as required.
Fixes
- Fix error with poorly form HTTP headers in some cases.
- Fix attempting to start appweb.exe when installing only the source code on Windows.
- Fix setResponseCode API to remove assert on non-200 response codes.
- Lots of minor fixes.
- Append to the access log on restarts.
Compatibility Changes
- The postData method and usage in the AppWeb handler interface has bee reworked.
New features in 0.9.0
General
- SSL is now supported "out of the box".
- GoAhead WebServer compatibility module (compatModule) now supported.
- C Language API and samples complete.
- Automatically launch browser after install to display documentation.
- Run as a windows service and automatically install as a service on Windows
Performance
- Shrink code on all platforms (Now from 120K to 300K).
- Compile without using exceptions -- further code size reduction.
- Performance gains. Throughput exceeds 3,500 requests per second (P4 2.4 GHZ running both client and server on Linux)
Documentation
- Documentation arrives
- Extensive overviews, guides, how-to documents, samples, references and APIs
- Samples are now divided into C and C++ samples with lots of extra samples including event loop integration samples.
- The installation now offers to install the documentation as a separate component.
- Documented C Language API.
- Documented C++ Language API.
- Lots more code comments.
Architecture
- New SSL Provider interface.
- Enhanced module loading interface.
Fixes
- Fix AppWeb not starting on system reboot on Linux.
- Fix build errors when compiling with various FEATURE combinations specified via bld.h and configure.
- Fixed issues with Visual Studio.NET upgrading Visual Studio 6 project files.
- Fix building source when installed stand-alone without the binary install.
- Fixed bug handling empty password and group authorization files.
- Fix windows link errors 4217, 4049
- Fix windows bug where aliases without drive specs were not handled correctly.
- Fix bug escaping and descaping URLs.
- Fix bug with windows event processing under heavy load where an event could get lost.
- Lots of minor fixes.
Compatibility Changes
- The module loading API has changed to allow modules to parse the configuration file.
- sslHandler has been renamed sslModule.
- The SSL provider interfaces has been rewritten.
New Features in Mbedthis AppWeb 0.8.1
Dynamic Content
- Embedded Server Pages
- Embedded JavaScript
- Embedded Gateway Interface (in-memory CGI)
- CGI/1.1
Security
- Secure Sockets Layer (SSL)
- Basic and Digest Authentication
- Directory and URL location based authorization
- Sandbox limits
- Access and access violation logging
Modularity
- Dynamic loading of modules
- Extensible URL handlers
- Extensible / replaceable authorization, SSL and script
Easy to Use
- Apache-style configuration file
- Debugging and trace logging
- Packaged installations for Linux and Windows
- Run as a service / daemon
Other Features
- HTTP server and client access program
- Named and IP based virtual hosts
- Listen on multiple ports
- Compile web pages and files into C code for execution from ROM
Standards
- HTTP/1.1
- CGI/1.1
- Apache configuration file compatibility
Performance
- Multithreaded with high performance thread pool
- Request throughput (> 3,500 requests per second)
- Scales on multi-cpu systems
- Small memory footprint even under heavy load (from 400K)
Developer Features
- HTTP server and client libraries
- Shared and static libraries supplied
- C and C++ APIs
- Operate single-threaded or multithreaded (Compile or run-time selectable)
- Easy, intuitive programming model
- Integrate with common event mechanism: Windows Messages, Unix select, dedicated thread
- Coding minimized as most features can be specified via the configuration file
- Cookbook of samples (cut and paste to get going)
- SMP safe
- Extensive debug trace logging
|
|