* Updated project template to support full_stack option to make it easier to
use Pylons apps within larger WSGI stacks.
* Added deprecation warnings to legacy objects and for 1.0 functionality that
* Added cache decorator and Cheetah template functional tests. Patch and unit
tests provided by Climbus.
* Fixed readline support in the stock interactive console paster shell.
Reported by Alex Conrad.
* A controller's __after__ method will now be called after actions invoke
redirect_to (or raise any HTTPException). Reported by David Turner.
* Fixed config to use myghty_data_dir instead of cache_dir setting if its
set as well. Reported by Shannon -jj Behrens.
* Added traceback hiding so that more of the traceback relating to Pylons code
is removed from the default traceback making it easier to focus on the code
in an app that actually caused the problem. Closes #119.
* Added ability to use '_' translation method directly from templates and in
the controller without having to use it under h._.
* Added 's' and 'l' Myghty escaping flags to default project templates.
Suggested by Jamie Wilkinson. Closes #110.
* Fixed SCGI bug with QUERY_STRING test when WSGI states it doesn't have to
exist. Reported by Riklaunim.
* Added pylons_minimal template, prone to fine-tuning.
* Added option for PylonsApp to take a globals object to avoid checking a
hardcoded path for a Globals object.
* Removed old Helpers legacy object entirely, replaced pylons.h with proper
StackedObjectProxy. Cleaned up PylonsApp and PylonsBaseApp to accept a
helpers reference so that Pylons can be ignorant of where the helpers came
* Fixed bug with lang app_conf option being set improperly. Reported
* Fixed pylons.h to work proper with new and old-style helper imports.
* Fixed render functions always passing disable_unicode=False to Myghty.
0.9.2 (Sept. 7th, 2006)
* Fixed problem with dashes in controller names, resolves #107.
* Updated default ini file to use localhost from address. Refs #104.
* Updated default development.ini to use a single cache_dir setting which
is the base dir that cache files, session files, and template caching will
be saved in. Config object now looks to cache_dir setting properly for
Myghty templates. Fixes #104.
* Updated default template controller to provide better example of directly
serving Myghty templates.
* Fixed legacy (0.8) controller methods' **ARGS (also m.request_args and
pylons.params) to be of the expected mixed dictionary instead of MultiDict.
* Fixed _attach_locals not attaching g and cache objects.
* Added g object to the shell. Works as long as the Pylons app can respond
to a path of '/'. The pylons.g variable will also be setup properly for
use in the shell.
* Myghty template options are now passed properly to the template creation, and
allow_globals now works to add Myghty template globals.
* Re-organized helpers, switched Helpers class to use static methods to reduce
* Helpers cleanup:
- Old-style Helper object uses StackedObjectProxy just like the new
scheme, thus avoiding possible WSGI stack issues.
- New project templates use new-style Helpers scheme.
- Updated wsgiapp to utilize new Helpers cleanup style. The 'h' object
is now friendlier to use, and maps directly to a projects lib.helpers
file. No more wacky Helpers object proxying to it.
- Added translator global to __init__.py for use with new Helpers cleanup.
- Copied Helpers function methods directly into util so they can be used
- Deprecated h.lang (for h.set_lang/h.get_lang)
* Moved the 'default_charset' option from PylonsApp's constructor to
* Added 'error' controller route to the top of the Pylons template to avoid
the common issue people discover when removing the generic default route.
* Changing validate decorator to have variable_decode option, which will
also run formencode's variable_decode function over the form input.
* Switched to using Context obj classes instead of RequestLocal which is
being phased out.
* Added an 'encode_variables' option to the validate decorator.
* Switched all current_obj calls to _current_obj to avoid triggering
* Added is_xhr to Request object in Paste.
* Bumping up dependency to latest Paste.
* Switching back to prior controller import check, throwing a more detailed
error with a suggest fix should the user really want a URL with that name
in it. (refs #67)
* Fixes bug with prior fix for #67. Wasn't properly testing the full package
name to include the current project which would incorrectly restrict
valid controller names (refs #67).
* Fixed '_method_' checking to test in a more efficient manner.
* Added deprecation warning for legacy mode activation. Not necessary to
update multiple files, as all of legacy mode is enabled via the Legacy
WSGI app. Fixes #89.
* Fixed controller command to check controller name and refuse to create
controllers that have name clashes with existing modules that could be
imported. Reported (with patch) by Chuck Adams. Fixes #67.
* Added capability for 'c' object to throw an exception when an attribute
is used that doesn't exist. Closes #84.
* Fix for endless error document call when an error document controller
wants to throw a error that the error_mapper catches.
0.9.1 (August 11th, 2006)
* Fixed __all__ export typo in templating.py. Added example of render
with a template.
* Fixed issue with set_lang not using proper CONFIG var.
* Minor tweaks to update docs in pylons.helpers and move remaining legacy
code into legacy module. Updated wsgiapp to refer to new locations of
legacy compatibility objects.
* The interactive debugger's 'full traceback' link is now only displayed
when the full traceback differs from the regular (includes hidden
* Providing an optional text version of exception tracebacks and the
associated extra data within the interactive debugger.
* The 'Debug at: http://hostname/_debug/view/XXXXX' URLs now display the
interactive debugger properly skinned.
* Fixed issue in PasteScript with new controller sub-directories lacking a
__init__.py file. This fixes an import error when using the controller.
PasteScript dependency updated to fixed version. Reported by Artur Lew.
* Removed lowercasing of the module name during resolver import.
* Removed [full] recommendation from docs.
0.9 (July 28th, 2006)
* config file option 'debug' now defaults to false when undefined
* Removed the components directory from the template
* Updated paste.errordocuments support
* Fix for multi-word controller names such that front_page /
FrontPageController can be used as a controller name. Patch contributed
by Timo Mihaljov.
* Cleaned up imports in wsgiapp and new project to better reflect where
things really come from.
* Removed unnecessary myghty usage from wsgiapp for url unescaping, now
uses urllib as the myghty function did.
* Removing 'response' to import, sticking with Response as its more
consistent with the fact that Response is a class/factory and not an
instance like request, and the other lower-case objects.
* Added redirect_to under pylons.helpers, and added import from helpers
directly into lib/base.py for use in controllers.
* Consolidated legacy objects into legacy module.
* Adding abort method that raises the appropriate exception for the status
* Removing form_fill, obsolete by the validate decorator.
* Relocated 'params' object to only take effect in legacy mode.
* Updated Pylons template to use WSGIController as the new default Controller.
* Altered the wsgi dispatch to examine the controller, and instantiate it if
it's just a class. Otherwise, if the controller is a subclass of Controller
but not of WSGIController, it assumes its an older Controller class that
may return a WSGIResponse, and calls it appropriately.
* Dispatch now fixes up environ to move 'path_info' Route var into the WSGI
PATH_INFO, and the rest is pushed into SCRIPT_NAME. This is for use with
other WSGI apps under controller mount points.
* Added WSGIController which takes a normal WSGI interface call and returns
the appropriate WSGI response.
* Added automatic copying of Route variables declared in an action's
function definition to the 'c' object.
* WebHelpers' .js files are now automatically published under the
* Added exception toss when a template engine doesn't exist.
* Added alias option to Buffet to support aliasing more template engines
to other engine names
* Buffet enhancements to support caching of any template with any template
* All render commands processed through Buffet
* Backwards compatibility 'm' object for use with legacy projects
* Added use of Beaker middleware for session and caching functionality
* Fixed error traceback and updated template to use proper error images and
* Fixed default controller to allow for actions with - in them. The - will be
replaced with an underscore, while the original action name in the mapper
dict is unchanged. Patch by Thomas Sidwick.
0.8.1 (May 10th, 2006)
* Added REST decorators and re-arranged decorator layout to support more styles
of decorators for future expansion.
* Fixed dependency requirement bug that had Pylons locked to simplejson 1.1
even though a newer version was out.