New Features in 2.4.0
This
is essentially a re-branding of the development version version 2.3.4.
Here are the major changes compared to version 2.2.X.
Major- Support conditional directives in Appweb configuration files using <IF>.
- Enhance cross-compilation support by extending control flags and control over compiler options.
- Plenty of Nessus scan testing and longevity testing.
Minor
- Enhanced MAC OS X support. Builds and runs from svn tree.
No installation, source only.
- Cross development configuration simpilified. Simplified
tools.config configuration.
- Improved tool searching algorithms in configure.
- Update to use latest doxygen for documentation
generation.
- Fix C++ compiler warnings for a cleaner build.
- Documentation updates for configuration and building.
- Add IPv6 support for MACOSX and simplify IP4+6
implementations.
- Support simultaneous IPv4 and IPv6 connections.
- Initial BSD port. No installation, source only.
- Extensive valgrind, nessus and longevity testing
- VxWorks 6.X support.
- Add support for Visual Studio 9.0 and Visual Studio Express.
- SuSE linux support. Packaged releases provided, make
install/uninstall operational.
- Update uclibc support.
- Remove requirement to have doxygen during the
installation.
- Increase default input buffer alloction to 1K to include
most request headers without having to reallocate memory.
- Improved documentation on building from source.
Fixes
- Cross-compilation fixes for make install and make package.
- Fix for ranged GETs when fetching a large chunk of data. Was sending incorrect data.
- Fixed SSL requests hanging when using large posted data.
- Fix Keep-Alive header timeout. Was in milliseconds, changed to be in seconds.
- Fix for for large chunked requests hanging in some clients.
- Fix for requests with large (incoming) headers.
- Fix various compiler warnings.
- Fix for responses with large headers exceeding the default
buffer allocations.
- Fix valgrind tests.
- Change HTTP 1.0 requests to not use keep alive unless
explicitly asked for via Connection headers.
- Fix case where under heavy load CGI process can get lost
and the request can hang. Due to a reentrant signal handler.
- Fix Windows CGI processing was inoperable in 2.3.0.
- Fix directory listings.
- Fix Windows DLL search paths for locating DLLs.
- Fix setting CPU -m switch for GCC.
- Fixes for VxWorks cross compilation.
- Fix building the gacompat module.
- Fix request timeouts due to output data stalling when the
socket becomes saturated.
- Fix memory leak when deleting handlers that manage their
own variable store.
- Stop using mt.exe for embedding manifests into the
application. VS mt.exe is bugged.
- Various build system fixes.
- Use chcon on shared libraries only if Security Enhanced
Linux is enabled.
- Fix ssl redirect.
- Fixes for IPv6.
- Fixes for library list when building statically.
- Fix creation of C:/Program file on windows. Due to missing
quotes on CustomLog file spec.
- Fixes for compiling with VS 2005. Added manifests and
embedded manifests for executables and DLLs. Windows build is
now compiled with VS 2005.
- Fix for memory leak with CGI programs
- Fix for stack overflow with very large output headers.
- Improved valgrind test suite conformance
- Fix to permit recursion in Embedded Javascript and ESP
- Reduce number of TIME_WAIT sockets
Ne
New Features in 2.3.4
Fixes
- Cross-compilation fixes for make install and make package.
New Features in 2.3.3
Fixes
- Fix for for large chunked requests hanging in some clients.
- Some cross-compilation build and make fixes.
New Features in 2.3.2
Fixes
- Fix for ranged GETs when fetching a large chunk of data. Was sending incorrect data.
- Fixed SSL requests hanging when using large posted data.
- Fix Keep-Alive header timeout. Was in milliseconds, changed to be in seconds.
New Features in 2.3.1
Major- Support conditional directives in Appweb configuration files using <IF>.
- Enhance cross-compilation support by extending control flags and control over compiler options.
- Plenty of Nessus scan testing and longevity testing.
Minor
- VxWorks 6.X support.
- Add support for Visual Studio 9.0 and Visual Studio Express.
- SuSE linux support. Packaged releases provided, make
install/uninstall operational.
- Update uclibc support.
- Remove requirement to have doxygen during the
installation.
- Increase default input buffer alloction to 1K to include
most request headers without having to reallocate memory.
- Improved documentation on building from source.
Fixes
- Fix for requests with large (incoming) headers.
- Fix various compiler warnings.
- Fix for responses with large headers exceeding the default
buffer allocations.
- Fix valgrind tests.
- Change HTTP 1.0 requests to not use keep alive unless
explicitly asked for via Connection headers.
- Fix case where under heavy load CGI process can get lost
and the request can hang. Due to a reentrant signal handler.
- Fix Windows CGI processing was inoperable in 2.3.0.
- Fix directory listings.
- Fix Windows DLL search paths for locating DLLs.
New Features in
2.3.0
Minor
- Enhanced MAC OS X support. Builds and runs from svn tree.
No installation, source only.
- Cross development configuration simpilified. Simplified
tools.config configuration.
- Improved tool searching algorithms in configure.
- Update to use latest doxygen for documentation
generation.
- Fix C++ compiler warnings for a cleaner build.
- Documentation updates for configuration and building.
- Add IPv6 support for MACOSX and simplify IP4+6
implementations.
- Support simultaneous IPv4 and IPv6 connections.
- Initial BSD port. No installation, source only.
- Extensive valgrind, nessus and longevity testing
Fixes
- Fix setting CPU -m switch for GCC.
- Fixes for VxWorks cross compilation.
- Fix building the gacompat module.
- Fix request timeouts due to output data stalling when the
socket becomes saturated.
- Fix memory leak when deleting handlers that manage their
own variable store.
- Stop using mt.exe for embedding manifests into the
application. VS mt.exe is bugged.
- Various build system fixes.
- Use chcon on shared libraries only if Security Enhanced
Linux is enabled.
- Fix ssl redirect.
- Fixes for IPv6.
- Fixes for library list when building statically.
- Fix creation of C:/Program file on windows. Due to missing
quotes on CustomLog file spec.
- Fixes for compiling with VS 2005. Added manifests and
embedded manifests for executables and DLLs. Windows build is
now compiled with VS 2005.
- Fix for memory leak with CGI programs
- Fix for stack overflow with very large output headers.
- Improved valgrind test suite conformance
- Fix to permit recursion in Embedded Javascript and ESP
- Reduce number of TIME_WAIT sockets
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
|
|