Commits

fumanchu  committed 204dcf6

update to [2679]

  • Participants
  • Parent commits 5e1bdc7

Comments (0)

Files changed (1)

File WhatsNewIn32.wiki

 [[PageOutline]]
 
-[This document is up-to-date as of [2560].
+[This document is up-to-date as of [2678].
 
 = What's new in CherryPy 3.2 =
 
 
 The biggest change required for Python 3 is the switch from bytes to unicode. CherryPy 3.1 only ran on Python 2, which favored byte strings over unicode strings. But in Python 3, unicode strings are preferred. Most Request attributes are now unicode strings in Python 3.
 
+== Sphinx Documentation ==
+
+There is a brand-new doc effort underway in the repo itself. You can read it online at http://docs.cherrypy.org/dev/index.html, or check out the source code and help us improve it!
+
 == Deployment ==
 
 === FastCGI/SCGI ===
 
 This dispatcher now includes any `_cp_config` attribute on the `GET`/`POST`/etc handler method itself.
 
+=== Punctuation in URL's ===
+
+Since forever, you could map dots in URL's to underscores, so that you could serve the URL '/foo.html' from a page handler like `def foo_html(self):` for example. Starting in 3.2, all punctuation is now converted to underscores for you. If you don't like that for some reason, you can define your own mapping via the new `translate` argument to `cherrypy.dispatch.Dispatcher`. See [2676] for complete details.
+
 == Request Bodies ==
 
 CherryPy 3.2 has a new `_cpreqbody` module which completely replaces its use of the standard library's `cgi` module (and our `safemime` and `cpcgifs` modules, to boot). There are default processors for common content-types (including improved support for `multipart/*` types), and you can write your own custom processors! See RequestBodies for more details.
 
 There's a new REQUEST_URI environ entry, which equals the [http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2 Request-URI] in the HTTP spec. Also, the SERVER_NAME entry is no longer settable by the client.
 
-The wsgiserver is no longer hard-coded to emit WSGI 1.0; instead, it has its own internal format (which is much closer to HTTP than CGI). Just before the server calls its WSGI application, it uses a Gateway to convert its internal formats to WSGI. This means that wsgiserver can now support ''any'' version of WSGI, blessed by a given standards body or not. There's even a new 'native' gateway which doesn't use WSGI at all! CherryPy 3.2 ships with gateways for WSGI 1.0 (the long-time standard), WSGI 1.1 (see Graham Dumpleton's [http://blog.dscpl.com.au/2009/10/new-release-candidate-for-modwsgi-30-is.html blog] for details), and an experimental version we're calling `('u', 0)`, which uses full unicode strings for most environ keys and values.
+The wsgiserver is no longer hard-coded to emit WSGI 1.0; instead, it has its own internal format (which is much closer to HTTP than CGI). Just before the server calls its WSGI application, it uses a Gateway to convert its internal formats to WSGI. This means that wsgiserver can now support ''any'' version of WSGI, blessed by a given standards body or not. There's even a new 'native' gateway which doesn't use WSGI at all! CherryPy 3.2 ships with gateways for WSGI 1.0 (the long-time standard), which now includes support for WSGI 1.0.1 (see PEP 3333), and an experimental version we're calling `('u', 0)`, which uses full unicode strings for most environ keys and values.
 
 !InternalRedirect and exception trapping have been moved out of the WSGI application adapter and into WSGI components, so you can now turn them off to be even leaner and meaner. :)