Difference between revisions of "What's new in 4.5"
Jump to navigation
Jump to search
m |
m |
||
Line 27: | Line 27: | ||
* New '''ns_returnmoved''' command to return 301 http status code and redirect to a new URL. | * New '''ns_returnmoved''' command to return 301 http status code and redirect to a new URL. | ||
* New '''ns_cache''' command based on ideas from the ns_cache module. This is not backward compatible with the ns_cache module. | * New '''ns_cache''' command based on ideas from the ns_cache module. This is not backward compatible with the ns_cache module. | ||
− | * Added new '''ns_register_fastpath | + | * Added new '''ns_register_fastpath''' command to re-enable fastpath after a previous call to '''ns_register_proc'''. |
* Added ability to access more AOLserver functionality from a tclsh (nsv_*, ns_thread, etc). | * Added ability to access more AOLserver functionality from a tclsh (nsv_*, ns_thread, etc). | ||
* Stack checking has returned. In a multi-threaded application like AOLserver, stack checking is important for detecting buffer overruns and deep call trees blowing your thread stack, etc. | * Stack checking has returned. In a multi-threaded application like AOLserver, stack checking is important for detecting buffer overruns and deep call trees blowing your thread stack, etc. | ||
* More detailed information when logging uncaught Tcl errors. Especially for connection threads, details of the HTTP request are logged to make diagnosing the root cause of errors easier. | * More detailed information when logging uncaught Tcl errors. Especially for connection threads, details of the HTTP request are logged to make diagnosing the root cause of errors easier. |
Revision as of 02:56, 22 February 2006
This is a partial list of new features and major changes in AOLserver 4.5 (compared to 4.0). If you know of anything that is missing, please add it.
Connection Management:
- New ns_pools command to map method/URL's to specific thread pools.
- New ns_limits command control the number of threads executing and/or waiting for execution by method/URL.
I/O Features:
- New Ns_QueueWait API to enable event-driven callbacks in the driver thread before dispatching to pools for processing.
- Added ability to manage larger file uploads by spooling to a temporary file.
ADP Improvements:
- Added a new execution caching technique at the ns_adp_include level which allows you to save the results of execution of an included ADP and includes below that for reuse on subsequent connections up to a specified time.
- Added singlescript config option which turns ADP pages into a single script enabling syntax such as "<% foreach e $list { %> element <%= $e %> here <% } %>".
- Added output buffer improvements via new Ns_ConnFlush.
- Added automatic UTF-8 to output charset encoding.
- Added gzip output compression.
- Added streaming output in chunked-encoding format instead of the previous "response with no length" HTTP/1.0 method.
- Enhanced ADP error handling and reporting.
Other Improvements:
- New Ns_TclRegisterTrace API to enable callbacks at key state transition points in a much more natural way. The ns_ictl command has been updated to support script-level traces.
- New Ns_Task API designed to replace the old Ns_SockCallback API which didn't do a very good job at managing timeouts along with I/O events.
- New ns_returnmoved command to return 301 http status code and redirect to a new URL.
- New ns_cache command based on ideas from the ns_cache module. This is not backward compatible with the ns_cache module.
- Added new ns_register_fastpath command to re-enable fastpath after a previous call to ns_register_proc.
- Added ability to access more AOLserver functionality from a tclsh (nsv_*, ns_thread, etc).
- Stack checking has returned. In a multi-threaded application like AOLserver, stack checking is important for detecting buffer overruns and deep call trees blowing your thread stack, etc.
- More detailed information when logging uncaught Tcl errors. Especially for connection threads, details of the HTTP request are logged to make diagnosing the root cause of errors easier.