0.1.6 - fix to module_directory path generation when the path is "./" [ticket:34] - TGPlugin passes options to string-based templates [ticket:35] 0.1.5 - AST expression generation - added in just about everything expression-wise from the AST module [ticket:26] - AST parsing, properly detects imports of the form "import foo.bar" [ticket:27] - fix to lexing of <%docs> tag nested in other tags - fix to context-arguments inside of <%include> tag which broke during 0.1.4 [ticket:29] - added "n" filter, disables *all* filters normally applied to an expression via <%page> or default_filters (but not those within the filter) - added buffer_filters argument, defines filters applied to the return value of buffered/cached/filtered %defs, after all filters defined with the %def itself have been applied. allows the creation of default expression filters that let the output of return-valued %defs "opt out" of that filtering via passing special attributes or objects. 0.1.4 - got defs-within-defs to be cacheable - fixes to code parsing/whitespace adjusting where plain python comments may contain quote characters [ticket:23] - fix to variable scoping for identifiers only referenced within functions - added a path normalization step to lookup so URIs like "/foo/bar/../etc/../foo" pre-process the ".." tokens before checking the filesystem - fixed/improved "caller" semantics so that undefined caller is "UNDEFINED", propigates __nonzero__ method so it evaulates to False if not present, True otherwise. this way you can say % if caller:\n ${caller.body()}\n% endif - <%include> has an "args" attribute that can pass arguments to the called template (keyword arguments only, must be declared in that page's <%page> tag.) - <%include> plus arguments is also programmatically available via self.include_file(<filename>, **kwargs) - further escaping added for multibyte expressions in %def, %call attributes [ticket:24] 0.1.3 - ***Small Syntax Change*** - the single line comment character is now *two* hash signs, i.e. "## this is a comment". This avoids a common collection with CSS selectors. - the magic "coding" comment (i.e. # coding:utf-8) will still work with either one "#" sign or two for now; two is preferred going forward, i.e. ## coding:<someencoding>. - new multiline comment form: "<%doc> a comment </%doc>" - UNDEFINED evaluates to False - improvement to scoping of "caller" variable when using <%call> tag - added lexer error for unclosed control-line (%) line - added "preprocessor" argument to Template, TemplateLookup - is a single callable or list of callables which will be applied to the template text before lexing. given the text as an argument, returns the new text. - added mako.ext.preprocessors package, contains one preprocessor so far: 'convert_comments', which will convert single # comments to the new ## format 0.1.2 - fix to parsing of code/expression blocks to insure that non-ascii characters, combined with a template that indicates a non-standard encoding, are expanded into backslash-escaped glyphs before being AST parsed [ticket:11] - all template lexing converts the template to unicode first, to immediately catch any encoding issues and ensure internal unicode representation. - added module_filename argument to Template to allow specification of a specific module file - added modulename_callable to TemplateLookup to allow a function to determine module filenames (takes filename, uri arguments). used for [ticket:14] - added optional input_encoding flag to Template, to allow sending a unicode() object with no magic encoding comment - "expression_filter" argument in <%page> applies only to expressions - added "default_filters" argument to Template, TemplateLookup. applies only to expressions, gets prepended to "expression_filter" arg from <%page>. defaults to ["unicode"], so that all expressions get stringified into u'' by default (this is what Mako already does). By setting to [], expressions are passed through raw. - added "imports" argument to Template, TemplateLookup. so you can predefine a list of import statements at the top of the template. can be used in conjunction with default_filters. - support for CRLF templates...whoops ! welcome to all the windows users. [ticket:16] - small fix to local variable propigation for locals that are conditionally declared - got "top level" def calls to work, i.e. template.get_def("somedef").render() 0.1.1 - buffet plugin supports string-based templates, allows ToscaWidgets to work [ticket:8] - AST parsing fixes: fixed TryExcept identifier parsing - removed textmate tmbundle from contrib and into separate SVN location; windows users cant handle those files, setuptools not very good at "pruning" certain directories - fix so that "cache_timeout" parameter is propigated - fix to expression filters so that string conversion (actually unicode) properly occurs before filtering - better error message when a lookup is attempted with a template that has no lookup - implemented "module" attribute for namespace - fix to code generation to correctly track multiple defs with the same name - "directories" can be passed to TemplateLookup as a scalar in which case it gets converted to a list [ticket:9] 0.1.0 Initial release.