CherryPy / CHANGELOG.txt

Full commit
Christian Wyglen… d436364 

Remi Delon 01a4679 

Robert Brewer 2c7769b 

Remi Delon e40290e 
Remi Delon d935e88 
Remi Delon e40290e 

Robert Brewer 2c7769b 

Robert Brewer 42b3553 

Robert Brewer 2c7769b 

Remi Delon 499fb65 

Robert Brewer 42b3553 

Sylvain Hellegou… 1db651c 

Remi Delon e67ad7b 

Remi Delon 7aa07f5 
Remi Delon b208905 

Remi Delon 7aa07f5 
Remi Delon 83a5ac2 

Remi Delon e6166a2 

Michael Robinson 5ffbec2 

Remi Delon e6166a2 

Michael Robinson 9e7a4c6 

Michael Robinson 10bf74c 

Robert Brewer 37b013e 

    * CherryPy-2.2.1 released (thread_data bug fix)

    * CherryPy-2.2.0 released

    * Moved to Combined Log Format 

    * Reorganized all tests to cleanly separate client-side and server-side code

    * CherryPy-2.2.0rc1 released
    * Fixed various bugs (including session)

    * New test\ tool

    * Removed _cphttpserver, the native HTTP server that was deprecated in CP 2.1 (fumanchu)

    * New _cpengine module isolates "app server" from "HTTP server" state-management logic.

    * CherryPy-2.2.0beta released
    * Lots of improvements to sessionfilter
    * Added cherrypy.lower_api switch (people get a speed boost if they
    *   set it to True)

    * New _cptree module, with strong encouragement to call tree.mount(Root()[, baseurl]) instead of cherrypy.root = Root().

    * Added support for specifying the Content-Type to be used by defaults
    * Added a response headers filter to specify HTTP headers

    * Huge change: switching to lowercase_with_underscore names everywhere ... CP keeps backward compatibility though (remi)

    * CherryPy-2.1.0 released
    * Changed the default value for sessionFilter.locking from "implicit" to "explicit" (remi)

    * CherryPy-2.1.0-rc2 released
    * Bug in sessionfilter fixed

    * CherryPy-2.1.0-rc1 released

    * The new HTTP error mechanism has been completely rewritten (see tutorial
    * New session implementation. See the CherryPy book for docs (remi)
    * New server.maxRequestBodySize and maxRequestHeaderSize options.
    *   See the CherryPy book for docs (remi)

    * Generalized mechanism for handling HTTP errors
    * raising a HTTPStatusError will automatically send an appropriate error page
    * All errors in production mode will cause CP to respond with a http error

    * The session filter has been simplified, the mechanism for creating multiple sessions has been removed. However .. (mikerobi)
    * The session filter can placed inside a _cpFilterList to provide an alternative to the default session.            (mikerobi)
    * The config section [global] is now distinct from, and the parent of, [/]. (fumanchu)
    * cherrypy.request.path is now parsed and set before onStartResource filter methods are called. (fumanchu)
    * Absolute Request-URI's are now acceptable, and are converted to relative paths. (fumanchu)
    * A Request-URI of "*" now maps to the [global] config section, and to cherrypy.root._global. (fumanchu)

    * CherryPy-2.1.0-beta released. Check for instructions on how to upgrade from 2.0. (remi)

    * Request entities that are not form params now get stuck in cherrypy.request.body (as a temp file object). (fumanchu)
    * cherrypy.config.update can be called with an the keyword override=False to prevent values from being overwritten.
    * Added code-coverage tools. (fumanchu)

    * BACKWARD INCOMPATIBILITY: Removed cpg module, renamed _cpserver to server, _cpconfig to config, cperror to _cperror. See (fumanchu)

    * New generic HTTPRedirect exception for 3xx responses. (fumanchu)

    * Handle all HTTP methods. (fumanchu)

    * First check-in of the documentation project (lawouach)

    * getSpecialFunction renamed getSpecialAttribute (mikerobi)

    * New test suite (no forks, no exec). (fumanchu)
    * New lib/profiler module. (fumanchu)
    * New session filter (mikerobi)
    * New config.getAll function (mikerobi)

    * New sessionauthenticatefilter. This replace CSAuthenticate implementation (based on aspect). (Remi)
    * New nsgmlsfilter. Provides XHTML validation (you need NSGMLS installed). (Remi)

    * New WSGI server. (Peter)

    * Core (_cphttptools) was completely rewritten to use iterators throughout. (fumanchu)
    * HTTP server has been decoupled from _cpserver. (fumanchu)
    * New WSGI interface to the builtin http server; WSGI is now the default. (fumanchu)
    * Moved session handling into a filter. (fumanchu)
    * New for testing basic request and error handling. (fumanchu)
    * autoreload disabled if cpg.server.start is called with initOnly=True. (fumanchu)
    * BACKWARD INCOMPATIBILITY: filters changed, see (fumanchu)

    * BACKWARD INCOMPATIBILITY: New config system, see (Remi)
    * Fixed small bug in httptools.redirect (Remi)
    * Allow methods to return recursive generators (Remi)
    * Methods can now return file objects which are red in 64kb chunks. (Mike)

    * CherryPy-2.0-final released
    * Added tests about static content and httptools.redirect (Remi)
    * Handle %20 (and others) in static content - ticket #104 (Remi)
    * If y is a static dir make y/a?b try and serve a file named a?b (Dan)
    * Pass threadIndex to onStartThreadList functions - ticket #91 (Remi)
    * Renamed "configDict" into "configMap" for consistency - ticket  #82 (Remi)
    * Dots in requests path are now replaced by underscores  - ticket #87 (Remi)
    * Improved WSGI support and added example (seems to work OK) (Peter, Remi)
    * Added DecodingFilter (Remi)
    * Added form module (port from CP1 Form.cpy) (Remi)
    * Improved the way static files are being served (Remi)

    * CherryPY-2.0-beta released
    * xmlrpcfilter added (Remco)
    * cpg.response.body is now always an iterable type - ticket #59 (Carlos)
    * Allowed default session functions to be accessed by other modules - ticket #56 (Remi)
    * Added cpg.threadData - ticket #53 (Remi)
    * Added request.requestLine - ticket #52 (Remi)
    * logFile config option is now honored - ticket #51 (Remi)
    * Added cpg.request.remoteAddr and cpg.request.remoteHost - ticket #34 (Eurleif) 
    * Improved baseurlfilter to handle x-forwarded-host - ticket #49 (Kender)
    * Made object mapping algorithm iterative instead of recursive - ticket #48 (Jesir Vargas)
    * Improved testing framework (Remco)
    * Check that response is a string *after* filters have been applied (ticket #28) (Remi)
    * Removed all XML-RPC references from the core: it is now a filter (ticket #30) (Remi)
    * Removed "response encoding" from the core: it is now in a filter (ticket #31) (Remi)
    * Implemented filters and a couple of sample filters (Remi)
    * Fixed "cleanUpOldSessions" bug (ticket #12) (Remi)
    * "file" storage type for sessions now works fine (Remi)
    * Ticket #6: If a response is unicode, it gets encoded automatically. Encoding is specified in the config file unser [server].encoding (the default is UTF-8). (Remi)
    * Added more unittest (Remi)
    * Fixed file upload bug (Remi)

    * First alpha release of CherryPy-2 (Remi)