Great job ! Congrats pylonauts ! :) -- Alexandre CONRAD
Ben Bangert wrote: > I'm thrilled to announce a new release of Pylons, with one of the > largest ticket fix counts of any Pylons release thus far. This > release and its associated updates have only been possible with the > growing and active Pylons community. A big shout-out to the many > contributions by Phil Jenvey, Ian Bicking, James Gardner, Mike Orr, > Shannon -jj Behrens, David Smith, Graham Higgins, and Wyatt Baldwin > for their work on Pylons, Routes the mail list, and the > documentation. Many thanks to the numerous others that have reported > bugs and helped out on IRC and the mail list over the past few months. > > Also, as Pylons uses so many contributed projects, there's work going > on to better integrate documentation across the smaller projects that > make up the whole. A first stab at this is being taken with the > Python Web Documentation effort which we realize not every single > 'python web' project will be using; but its our hope that smaller > WSGI based web components will put their docs up so they can all be > utilized in a single place. > > The new documentation wiki: > http://docs.pythonweb.org/ > > > And onto update news for 0.9.5! > > There's big change logs for both Pylons and Routes, with some > important updates in WebHelpers and Paste as well. > > First, the big improvements in 0.9.5, Unicode and i18n: > - Routes now translates utf-8 characters during both URL generation, > and URL recognition, many thanks to David Smith for numerous patches > - The Request now has an option so that all GET/POST arguments come > in as unicode, with the decoding you prefer > - i18n now uses code contributed from Aquarium by Shannon -jj Behrens > for translation fall-backs and has browser language matching code > - Optional lazy translation options contributed by David Smith > - Routes implicit defaults (action=index, id=None) can be turned off > per route with _explicit=True > - Routes memory can also be disabled by setting the mapper to > explicit=True, which will also disable the implicit defaults > > > Next, some backward compatibility changes: > > Webhelpers: > * WARNING: paginate now takes arguments intended for the collection > object as > query_args. This could affect backwards compatibility. This fixes > a common > issue that non-keyword arguments passed into paginate get eaten by > paginate's > keyword arguments instead of being in *args to go on to the > collection. > * WARNING: Due to a typo, the Text helper highlight function no longer > highlights text with the CSS class name 'hilight' by default: it > now uses the > CSS class name 'highlight' instead. The function's 'hilighter' > keyword > argument has also been deprecated, use 'highlighter' instead. > > Pylons: > * WARNING: Pylons now requires the decorator module: it no longer > packages > it as pylons.decorator. Code relying on the > pylons.decorator.decorator > function will trigger a deprecation warning and should be changed > to use > decorator.decorator. > * WARNING: pylons.h was deprecated for using projects' lib.helpers > module > directly in 0.9.3. pylons.h is now formally deprecated (emits > DeprecationWarnings). Projects still accessing pylons.h must > change the > following import: > from pylons import h > to: > import MYPROJ.lib.helpers as h > > > And finally, the full changelog of the various parts that make Pylons > what it is: > > PYLONS > * Fixed paster shell breaking for projects where the base package was > not > the first package listed in top_level.txt. Patch from Alberto > Valverde. > Fixes #229. > * Fixed doc references to config['app_conf']. Fixes #116. > * Changed `get_engine_conf` to properly evaluate sqlalchemy echo > statement > when its 'debug'. Fixes #226. > * make_session and create_engine now accept keyword arguments to pass to > SQLAlchemy's create_engine. > * make_session now accepts the keyword argument 'session_kwargs' to pass > to SQLAlchemy's create_session. > * Fixed _inspect_call to call function with keyword arguments instead > of list > args. Corrects issue with action defaults that caused the value > for the > latter args to be in the wrong spots. Spotted by Topher. Fixes #223. > * Added the allow_none option (passed to xmlrpc.dumps) to > XMLRPCController. > Suggested by Jaroslaw Zabiello. > * Updated XMLRPC Controller with patch for name lookup and additional > unit > tests for the patch. Fixes #216. > * Updated docs for validate decorator to more clearly illustrate what > the > post_only args apply to. Fixes #221. > * Added ability to return strings in the WSGIController. Fixes #218. > * Added lazy i18n translation functions. Patch from David Smith. > Fixes #181. > * Added fix for XMLRPCController system.methodHelp function and unit > test. > Patch and unit test submitted by Graham Higgins. > * Fixed bug in validate decorator with new UnicodeMultiDict response > content > not properly retaining form content as unicode for formencode's > htmlfill. > * Fixed bug in XMLRPC Controller with xmlrpclib Faults not being > properly > transformed into a WSGI response within the controller. > * WARNING: Pylons now requires the decorator module: it no longer > packages > it as pylons.decorator. Code relying on the > pylons.decorator.decorator > function will trigger a deprecation warning and should be changed > to use > decorator.decorator. > * WARNING: pylons.h was deprecated for using projects' lib.helpers > module > directly in 0.9.3. pylons.h is now formally deprecated (emits > DeprecationWarnings). Projects still accessing pylons.h must > change the > following import: > from pylons import h > to: > import MYPROJ.lib.helpers as h > * pylons.jsonify and pylons.Controller references have been deprecated > (they are misplaced references). They continue to be available at > pylons.decorators.jsonify and pylons.controllers.Controller, as > they always > have been. > * Updated templating Buffet to recognize format parameter and > properly pass it > to the template engine. > * Updated LICENSE for new year and to indicate license covering > templates > generated. Fixes #188. > * Interactive debugger now supports Mako. After r1780 if you are using a > custom theme you will need to change '%(myghty_data)s' to > '%(template_data)s' in your template. If you are using JavaScript > the tab > id is now "template_data". > * Fixed bug in WSGIController with private function attempts not > returning a > valid WSGI response. > * Added full unit test coverage of cache decorator. > * Adding messages binary file, enabling i18n unit tests. Updating > pylons.i18n > to import LanguageError. Fixes #193. > * Adding i18n tests, not active yet as they're waiting on a binary > file from a > patch. Refs #193. > * Updated tests so that they now work with nose, removing py.test > requirement. > * Switching config setup to load keys into main config dict with > app_conf and > global_conf keys set for any code looking for those keys. Fixes #116. > * PylonsInstaller is now the default paste.app_install entry point > for new > projects: this makes Cheetah no longer required for the paster > make-config > command. (Thanks Alexander Schremmer, Ian Bicking) > * Added custom redirect_to function in pylons.helpers that will take an > optional _response arg to pull headers and cookies out for > preservation > during a redirect. Fixes #136. > * Changed config.Config.__init__ to take all options as keyword args so > unused args can be skipped. Fixes #162. > * The request object can now automatically decode GET/POST/params > vars to > unicode, when its charset attribute is set. > * Added a new request_settings keyword arg to Config's constructor. > Allows > setting the default charset and errors values of of the request > object. > * Deprecated Config constructor's default_charset keyword arg. Use > Config's > response_settings keyword arg instead. > * Fixed paster controller to test for lib.base and only add that import > statement when its present. This fixes the controller template > when used with > minimal Pylons project templates. Fixes #140 and fixes #139. > * Fixed the paster shell error: KeyError: 'pylons.routes_dict' when > calling > app.get and app.post. > * Fixed paster shell not working on projects with names containing > hyphens. > * Fixed the config directive 'sqlalchemy.echo' set to False being > interpreted > as True. Patch by Alex Conrad. > * Fixed paster shell not restoring CONFIG['global_conf']. > > > ROUTES > * Fixed matching so that an attempt to match an empty path raises a > RouteException. Fixes #44. > * Added ability to use characters in URL's such as '-' and '_' in > map.resource. Patch by Wyatt Baldwin. Fixes #45. > * Updated Mapper.resource handling with name_prefix and path_prefix > checking > to specify defaults. Also ensures that should either of them be > set, they > override the prefixes should parent_resource be specified. Patch > by Wyatt > Baldwin. Fixes #42. > * Added utf-8 decoding of incoming path arguments, with fallback to > ignoring > them in the very rare cases a malformed request URL is sent. Patch > from > David Smith. > * Fixed treatment of '#' character as something that can be left off and > used in route paths. Found by Mike Orr. > * Added ability to specify parent resource to map.resource command. > Patch from > Wyatt Baldwin. > * Fixed formatted route issue with map.resource when additional > collection > methods are specified. Added unit tests to verify the collection > methods > work properly. > * Updated URL parsing to properly use HTTP_HOST for hostname + port > info before > falling back to SERVER_PORT and SERVER_NAME. Fixes #43. > * Added member_name and collection_name setting to Route object when > made with > map.resource. > * Updated routes.middleware to make the Routes matched accessible as > environ['routes.route']. > * Updating mapper object to use thread local for request data (such as > environ) and middleware now deletes environ references at the end > of the > request. > * Added explicit option to Routes and Mapper. Routes _explicit > setting will > prevent the Route defaults from being implicitly set, while > setting Mapper > to explicit will prevent Route implicit defaults and stop url_for > from using > Route memory. Fixes #38. > * Updated config object so that the route is attached if possible. > * Adding standard logging usage with debug messages. > * Added additional test for normal '.' match and fixed new special > matching to > match it properly. Thanks David Smith. > * Fixed hanging special char issue with 'special' URL chars at the > end of a URL > that are missing the variable afterwards. > * Changed Routes generation and recognition to handle other 'special' > URL chars > , . and ; as if they were /. This lets them be optionally left out > of the > resulting generated URL. Feature requested by David Smith. > * Fixed lookahead assertion in regexp builder to properly handle two > grouped > patterns in a row. > * Applied patch to generation and matching to handle Unicode characters > properly. Reported with patch by David Smith. > > > WEBHELPERS > * WARNING: paginate now takes arguments intended for the collection > object as > query_args. This could affect backwards compatibility. This fixes > a common > issue that non-keyword arguments passed into paginate get eaten by > paginate's > keyword arguments instead of being in *args to go on to the > collection. > * Added environ checking with Routes so that page will be > automatically pulled > out of the query string, or from the Routes match dict if available. > * Added ability for paginate to check for objects that had SQLAlchemy's > assign_mapper applied to them. > * Added better range checking to paginator to require a positive > value that is > less than the total amount of pages available for a page. > * WARNING: Due to a typo, the Text helper highlight function no longer > highlights text with the CSS class name 'hilight' by default: it > now uses the > CSS class name 'highlight' instead. The function's 'hilighter' > keyword > argument has also been deprecated, use 'highlighter' instead. > * Fixed the broken markdown function. > * Upgraded markdown from 1.5 to 1.6a. > * Sync'd Prototype helper to 6057. > * Sync'd Urls helper to 6070. > * Sync'd Text helper to 6096. > * Sync'd Date helper to 6080. > * Sync'd Tags helper to 5857. > * Sync'd Asset tag helper to 6057. > * Sync'd Rails Number helper to 6045. > * Updated Ajax commands to internally use 'with_' to avoid name > conflicts with > Python 2.5 and beyond. Reported by anilj. Fixes #190. > * Applied patch from David Smith to decode URL parts as Routes does. > Fixes #186. > * Changed pagination to give better response if its passed an invalid > object. > Patch from Christoph Haas. > * Fixed scriptaculous helper docs example. Fixes #178. > * Updated scriptaculous/prototype to Prototype 1.5.0 and > Scriptaculous 1.7.0. > * Updated scriptaculous javascripts to 1.6.5. Fixes #155. > * Updated remote_function doc-string to more clearly indicate the > arguments > it can receive. > * Synced Rails Javascript helper to 5245 (escape_javascript now escaping > backslashes and allow passing html_options to javascript_tag). > > > PASTE > * In ``paste.httpserver`` remove the reverse DNS lookup to set > ``REMOTE_HOST`` > > * In ``paste.fileapp``, if the client sends both If-None-Match and > If-Modified-Since, prefer If-None-Match. Make ETags include the > size as well as last modified timestamp. Make it possible to > override how mimetypes are guessed. > > * ``HTTPException`` objects now have a ``exc.response(environ)`` > method that returns a ``WSGIResponse`` object. > > * ``egg:Paste#watch_threads`` will show tracebacks of each thread > under Python 2.5. > > * Made ``paste.util.template`` trim whitespace around statements that > are on their own line. > > * ``paste.fileapp.DataApp`` now accepts ``allowed_headers=[...]`` to > specify the allowed headers. By default only ``GET`` and ``HEAD`` > are allowed. > > * Added ``paste.util.import_string.try_import_module``, which imports > modules and catches ``ImportError``, but only if it's an error > importing the specific module, not an uncaught ``ImportError`` in > the module being imported. > > PASTESCRIPT > 1.3.3 > ----- > > * Fixed problem with ``paster serve`` on Windows. Also on Windows, > fixed issue with executables with spaces in their names (this case > requires the ``win32all`` module). > > * You can use ``+dot+`` in your project template filenames, > specifically so that you can use leading dots in the filename. > Usually leading dots cause the file to be ignored. So if you want > to have new projects contain a ``.cvsignore`` file, you can put a > ``+dot+cvsignore`` file in your template. > > * Relatedly, ``+plus+`` has been added so you can include pluses. > > 1.3.2 > ----- > > * ``paster`` was largely broken under Windows; fixed. > > 1.3.1 > ----- > > * Fix related to Python 2.5 (when there are errors creating files, you > could get infinite recursion under Python 2.5). > > * Use ``subprocess`` module in ``paster serve`` command. Added > ``--monitor`` option which will restart the server if it exits. > > * The ``exe`` command now does % substitution in keys (e.g., > ``pid_file=%(here)s/paste.pid``). > > * Some import problems with Cheetah should be improved. > > 1.3 > --- > > * Fixed an exception being raised when shutting down flup servers using > sockets. > > * Fixed the CherryPy 3 WSGI server entry point's handling of SIGHUP > and SIGTERM. > > * The CherryPy wsgiserver is now available at > ``paste.script.wsgiserver`` (no longer requiring CherryPy to be > installed). > > * Added entry point for twisted server. > > * Made ``paste.script.pluginlib:egg_info_dir`` work with packages that > put the ``Package.egg-info/`` directory in a subdirectory (typically > ``src/``). > > * Remove Cheetah requirement. Packages using Cheetah templates should > require Cheetah themselves. If you are using ``paster make-config`` > and you *don't* want to use Cheetah, you must add ``use_cheetah = > False`` to your ``Installer`` subclass (it defaults to true for > backward compatibility). > > * Make scripts work when there is no ``setup.py`` (if you aren't > making a Python/setuptools package). > > * When using ``paste.script.copydir.copy_dir`` (as with most ``paster > create`` templates), you can raise ``SkipTemplate`` (or call the > ``skip_template()`` function) which will cause the template to be > skipped. You can use this to conditionally include files. > > * When using ``paster serve c:/...``, it should no longer confuse > ``c:`` with a scheme (such as ``config:`` or ``egg:``). > > * More careful about catching import errors in ``websetup``, so if you > have a bug in your ``app.websetup`` module it won't swallow it. > > > Cheers, > Ben > > > > > > --------------------------------------------------------------------------------------------------- > Texte inséré par Platinum 2007: > > S'il s'agit d'un mail indésirable (SPAM), cliquez sur le lien suivant pour > le reclasser : http://127.0.0.1:6083/Panda?ID=pav_33855&SPAM=true > --------------------------------------------------------------------------------------------------- > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [EMAIL PROTECTED] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
