Awesome. Great work to all!

As a newbie to Pylons, I can see that the folks in the IRC channel
have been a great help and give me much to be excited about in my
coming work with Pylons. Specifically, I appreciate the quick work on
paster in Windows.

Thanks for all the hard work!

/alex

On 4/12/07, Ben Bangert <[EMAIL PROTECTED]> 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
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to