Skip to content
Snippets Groups Projects
CHANGES 5.21 KiB
Newer Older
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.
Mike Bayer's avatar
Mike Bayer committed
0.1.4
- got defs-within-defs to be cacheable
Mike Bayer's avatar
Mike Bayer committed
- 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
Mike Bayer's avatar
Mike Bayer committed
  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
  
- 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()
- 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]
Mike Bayer's avatar
Mike Bayer committed
0.1.0

Initial release.