What's new in Appweb 6.2.1
Apr 27, 2016
- Fix JSON line number tracking for error reporting
- Fix openssl support not clearing the buffered read data flag - causing high CPU usage
New in Appweb 6.0.2 (Aug 17, 2015)
- Upgrade MPR, HTTP and ESP with fixes and enhancements
New in Appweb 5.1.0 (Aug 4, 2014)
- Minor Features:
- Simplify log and trace output to the console via --trace and --log switches [issue 371].
- Add unit tests using TestMe [issue 372].
- Fixes:
- Fix race condition with mprWaitForEvent [issue 373].
- Fix JSON config file parsing [issue 374].
- The fixes from version 4.6.2 are applied.
New in Appweb 5.0.0 (Aug 4, 2014)
- Major Changes:
- Deprecated APIs and Legacy code in Appweb 4 has been removed. [issue 341]
- The ESP web framework has been extracted as a stand-alone product, but Appweb still includes the full ESP framework. [issue 342]
- Appweb uses the MakeMe build tool. This was previously called Bit. [issue 343]
- Convert Appweb dependencies into Pak packages [issue 344]
- Split error log and request log [issue 352]
- Minor Changes:
- Generated Makefiles are more configurable. [issue 345]
- Fixes and changes since rc1:
- Parsing corrupted cookies of the form "name=" and mulitple cookie handling [issue 366]
- Improve bit packing in Mpr and Http structures [issue 367]
- Update Ejscript JSON parsing to detect missing commas [issue 368]
- Fix for ESP to load fix.css when using all.less [issue 369]
- Fix httpAuthenticate being run multiple times [issue 370]
- Fixes and changes since rc0:
- Fix testing of XSRF token. Only re-create in views. [issue 346]
- Update ESP to fix client.mappings timeouts [issue 353]
- ESP upgrade should not overwrite overwrite files by default. [issue 354]
- ESP command updated to create users and roles. [issue 355]
- The fixes from version 4.6.0 are applied in release candidate rc1
- The fixes from version 4.6.1 are applied in release candidate rc2
- Incompatible Changes:
- Configuring for Ejscript now requires "--with ejs" instead of "--with ejscript"
- Since Bit is rebranded as MakeMe, conditional definitions are using the "ME_" prefix instead of "BIT_"
- Also, configured components are described using "ME_COM_" instead of "BIT_PACK"
- APIs previously nominated in 4.X as deprecated are now removed. This includes the ESP legacy mvc framework
- ESP Package.json format is changed for many properties. Regenerate the application to get a new package.json file
- ESP applications have a different package.json property layout. Upgrade all relevant paks. See ESP Configuration Sample for details
- With separating the error log and request log, the mprLog, mprTrace, mprError APIs, and the MprLogHandler type have revised signatures. The mprLog API is the primary error logging API and mprError should not be used. The mprLog API takes a tag words argument that can specify severity levels and classification tags for filtering the error log
New in Appweb 4.6.2 (Jul 31, 2014)
- Fixes:
- Client initiated disconnect not setting HttpTx.responded. [issue 365].
- Add OpenSSL SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER option [issue 375].
- Require MakeMe 0.8.2 [issue 376].
- Negative timeouts in httpWait for client HTTP requests causing delays. [issue 377].
New in Appweb 4.6.1 (Jun 25, 2014)
- Fixes:
- Fix old reference to bit in package/service.es [issue 356].
- Fix esp -V to display just a pure version number [issue 357].
- Fix ESP package.json "app.http.keep" property [issue 358].
- Fix exporting ESP paks to have version numbers that match Appweb [issue 356].
- Fix finding appweb.conf when executing outside the Appweb installation directory. [issue 361].
- Fix loading the esp module when appesp is run inside /etc/appweb or appweb binary installation directory. [issue 362].
- Fix EST write blocking [issue 363].
- Fix printf format strings. Enable compiler printf format checking. [issue 364].
New in Appweb 4.6.0 (Jun 3, 2014)
- Fixes:
- Switch to use MakeMe, previously called Bit. See the GitHub issue for details of the change. [issue 343].
- UploadFilter with packet-spanning boundary in the last packet. [issue 348].
- Redirection for virtual hosts to HTTPS [issue 349].
- Static linking on linux [issue 350].
- MprJoinPaths fails on windows [issue 351].
New in Appweb 5.0.0 RC0 (May 17, 2014)
- Notes:
- The Appweb 5 API is substantially backwards compatible with Appweb 4 applications. If Legacy Appweb 4 APIs are not being used, there should be minimal code change to migrate to Appweb 5 from Appweb 4.
- Major Changes:
- Deprecated APIs and Legacy code in Appweb 4 has been removed. [issue NN].
- The ESP web framework has been extracted as a stand-alone product, but Appweb still includes the full ESP framework. [issue NN].
- Appweb uses the MakeMe build tool. This was previously called Bit. [issue NN].
- Appweb is more modular by using the Pak package manager tool . [issue NN].
- Minor Changes:
- Generated Makefiles are more configurable. [issue NN].
- Incompatible Changes:
- Configuring for Ejscript now requires "--with ejs" instead of "--with ejscript"
- Since Bit is rebranded as MakeMe, conditional definitions are using the "ME_" prefix instead of "BIT_"
- Also, configured components are described using "ME_COM_" instead of "BIT_PACK"
- APIs previously nominated in 4.X as deprecated are now removed. This includes the ESP legacy mvc framework.
- ESP Package.json format is changed for many properties. Regenerate the application to get a new package.json file.
- ESP Angular applications have a different Esp.config property layout. Upgrade all relevant paks.
New in Appweb 4.5.6 (May 17, 2014)
- Fixes:
- Remove unwanted assert for WebSockets Ping requests in httpSendBlock [issue 328].
- Supplemental group membership on Unix when using UserAccount [issue 329].
- Add mp4 mime type [issue 330].
- Fix hang on exit [issue 334].
- Add "mov" mime type to defaults. [issue 335].
- XP compilation fails [issue 336].
- Must flush session state earlier [issue 338].
- Range filter not handling bad range values [issue 339].
- CgiProgram content length overflow [issue 333].
New in Appweb 4.5.2 (Mar 28, 2014)
- Fixes: httpDigestParse incorrect parsing [issue 320].
New in Appweb 4.5.1 (Mar 13, 2014)
- Minor Features:
- Add esp --debug and --release switches to control compilation mode for symbols or optimization
- Fixes:
- WebSockets default request timeout. [issue 310].
- Preserve HttpRx.originalUri when using ErrorDoc responses. [issue 311].
- ESP package.json esp.redirectSecure property to apply only to ESP application. [issue 312].
- httpCheckSecurityToken when token is defined but empty. [issue 313].
- ESP package.json esp.login.name for auto-login in dev mode. [issue 314].
- ESP scripts() and stylesheets() to emit cleaner relative URIs. [issue 315].
- Revert naming of httpUri to previous httpLink. httpUri deprecated but supported. [issue 316].
- httpGetCookie with multiple cookies of intersecting names. [issue 317].
New in Appweb 4.4.0 (Oct 2, 2013)
- Major Features:
- Major performance optimizations. [issue 224]
- Added security defensive counter measures. Added Monitor and Defense directives. [issue 213]
- Add Angularjs support in ESP. [issue 196]
- Enhance "esp" generator application to generate application components including Angular applications. [issue 197]
- Change password hashing algorithm to use Blowfish encryption [issue 198]
- Minor Features:
- Update ESP jquery support [issue 179]
- Update EspApp directive with new syntax. [issue 180]
- Add ESP src/app.c. This is invoked at Appweb startup. [issue 181]
- Add lessjs support for ESP. Replace old layout/theme style sheets with a theme.less. [issue 182]
- Add ESP html5shiv for generated apps [issue 183]
- Add support for multi-line strings in ESP templates via back-tick. [issue 185]
- Add StreamInput directive to control request body input streaming or buffering. [issue 199]
- Add Map directive for transparent content extension mapping. Deprecate Compress directive. [issue 200]
- Add httpLogout API. [issue 201]
- Add httpAddAuthStore and HttpAddAuthType APIs to permit overriding the password verification scheme. [issue 202]
- Add httpAddParamsFromJsonBody API. [issue 203]
- Enhanced MPR APIs for: mprGetRandomString, mprGetCacheStats, mprCryptPassword, mprMakeSalt, mprAddKeyWithType, mprQueryJsonString, mprQueryJsonValue, stitle, mprGlobPathFiles. [issue 204]
- Replace Method, PutMethod and TraceMethod directives with AddMethods, RemoveMethods and SetMethods. [issue 208]
- Add SessionCookie directive to control the visibility of the session cookie. Default now is "httponly". [issue 210]
- Rename EspShowErrors as ShowErrors to make available to all handlers. [issue 211]
- Added Stealth directive to control stealth mode. Stealth mode hides the Server header in responses. [issue 212]
- Added Header directive to define response headers. [issue 215]
- Used "Header set" to define important security directives to the default appweb.conf. [issue 216]
- Optimized file upload. [issue 218]
- Tightened WebSockets compliance. Passing Autobahn test suite. [issue 217]
- Add palloc APIs for permanent memory allocations [issue 226]
- Add JSON query API [issue 230]
- Enhance esp generator to generate applications using different client-side frameworks. [issue 231]
- Fixes:
- Fixes for ESP controls. [issue 184]
- Update ESP tabs to fix tab order [issue 186]
- Update ESP flash messages - were not clearing. [issue 187]
- Remove EspLoad directive. Now integrated into EspApp. [issue 188]
- Remove leading "-" from all ESP CSS classes. [issue 189]
- Fix HTTP streaming request body input in http core engine. [issue 205]
- Fix Http sessions. Aggregate all session state data in one object. [issue 206]
- Make loading SSL provider thread-safe. [issue 207]
- Make loading SSL provider thread-safe. [issue 207]
- Fix Socket and SSL return codes when socket is full. [issue 214]
- Fix Source directive to be relative to route home rather than route documents. [issue 219]
- Fix for windows when time goes backwards [issue 227]
- Fix esp recompiling on windows [issue 228]
- Modify ESP cache module naming to include the appname as an ingredient into the MD5 name. This is necessary to support multiple applications with controllers of the same name. [issue 234]
- Incompatible Changes:
- The ESP HTML control generators are deprecated. The recommended approach is to use a client-side framework like Angular for HTML controls.
- The EspApp directive now has a new format. See the ESP documentation for details. The old format is enabled but deprecated.
- The ESP flash mechanism now preserves flash messages into the next controller and they are then erased before the view after that. Flash should not be used for feedback into the view.
- The ESP setFlash() function is now renamed flash().
- The ESP flash() function is renamed renderFlash(). This is to be consistent with other render methods.
- The ESP espGetFlashMessage() function is renamed espGetFlash()
- ESP controller module initialization functions have a new naming convention: esp_controller_APP_NAME instead of esp_module_NAME. This permits multiple applications with controllers of the same name.
- The ESP src/*.c files must now be named src/app.c
- ESP cache modules names are different and now include the app name as an ingredient in the MD5 name.
- The ESP function stylesheet() now generates by default a reference to "static/css/all.css" instead of "layout.css" and "theme/default.css". This is to support the use of Less and SCCS which aggregate style sheets.
- If a Route directive uses the same pattern as a previously created route, it will open and modify the previous route.
- The Header directive is renamed RequestHeader. Use SetHeader to set response headers.
- The Compress directive is present but deprecated. Use "Map compressed" instead. Map is a more generalized facility that embraces compression.
- The httpHandleOptionsTrace() function is deprecated. The API is present but deprecated.
- LimitRequestBody does not file upload size. Use LimitUpload to limit file upload size.
- Changed the field HttpRoute.dir to HttpRoute.documents. This is to avoid confusion with HttpRoute.home.
- The Appweb default configuration is now secure-by-default. The security sandbox limits are set fairly low and the default responses now include headers to limit cross-site-scripting vulnerabilities. See Security Defaults for more information.
- The httpAddResourceGroup, httpAddResource, httpAddClientRoute and httpAddRouteSet have changed signatures to accommodate a URI prefix for server-side controller URIs.
New in Appweb 4.3.6 (Oct 2, 2013)
- Fixes"
- Add yield points to reduce memory footprint for back-to-back requests. [issue 232]
- Fix route templates if a route has a trailing $. [issue 233]
New in Appweb 4.3.5 (Oct 2, 2013)
- Fixes:
- Fix recalculating MDB index after deleting items. [issue 194]
- Fix SSL write blocking with OpenSSL. Caused increased memory consumption for large file downloads over SSL. [issue 195]
- Content-Range end byte is one too big. [issue 178]
- Fix parsing range header. [issue 209]
- Fix WebSocket compliance with continuation frames [issue 223]
- Fix mprYield and GC deadlock [issue 221]
- Update License.md [issue 222]
New in Appweb 4.3.4 (Oct 2, 2013)
- Fixes:
- Fix incorrect http session max exceeded limit message [issue 191]
- Fix static compilation error in espHandler. [issue 192]
- Update jquery and jquery.esp to support jQuery 1.9 [issue 193]
New in Appweb 4.3.3 (Oct 2, 2013)
- Minor Features:
- Add ESP template directive @! to access C variables [issue 190]
- Fixes:
- Fix ESP MVC apps serving static/*.esp [issue 164]
- ESP generate with SDB fails [issue 165]
- Fix resolving appweb.conf relative to the appweb.conf file [issue 166]
- Fix client HTTP Host header. Should not include :443. [issue 167]
- Fix esp generate table | migration [issue 168]
- Improve esp generated appweb.conf [issue 169]
- Fix EspApp to reuse suitable existing routes if possible [issue 170]
- Fix ESP setting {controller} parameter for singleton resource routes [issue 171]
- Generate dummy data favicon for error pages and ESP icon(0, 0) [issue 172]
- Fix missing EspControl documentation and add ESP API stability classifications [issue 173]
- Update to jQuery 1.9 for ESP [issue 174]
- Use HTML5 data-esp prefix for ESP data attributes [issue 175]
- Add SO_REUSEADDR for VxWorks [issue 176]
- Fix the ESP text password attributes [issue 177]
New in Appweb 4.3.2 (Oct 2, 2013)
- Minor Features:
- Add self-signed cert and enable SSL by default [issue 150]
- Improve generated makefiles using top level CFLAGS, LDFLAGS [issue 151]
- Improve and extend samples [issue 152]
- Improve portability of compiled ESP modules. Change MD5 encoding to be based on route relative paths. [issue 153]
- Change _default_ to APPWEB for UserAccount and GroupAccount directives. The old _default_ is still implemented. [issue 161]
- Fixes:
- Fix esp --platform vxworks compile [issue 154]
- Fix CPU setting in "configure --platform os-arch:CPU" [issue 155]
- Fix compiling ESP pages with DOS end-of-line terminators (CR/LF) [issue 156]
- Fix "EspUpdate off" to permit one-time loading of ESP modules [issue 157]
- Fix location of error.log and default to the current directory. [issue 158]
- Rename AuthStore pam => system, internal => file. Pam|internal deprecated but still implemented. [issue 159]
- Fix compiling C++ samples on windows by removing TSZ define [issue 160]
- Fix "esp can't find platform" [issue 162]
- Cookie fixes: Fix httpSetCookie to only allow one header per cookie. httpCreateSession to always re-create a session. httpDestroySession to erase the client cookie (API change). [issue 163]
New in Appweb 4.3.1 (Oct 2, 2013)
- Minor Features:
- Add MPR palloc/pfree APIs to allocate and free permanent memory [issue 139]
- Update API stability classifications [issue 140]
- Update JQuery to 1.9.1 [issue 141]
- Update SQLite to 3.7.15.1 [issue 142]
- Improve conditional makefiles to support SSL and PHP [issue 143]
- Add make deploy [issue 144]
- Lots of documentation updates [issue 145]
- Add static makefiles [issue 146]
- Fixes:
- Only change user/group for UserAccount/GroupAccount if root/administrator [issue 147]
- Define default stack size for VxWorks [issue 148]
- Fix make/bit install for non-root installations [issue 125]
- Add "public" to cookies over SSL for firefox [issue 149]
- Fix C++ compilation [issue 127]
New in Appweb 4.3.0 (Oct 2, 2013)
- Minor Features:
- Fixed listening on Windows 64 with IPv6 and IPv4 on a single socket. [issue 98]
- Change tunable defines to be override via configure. These are now all named: BIT_*. [issue 99]
- Update to PHP5.4 [issue 100]
- Add support for the Mocana NanoSSL stack: [issue 102]
- Add prototype support for the EST SSL stack: [issue 101]
- Add main.bit settings "logging". This is enabled by default for debug and release builds. If disabled, calls to mprLog() will be optimized out. Calls to mprError will always be enabled. Similarly, added main.bit settings "tracing". This is enabled by default for only for debug builds. If disabled, calls to assert() and mprTrace() will be optimized out. [issue 107]
- Added esp --genlink, to generate a static link file for loading esp applications. Added "bit genapp" sample target to generate slink.c based on esp applications under src/server/web. [issue 114]
- Added Ejscript as an integrated component instead of requiring a separate download. Use "configure --with ejscript" to enable. [issue 117]
- Added support for HSTS (HTTP Strict Transport Security). [issue 120]
- Enhance makefiles to support targets: install, uninstall [issue 121]
- Support building on windows without cygwin [issue 122]
- Add full text search (FTS3) in SQLite [issue 128]
- Optimize memory allocation for large form requests [issue 131]
- Optimize memory garbage collection when appweb is idle [issue 132]
- Fixes:
- The mpr.h header has been split into a cross platform operating system layer called bitos.h. The mpr.h header includes this, so there should be no API impact. [issue 103]
- Remove compiler switch -mtune when not required [issue 104]
- Fix generated makefiles determining the system CPU architecture [issue 105]
- Main.bit settings are grouped into collections: http, esp, mpr. Use configure --set NAME.FIELD=value where NAME is the collection name. [issue 108]
- Update licenses. Remove licenses for SSL stacks that are not included in the product. [issue 109]
- Fix test if IPv6 is supported on a system [issue 110]
- Fix creating browser cookies for localhost [issue 112]
- Fix esp --flat, to compile esp applications into a single library [issue 113]
- Building with ROM fs support. Added configure --rom, and the sample target "bit rom" [issue 115]
- Using static linking with esp applications. [issue 116]
- Esp command without a database (mdb or sdb) [issue 119]
- Appweb now installed under /usr/local rather than 1/2 under /usr. [issue 124]
- ESP now uses the file handler to serve static content. [issue 126]
- Form request with Content-Length of zero. [issue 129]
- Improve CGI response header parsing [issue 130]
- Fix esp run [issue 133]
- Change esp @@variables and